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
180
機械学習を始めるための第一歩
けんご
October 20, 2017
Tweet
Share
More Decks by けんご
See All by けんご
いいたいことちゃんという
tkengo
0
10
スタートアップで役割をまっとうする技術
tkengo
0
67
TableauやLookerだけじゃない!QuickSightで作る顧客向けダッシュボード
tkengo
1
140
toypoインフラリプレースのお話
tkengo
0
4
レポート化の落とし穴
tkengo
0
100
PHP and sometimes Machine Learning
tkengo
3
1k
機械学習と数学とプログラマのための数学勉強会
tkengo
0
500
CNNによるテキスト分類
tkengo
1
46k
指数の裏側
tkengo
1
260
Other Decks in Technology
See All in Technology
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
350
開発パフォーマンスを最大化するための開発体制
ham0215
2
320
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
510
KubeCon EU 2024 Recap “Kubernetes Policy Time Machine: Where to Next?”
ryysud
0
210
Azureの基本的な権限管理の勉強会
yhana
0
220
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
340
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
300
開発生産性向上サービスを作るFindyが自分たちで開発生産性を爆上げした組織づくりの歩み / Findy's path to boosting its own development productivity 2024-04-17
ma3tk
3
650
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
3
13k
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
160
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
210
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
350
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
8
2.4k
Making Projects Easy
brettharned
108
5.5k
The Invisible Side of Design
smashingmag
294
49k
Art, The Web, and Tiny UX
lynnandtonic
289
19k
[RailsConf 2023] Rails as a piece of cake
palkan
23
3.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
357
22k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
The Cult of Friendly URLs
andyhume
74
5.7k
Typedesign – Prime Four
hannesfritz
36
2.1k
Music & Morning Musume
bryan
41
5.6k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
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 京都オフィスエンジニア募集中 一緒に働きませんか? 最新の採用情報をチェック →