SlideShare a Scribd company logo
Pythonを使った機械学習の学習
2017年1月27日
found it project セミナー
加藤公一
シルバーエッグ・テクノロジー(株)
自己紹介
加藤公一(かとうきみかず)
シルバーエッグ・テクノロジー(株)
チーフサイエンティスト
Twitter: @hamukazu
博士(情報理工学)、修士は数学
機械学習歴もPython歴も4年
趣味:筋トレ、特技:ベンチプレス
今日のはなし
• 機械学習の学習の話
– どのように勉強するとよいか
• 私はどのように学習したか
– 4年前は初心者
ちなみに…
http://bit.ly/kimikazu20140913 http://bit.ly/kimikazu20160204
いままでPythonの高速化芸を得意としてきました。
PyCon JP 2014 ソフトウェアジャパン2016
今日はその話はしません。
宣伝
http://bit.ly/yoseiml
書きました!
宣伝
http://bit.ly/kagakupy
訳しました!
今日の話
• 機械学習を効率よく勉強するにはどうすれば
いいだろうか
• ただツールを使うだけではなく内部動作にも
詳しくなるために
• 理解を助けるツールとしてのPython
私はどうやって勉強したか
• 本(論文)を読む
• 自分で実装する
– 人工データで振る舞いを確認する
– 内部動作を可視化する
• 既存の実装を見る
– ソースコードを読む
– 内部データを読む
まずはこれ
さらにその前に
• 線形代数
• 微積分
自分で実装する
• 便利なライブラリがあっても、理解のためにあ
えて自分で作ってみる
– 参考例:大学のクラスで学習するソートのアルゴ
リズム→機能を得ることが目的ではない、便利な
ライブラリならいくらでもある
• 最新の論文に出ているアルゴリズムは自分
で実装せざるをえないことも
– 意外と簡単につくれる
人工データでの確認
I1 I2 I3 I4 I5
U1 1 1 1
U2 1 1 1
U3 1 1 1
U4 1 1 ? ? ?
レコメンデーションの場合
ユーザU4には何を薦めればいい?
クラスタリングの場合
これを2つのクラスタに分ける
離れた2つの点を中心に正規分布した点をそれぞれ作る
こういう自明なケースで確認:単体テストとしても有効
内部動作の可視化
Metropolis-Hastingsアルゴリズム(MCMCの一
種)の動作原理を説明できますか?
とりあえず動かしてみよう
(PRMLより)
低次元のケースについて、実際に動かしてみて可視化する
他の例:Lasso
• Lassoの解がなぜsparseになるか説明できま
すか?
L2ノルムの最小化
直線と共有点を持つように
円(L2球)を最小化
L1ノルムの最小化
直線と共有点を持つように
ひし形(L1球)を最小化
このように…
• データが単純なとき(極端な分布のとき)、次
元が低いとき、など簡単なケースで実装して
試してみる
• 実用上の価値がなくても動作の理解には役
に立つ
数値的な解析に便利なツール
• Numpy/Scipy (これはあたりまえ)
• Sympy (あまり使わない?)
問題
次の機械学習でよく出てくる関数を微分せよ(制限時間各5秒)
答
数値微分はあまりよくないという話
実際にfの値を評価しながら計算すると、hが小さいとき
に桁落ちが起こって精度が落ちる
Sympy
• シンボリックな計算ができる
• 代数的な演算や、微分・積分などもシンボリッ
クに
既存のライブラリを使ってみる
• とりあえずはscikit-learn
• インターフェースが統一されてる
• ドキュメントも整備されている
みんな大好きあやめの分類
PCAで2次元に射影してからSVMで分類
これで喜んでていいの?
普通サポートベクタ知りたいよね?
サポートベクタの可視化
SVC.support_vector_でサポートベクタが取
得できる
(ドキュメントに書いてある)
Scikit-learnのよさ
• ドキュメントがよく書かれていて、内部データ
構造についても記述があるものが多い
• 内部データ構造を見ることで機械学習アルゴ
リズムの理解に役立つ
• それでも納得しなければソースコードを読め
ばいい
• とにかく深掘りしやすい環境
しかし…
• Scikit-learnがすべてではない
• 機械学習ライブラリの中にはドキュメントが不
親切なものも
Gensim
(自然言語処理のライブラリ)
チュートリアルにあるLDAを使ったトピック抽出例
文書群をトピックに分類し、各トピックではどのような単語が支配的かを可視化
LDAについて
D.M.Blei, A.Y.Ng, M.I.Jordan, "Latent Dirichlet Allocation" JMLR, vol.3,
pp.993-1022 (2003)
このようなグラフィカルモデルで表される
文書には潜在的なトピック群についての確率分布が割り当てられる
こんなデモでいいの?
その他の内部パラメータを可視化しなくない?
そのためには
• 内部データ構造について、ドキュメントにはな
にも書いていない
• なので、ソースコードを読まないとならない
• といっても、よく整理されているので読みやす
い
LDAのパラメータ
まとめ
• 中身を理解したかったら手を動かしながら勉
強しよう
• 理解のためのツールとしてもPythonは使える
• Sympyはいいぞ
私のキャリア戦略
• 「中身をよくわかっている」というのは競争力
になるのではないか
– より深いチューニング
– 最新の研究論文の実装・実験がスムーズに
良い理論ほど実用的なものはない
「科学技術計算のためのPython―確率・統計・機械学習」より

