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
360
スタートアップで役割をまっとうする技術
tkengo
0
120
TableauやLookerだけじゃない!QuickSightで作る顧客向けダッシュボード
tkengo
1
200
toypoインフラリプレースのお話
tkengo
0
9
レポート化の落とし穴
tkengo
0
110
PHP and sometimes Machine Learning
tkengo
3
1.1k
機械学習と数学とプログラマのための数学勉強会
tkengo
0
530
CNNによるテキスト分類
tkengo
1
47k
指数の裏側
tkengo
1
350
Other Decks in Technology
See All in Technology
心が動くエンジニアリング ── 私が夢中になる理由
16bitidol
0
100
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
260
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
170
OTelCol_TailSampling_and_SpanMetrics
gumamon
1
200
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
430
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
420
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
160
The Role of Developer Relations in AI Product Success.
giftojabu1
0
140
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.9k
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
243
12k
Automating Front-end Workflow
addyosmani
1366
200k
Speed Design
sergeychernyshev
25
620
Being A Developer After 40
akosma
87
590k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Statistics for Hackers
jakevdp
796
220k
Practical Orchestrator
shlominoach
186
10k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
100
Agile that works and the tools we love
rasmusluckow
327
21k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
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 京都オフィスエンジニア募集中 一緒に働きませんか? 最新の採用情報をチェック →