View Slide
機械学習を始めるための第一歩@tkengo2017.10.20 LINE Developer MeetUp in Tokyo #21
ࣗݾհ立石 賢吾LINE Fukuoka 株式会社データ分析チーム所属KENGO TATEISHI
機械学習を始めるための第一歩アジェンダ• 機械学習をはじめる• 機械学習を理解する• 機械学習を実装する• まとめ
機械学習をはじめる機械学習をはじめる
機械学習のイメージ機械学習をはじめる
機械学習のイメージプログラマが考える機械学習• 数学必須?• 難しそう?• 人工知能?数学ムズすぎ理論わからん遠い世界機械学習をはじめる
機械学習のイメージプログラマが考える機械学習• 数学必須?• 難しそう?• 人工知能?理論わからん遠い世界数学ムズすぎというイメージを捨てます機械学習をはじめる
機械学習を始めるためにまずは理解できる楽しさを知ろう!• いきなり難しい理論は誰だって無理• 一昔前に比べて豊富な入門者向けリソース• 連載記事、オンラインコース、書籍、etc機械学習をはじめる
機械学習を理解する機械学習を理解する
機械学習を理解する機械学習ってすごい?→ すごい機械学習を理解するために機械学習ってなんでもできる?→ なんでもはできない
機械学習を理解する機械学習を理解するために機械学習の本質• 「すごいけどなんでもはできない」• 人工知能 ≠ 機械学習• 人間には発見が難しいパターン(ルール)を発見するのが仕事
機械学習の本質• 「すごいけどなんでもはできない」• 人工知能 ≠ 機械学習• 人間には発見が難しいパターン(ルール)を発見するのが仕事機械学習を理解する機械学習を理解するためにパターン(ルール)の発見とは
機械学習を理解するパターン(ルール)の発見最も単純な例題• たとえば広告費とクリック数の関係• 広告費が増える程クリック数も増加• 広告費とクリック数をプロットした図• ここにはどういうパターンが存在する?クリック数広告費
広告費とクリック数の関係性を考える• 広告費を50円増やすとクリック数は機械学習を理解するパターン(ルール)の発見クリック数広告費どれくらい増える?+50円
10,000回の広告クリック広告費とクリック数の関係性を考える• 10,000回のクリック数をかせぐには機械学習を理解するパターン(ルール)の発見クリック数広告費いくら広告費をかければ良い?
広告費とクリック数の関係を定式化• 傾きと切片をもつ一次関数を想像•• この と が関係性を示すパターン• この と をデータから導き出す機械学習を理解するパターン(ルール)の発見xyy = ax + ba ba b
パターンからの予測• もし だったら機械学習を理解するパターン(ルール)の発見xya = 100, b = 1000y = 100x + 1000
パターンからの予測• 広告費を50円増やすとクリック数は機械学習を理解するパターン(ルール)の発見どれくらい増える?→ クリック数は約5,000回増えるxy
パターンからの予測• 10,000回のクリック数をかせぐには機械学習を理解するパターン(ルール)の発見いくら広告費をかければ良い?→ 約90円の広告費をかければ達成xy
機械学習を理解するパターン(ルール)の発見機械学習の本質• パターン(ルール) = 未知のパラメータ ( や などの未知数)• 現実問題に応用する場合はパラメータ数がとても多い。重みと言う場合もある。• データから未知のパラメータを探索• 発見されたパラメータによる予測/推測a b
機械学習を理解するパターン(ルール)の発見機械学習の本質• パターン(ルール) = 未知のパラメータ ( や などの未知数)• 現実問題に応用する場合はパラメータ数がとても多い• データから未知のパラメータの探索• 発見されたパラメータによる予測/推測a bこれがイメージできるようになることが大事
機械学習を理解するパターン(ルール)の発見機械学習の本質• このような未知のパラメータを探す手法を理解するために数学知識が必要• 数学的背景に目が向くことは多いが本質も理解する• その上で…
理論を理解する冒頭に紹介した本書では先に話したような内容を皮切りに、機械学習の理解に必要な数学の知識をやさしく解説しています。機械学習を理解する最小二乗法、勾配降下法、尤度関数、正則化など…
機械学習を実装する機械学習を実装する
実装までの道のり理論を理解した次のステップ→ 実際に機械学習を使い始めてみる• 何に適用すれば?• どう応用すれば?機械学習を実装する
理論と実装のギャップ• 実際は勾配法や正則化の実装などしない• from sklearn import linear_model• この1行に先人たちが実装してきたいろんな理論が詰め込まれている• 理論解説には登場しなかった多くの前処理• 欠損値処理、異常値除去、正規化、白色化、など…機械学習を実装する実装までの道のり
理論と実装のギャップ• だいたい一発ではうまくいかない• おもってたんと違う• アルゴリズム、素性、ハイパーパラメータの選定• バリデーションデータの概念• 実験、改善の繰り返し機械学習を実装する実装までの道のり
理論と実装のギャップ• 理論だけ学んでも知らないことはいっぱいテストコードレビューデプロイ運用学習データ管理ドキュメント整備機械学習を実装する実装までの道のり
手を動かして学ぶ• 座学だけでなんとかなるほど世の中は甘くない• 公開されたデータセットでの練習 → 実データへの応用• 最初から数百万件規模の大量のデータを目指す必要はない• 実運用中のDBから適当にデータを抜いて試すのもOK機械学習を実装する実装までの道のり
知識のインプットを止めない• なるべく多くの例題や手法に触れる• 手を動かしていくうちにわからないことが出てきてまた調べる• 継続的な知識のインプット機械学習を実装する実装までの道のり
まとめまとめ
まとめプログラミングはじめたての頃の想い出• 仕組みを理解できた時の楽しさ• プログラムが動いた時の楽しさ• 勉強を継続できたモチベーションは? → 楽しい機械学習を始めるための第一歩
機械学習を始めるための第一歩理解できる楽しさを知る→ 機械学習のイメージを掴む実装できる楽しさを知る→ 手を動かして練習するまとめ環境は既に整っている
機械学習を始めるための第一歩まとめ理論 実践(わかる|できる)楽しさを知る
機械学習を始めるための第一歩まとめ理論 実践どちらも大事
機械学習を始めるための第一歩まとめ理論 実践どちらから始めますか?
We’re hiringまとめhttps://linecorp.com/ja/career/kyoto京都オフィスエンジニア募集中一緒に働きませんか?最新の採用情報をチェック →