More Related Content

What's hot (20)

PDF
10分でわかるPythonの開発環境
Hisao Soyama
 
PPTX
数理最適化とPython
Yosuke Onoue
 
PDF
S08 t0 orientation
Takeshi Akutsu
 
PDF
S10 t1 spc_by_nowfromnow
Takeshi Akutsu
 
PDF
S09 t0 orientation
Takeshi Akutsu
 
PPTX
210526 Power Automate Desktop Python
Takuya Nishimoto
 
PDF
S12 t1 python学習奮闘記#5
Takeshi Akutsu
 
PDF
S01 t1 tsuji_pylearn_ut_01
Takeshi Akutsu
 
PDF
IntelliJ IDEAで快適なPython生活
敦志 金谷
 
PDF
養成読本と私
Kimikazu Kato
 
PDF
S18 t0 introduction
Takeshi Akutsu
 
PPTX
PyCon JP 2015 keynote
Haruo Sato
 
PDF
S01 t2 akutsu_my_pythonhistory
Takeshi Akutsu
 
PDF
まとめ
Takeshi Akutsu
 
PPTX
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
 
ODP
stapy#23 LT
NaoY-2501
 
PPTX
Pythonの会社を
9年間経営してきて分かったこと
Haruo Sato
 
PDF
S10 t0 orientation
Takeshi Akutsu
 
PDF
TFLite_and_PyTorch_Mobile
yusuke shibui
 
PDF
Python学習奮闘記#07 webapp
Takeshi Akutsu
 
10分でわかるPythonの開発環境
Hisao Soyama
 
数理最適化とPython
Yosuke Onoue
 
S08 t0 orientation
Takeshi Akutsu
 
S10 t1 spc_by_nowfromnow
Takeshi Akutsu
 
S09 t0 orientation
Takeshi Akutsu
 
210526 Power Automate Desktop Python
Takuya Nishimoto
 
S12 t1 python学習奮闘記#5
Takeshi Akutsu
 
S01 t1 tsuji_pylearn_ut_01
Takeshi Akutsu
 
IntelliJ IDEAで快適なPython生活
敦志 金谷
 
養成読本と私
Kimikazu Kato
 
S18 t0 introduction
Takeshi Akutsu
 
PyCon JP 2015 keynote
Haruo Sato
 
S01 t2 akutsu_my_pythonhistory
Takeshi Akutsu
 
まとめ
Takeshi Akutsu
 
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
 
stapy#23 LT
NaoY-2501
 
Pythonの会社を
9年間経営してきて分かったこと
Haruo Sato
 
S10 t0 orientation
Takeshi Akutsu
 
TFLite_and_PyTorch_Mobile
yusuke shibui
 
Python学習奮闘記#07 webapp
Takeshi Akutsu
 

Viewers also liked (20)

PDF
画像認識モデルを作るための鉄板レシピ
Takahiro Kubo
 
PDF
Pythonで機械学習入門以前
Kimikazu Kato
 
PPTX
Pythonとdeep learningで手書き文字認識
Ken Morishita
 
PDF
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tatsuya Tojima
 
PDF
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
 
PDF
機械学習チュートリアル@Jubatus Casual Talks
Yuya Unno
 
PDF
ルールベースから機械学習への道 公開用
nishio
 
PDF
実戦投入する機械学習
Takahiro Kubo
 
PDF
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
Naoki Yanai
 
PDF
パターン認識 第10章 決定木
Miyoshi Yuya
 
PDF
今日から使える! みんなのクラスタリング超入門
toilet_lunch
 
PPTX
Simple perceptron by TJO
Takashi J OZAKI
 
PDF
バンディットアルゴリズム入門と実践
智之 村上
 
PDF
決定木学習
Mitsuo Shimohata
 
PPTX
SVMについて
mknh1122
 
PDF
機会学習ハッカソン:ランダムフォレスト
Teppei Baba
 
PDF
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
Koichi Hamada
 
PDF
ロジスティック回帰の考え方・使い方 - TokyoR #33
horihorio
 
