Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
機械学習を始めるための第一歩
Search
けんご
October 20, 2017
Technology
0
220
機械学習を始めるための第一歩
けんご
October 20, 2017
Tweet
Share
More Decks by けんご
See All by けんご
いいたいことちゃんという
tkengo
0
350
スタートアップで役割をまっとうする技術
tkengo
0
110
TableauやLookerだけじゃない!QuickSightで作る顧客向けダッシュボード
tkengo
1
200
toypoインフラリプレースのお話
tkengo
0
6
レポート化の落とし穴
tkengo
0
110
PHP and sometimes Machine Learning
tkengo
3
1.1k
機械学習と数学とプログラマのための数学勉強会
tkengo
0
530
CNNによるテキスト分類
tkengo
1
47k
指数の裏側
tkengo
1
340
Other Decks in Technology
See All in Technology
Railway Oriented Programming を オニオンアーキテクチャに適用する by kotlin-result / Railway Oriented Programming in Onion Architecture by kotlin-result
yuitosato
2
210
Aurora_BlueGreenDeploymentsやってみた
tsukasa_ishimaru
1
120
Kubernetes Summit 2024 Keynote:104 在 GitOps 大規模實踐中的甜蜜與苦澀
yaosiang
0
270
AWS SAW(AWS Support Automation Workflows)をもっと広めたい
kazzpapa3
2
170
Vueで Webコンポーネントを作って Reactで使う / 20241030-cloudsign-vuefes_after_night
bengo4com
3
180
TinyMLの技術動向
kyotomon
2
260
分布で見る効果検証入門 / ai-distributional-effect
cyberagentdevelopers
PRO
2
550
わたしとトラックポイント / TrackPoint tips
masahirokawahara
1
200
SwiftSyntaxでUIKitとSwiftUIの使用率を完璧に計測できちゃう件について
ldf_tech
0
160
Jamstack でリニューアルするグリーグループのメディア
gree_tech
PRO
2
220
Trusted Types API と Vue.js
lycorptech_jp
PRO
1
300
現地でMeet Upをやる場合の注意点〜反省点を添えて〜
shotashiratori
0
160
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
The Invisible Side of Design
smashingmag
297
50k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
41
9.2k
KATA
mclloyd
29
13k
Measuring & Analyzing Core Web Vitals
bluesmoon
0
29
Designing the Hi-DPI Web
ddemaree
280
34k
Building an army of robots
kneath
302
42k
YesSQL, Process and Tooling at Scale
rocio
167
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
664
120k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Transcript
None
機械学習を始めるための 第一歩 @tkengo 2017.10.20 LINE Developer MeetUp in Tokyo #21
ࣗݾհ 立石 賢吾 LINE Fukuoka 株式会社 データ分析チーム所属 KENGO TATEISHI
機械学習を始めるための第一歩 アジェンダ • 機械学習をはじめる • 機械学習を理解する • 機械学習を実装する • まとめ
機械学習をはじめる 機械学習をはじめる
機械学習のイメージ 機械学習をはじめる
機械学習のイメージ プログラマが考える機械学習 • 数学必須? • 難しそう? • 人工知能? 数学 ムズすぎ
理論 わからん 遠い世界 機械学習をはじめる
機械学習のイメージ プログラマが考える機械学習 • 数学必須? • 難しそう? • 人工知能? 理論 わからん
遠い世界 数学 ムズすぎ というイメージを捨てます 機械学習をはじめる
機械学習を始めるために まずは理解できる楽しさを知ろう! • いきなり難しい理論は誰だって無理 • 一昔前に比べて豊富な入門者向けリソース • 連載記事、オンラインコース、書籍、etc 機械学習をはじめる
機械学習を理解する 機械学習を理解する
機械学習を理解する 機械学習ってすごい? → すごい 機械学習を理解するために 機械学習ってなんでもできる? → なんでもはできない
機械学習を理解する 機械学習を理解するために 機械学習の本質 • 「すごいけどなんでもはできない」 • 人工知能 ≠ 機械学習 •
人間には発見が難しいパターン(ルール)を発見するのが仕事
機械学習の本質 • 「すごいけどなんでもはできない」 • 人工知能 ≠ 機械学習 • 人間には発見が難しいパターン(ルール)を発見するのが仕事 機械学習を理解する
機械学習を理解するために パターン(ルール)の発見とは
機械学習を理解する パターン(ルール)の発見 最も単純な例題 • たとえば広告費とクリック数の関係 • 広告費が増える程クリック数も増加 • 広告費とクリック数をプロットした図 •
ここにはどういうパターンが存在する? ク リ ッ ク 数 広告費
広告費とクリック数の関係性を考える • 広告費を50円増やすとクリック数は 機械学習を理解する パターン(ルール)の発見 ク リ ッ ク 数
広告費 どれくらい増える? +50円
10,000回の広告クリック 広告費とクリック数の関係性を考える • 10,000回のクリック数をかせぐには 機械学習を理解する パターン(ルール)の発見 ク リ ッ ク
数 広告費 いくら広告費をかければ良い?
広告費とクリック数の関係を定式化 • 傾きと切片をもつ一次関数を想像 • • この と が関係性を示すパターン • この と をデータから導き出す
機械学習を理解する パターン(ルール)の発見 x y y = ax + b a b a b
パターンからの予測 • もし だったら 機械学習を理解する パターン(ルール)の発見 x y a =
100, b = 1000 y = 100x + 1000
パターンからの予測 • 広告費を50円増やすとクリック数は 機械学習を理解する パターン(ルール)の発見 どれくらい増える? → クリック数は約5,000回増える x y
パターンからの予測 • 10,000回のクリック数をかせぐには 機械学習を理解する パターン(ルール)の発見 いくら広告費をかければ良い? → 約90円の広告費をかければ達成 x y
機械学習を理解する パターン(ルール)の発見 機械学習の本質 • パターン(ルール) = 未知のパラメータ ( や などの未知数) •
現実問題に応用する場合はパラメータ数がとても多い。重みと言う場合もある。 • データから未知のパラメータを探索 • 発見されたパラメータによる予測/推測 a b
機械学習を理解する パターン(ルール)の発見 機械学習の本質 • パターン(ルール) = 未知のパラメータ ( や などの未知数) •
現実問題に応用する場合はパラメータ数がとても多い • データから未知のパラメータの探索 • 発見されたパラメータによる予測/推測 a b これがイメージできる ようになることが大事
機械学習を理解する パターン(ルール)の発見 機械学習の本質 • このような未知のパラメータを探す手法を理解するために数学知識が必要 • 数学的背景に目が向くことは多いが本質も理解する • その上で…
理論を理解する 冒頭に紹介した本書では先に話したような内容を 皮切りに、機械学習の理解に必要な数学の知識を やさしく解説しています。 機械学習を理解する 最小二乗法、勾配降下法、尤度関数、正則化など…
機械学習を実装する 機械学習を実装する
実装までの道のり 理論を理解した次のステップ → 実際に機械学習を使い始めてみる • 何に適用すれば? • どう応用すれば? 機械学習を実装する
理論と実装のギャップ • 実際は勾配法や正則化の実装などしない • from sklearn import linear_model • この1行に先人たちが実装してきたいろんな理論が詰め込まれている
• 理論解説には登場しなかった多くの前処理 • 欠損値処理、異常値除去、正規化、白色化、など… 機械学習を実装する 実装までの道のり
理論と実装のギャップ • だいたい一発ではうまくいかない • おもってたんと違う • アルゴリズム、素性、ハイパーパラメータの選定 • バリデーションデータの概念 •
実験、改善の繰り返し 機械学習を実装する 実装までの道のり
理論と実装のギャップ • 理論だけ学んでも知らないことはいっぱい テスト コード レビュー デプロイ 運用 学習データ 管理
ドキュメント 整備 機械学習を実装する 実装までの道のり
手を動かして学ぶ • 座学だけでなんとかなるほど世の中は甘くない • 公開されたデータセットでの練習 → 実データへの応用 • 最初から数百万件規模の大量のデータを目指す必要はない •
実運用中のDBから適当にデータを抜いて試すのもOK 機械学習を実装する 実装までの道のり
知識のインプットを止めない • なるべく多くの例題や手法に触れる • 手を動かしていくうちにわからないことが出てきてまた調べる • 継続的な知識のインプット 機械学習を実装する 実装までの道のり
まとめ まとめ
まとめ プログラミングはじめたての頃の想い出 • 仕組みを理解できた時の楽しさ • プログラムが動いた時の楽しさ • 勉強を継続できたモチベーションは? → 楽しい
機械学習を始めるための第一歩
機械学習を始めるための第一歩 理解できる楽しさを知る → 機械学習のイメージを掴む 実装できる楽しさを知る → 手を動かして練習する まとめ 環境は既に整っている
機械学習を始めるための第一歩 まとめ 理論 実践 (わかる|できる)楽しさを知る
機械学習を始めるための第一歩 まとめ 理論 実践 どちらも大事
機械学習を始めるための第一歩 まとめ 理論 実践 どちらから始めますか?
We’re hiring まとめ https://linecorp.com/ja/career/kyoto 京都オフィスエンジニア募集中 一緒に働きませんか? 最新の採用情報をチェック →