PDF
一般向けのDeep Learning
Preferred Networks
 
PDF
可視化周辺の進化がヤヴァイ 〜2016〜
Takashi Kitano
 
画像認識モデルを作るための鉄板レシピ
Takahiro Kubo
 
Pythonで機械学習入門以前
Kimikazu Kato
 
Pythonとdeep learningで手書き文字認識
Ken Morishita
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tatsuya Tojima
 
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
 
機械学習チュートリアル@Jubatus Casual Talks
Yuya Unno
 
ルールベースから機械学習への道 公開用
nishio
 
実戦投入する機械学習
Takahiro Kubo
 
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
Naoki Yanai
 
パターン認識 第10章 決定木
Miyoshi Yuya
 
今日から使える! みんなのクラスタリング超入門
toilet_lunch
 
Simple perceptron by TJO
Takashi J OZAKI
 
バンディットアルゴリズム入門と実践
智之 村上
 
決定木学習
Mitsuo Shimohata
 
SVMについて
mknh1122
 
機会学習ハッカソン:ランダムフォレスト
Teppei Baba
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
Koichi Hamada
 
ロジスティック回帰の考え方・使い方 - TokyoR #33
horihorio
 
一般向けのDeep Learning
Preferred Networks
 
可視化周辺の進化がヤヴァイ 〜2016〜
Takashi Kitano
 
Ad

Similar to Pythonを使った機械学習の学習 (20)

PDF
Pythonによる機械学習
Kimikazu Kato
 
PDF
機械学習ゴリゴリ派のための数学とPython
Kimikazu Kato
 
PDF
[第2版] Python機械学習プログラミング 第1章
Haruki Eguchi
 
PDF
Pythonによる機械学習の最前線
Kimikazu Kato
 
PPTX
[輪講] 第1章
Takenobu Sasatani
 
PDF
Hands on-ml section1-1st-half-20210317
Nagi Kataoka
 
PPTX
Machine learning
hiroyukikageyama2
 
PPTX
機械学習を始める前の「学習」
Serverworks Co.,Ltd.
 
PPTX
早稲田大学 理工メディアセンター 機械学習とAI セミナー: 機械学習入門
Daiyu Hatakeyama
 
PPTX
Machine learning
TakahiroBaba3
 
PPTX
機械学習の基礎
Ken Kumagai
 
PPTX
1028 TECH & BRIDGE MEETING
健司 亀本
 
PPTX
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
Shunsuke Nakamura
 
PPTX
Study ml
卓馬 三浦卓馬
 
PDF
機械学習 入門
Hayato Maki
 
PPTX
Tfug kansai vol1
Natsutani Minoru
 
PDF
Scikit learnで学ぶ機械学習入門
Takami Sato
 
PPTX
ae-2. 機械学習の基礎(教師なし学習,教師あり学習)
kunihikokaneko1
 
PPTX
「Python 機械学習プログラミング」 の挫折しない読み方
Hiroki Yamamoto
 
PDF
Rとpythonとjuliaで機械学習レベル4を目指す
yuta july
 
Pythonによる機械学習
Kimikazu Kato
 
機械学習ゴリゴリ派のための数学とPython
Kimikazu Kato
 
[第2版] Python機械学習プログラミング 第1章
Haruki Eguchi
 
Pythonによる機械学習の最前線
Kimikazu Kato
 
[輪講] 第1章
Takenobu Sasatani
 
Hands on-ml section1-1st-half-20210317
Nagi Kataoka
 
Machine learning
hiroyukikageyama2
 
機械学習を始める前の「学習」
Serverworks Co.,Ltd.
 
早稲田大学 理工メディアセンター 機械学習とAI セミナー: 機械学習入門
Daiyu Hatakeyama
 
Machine learning
TakahiroBaba3
 
機械学習の基礎
Ken Kumagai
 
1028 TECH & BRIDGE MEETING
健司 亀本
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
Shunsuke Nakamura
 
機械学習 入門
Hayato Maki
 
Tfug kansai vol1
Natsutani Minoru
 
Scikit learnで学ぶ機械学習入門
Takami Sato
 
ae-2. 機械学習の基礎(教師なし学習,教師あり学習)
kunihikokaneko1
 
「Python 機械学習プログラミング」 の挫折しない読み方
Hiroki Yamamoto
 
Rとpythonとjuliaで機械学習レベル4を目指す
yuta july
 
Ad

More from Kimikazu Kato (17)

PDF
Tokyo webmining 2017-10-28
Kimikazu Kato
 
PDF
Fast and Probvably Seedings for k-Means
Kimikazu Kato
 
PDF
Introduction to behavior based recommendation system
Kimikazu Kato
 
PDF
Sparse pca via bipartite matching
Kimikazu Kato
 
PDF
Introduction to NumPy for Machine Learning Programmers
Kimikazu Kato
 
PDF
Recommendation System --Theory and Practice
Kimikazu Kato
 
PDF
A Safe Rule for Sparse Logistic Regression
Kimikazu Kato
 
PDF
特定の不快感を与えるツイートの分類と自動生成について
Kimikazu Kato
 
PDF
Effective Numerical Computation in NumPy and SciPy
Kimikazu Kato
 
PDF
Sapporo20140709
Kimikazu Kato
 
PDF
【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...
Kimikazu Kato
 
PDF
Zuang-FPSGD
Kimikazu Kato
 
PDF
About Our Recommender System
Kimikazu Kato
 
PDF
ネット通販向けレコメンドシステム提供サービスについて
Kimikazu Kato
 
PPTX
関東GPGPU勉強会資料
Kimikazu Kato
 
PDF
2012-03-08 MSS研究会
Kimikazu Kato
 
PPTX
純粋関数型アルゴリズム入門
Kimikazu Kato
 
Tokyo webmining 2017-10-28
Kimikazu Kato
 
Fast and Probvably Seedings for k-Means
Kimikazu Kato
 
Introduction to behavior based recommendation system
Kimikazu Kato
 
Sparse pca via bipartite matching
Kimikazu Kato
 
Introduction to NumPy for Machine Learning Programmers
Kimikazu Kato
 
Recommendation System --Theory and Practice
Kimikazu Kato
 
A Safe Rule for Sparse Logistic Regression
Kimikazu Kato
 
特定の不快感を与えるツイートの分類と自動生成について
Kimikazu Kato
 
Effective Numerical Computation in NumPy and SciPy
Kimikazu Kato
 
Sapporo20140709
Kimikazu Kato
 
【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...
Kimikazu Kato
 
Zuang-FPSGD
Kimikazu Kato
 
About Our Recommender System
Kimikazu Kato
 
ネット通販向けレコメンドシステム提供サービスについて
Kimikazu Kato
 
関東GPGPU勉強会資料
Kimikazu Kato
 
2012-03-08 MSS研究会
Kimikazu Kato
 
純粋関数型アルゴリズム入門
Kimikazu Kato
 

Recently uploaded (10)

PDF
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
 
PDF
ABC2025S LT講演「世界の窓から Androidこんにちは2025」アプリ自動生成の将来?ロボティクスの夢再び?
嶋 是一 (Yoshikazu SHIMA)
 
PDF
[Hardening Designers Confernece 2025]ランサムウェアでの見えざるログ・見えるログ
kataware
 
PDF
プライバシ保護のためのインターネットアーキテクチャの進化 (2025-07-11)
Jun Kurihara
 
PDF
Hyperledger Fabric公式サンプル fabric-samples徹底解説
LFDT Tokyo Meetup
 
PDF
20250630_aws_reinforce_2025_aws_sheild_network_security_director
uedayuki
 
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー SIG-Audioプレゼン資料_オーディオプラグイン開発_塩澤達矢.pdf
IGDA Japan SIG-Audio
 
PDF
生成AIパネルトーク(Interop25Tokyo APPS JAPAN M1-07,M2-07 嶋ポジショントーク)
嶋 是一 (Yoshikazu SHIMA)
 
PDF
Hyperledger Fabric最新v3.x系での機能強化、変更点にキャッチアップ!
LFDT Tokyo Meetup
 
PDF
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜.pdf
Masaki Yamakawa
 
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
 
ABC2025S LT講演「世界の窓から Androidこんにちは2025」アプリ自動生成の将来?ロボティクスの夢再び?
嶋 是一 (Yoshikazu SHIMA)
 
[Hardening Designers Confernece 2025]ランサムウェアでの見えざるログ・見えるログ
kataware
 
プライバシ保護のためのインターネットアーキテクチャの進化 (2025-07-11)
Jun Kurihara
 
Hyperledger Fabric公式サンプル fabric-samples徹底解説
LFDT Tokyo Meetup
 
20250630_aws_reinforce_2025_aws_sheild_network_security_director
uedayuki
 
SIG-AUDIO 2025 Vol.02 オンラインセミナー SIG-Audioプレゼン資料_オーディオプラグイン開発_塩澤達矢.pdf
IGDA Japan SIG-Audio
 
生成AIパネルトーク(Interop25Tokyo APPS JAPAN M1-07,M2-07 嶋ポジショントーク)
嶋 是一 (Yoshikazu SHIMA)
 
Hyperledger Fabric最新v3.x系での機能強化、変更点にキャッチアップ!
LFDT Tokyo Meetup
 
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜.pdf
Masaki Yamakawa
 

Pythonを使った機械学習の学習