SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
Scikit-learnで学ぶ機械学習入門 
佐藤貴海 
@tkm2261 
2014/07/19@機械学習勉強会 
機械学習勉強会 1 2014年7月19日
今日の目的 
•機械学習の雰囲気感じる 
–『こいつ・・・動くぞ!』くらい 
–わかりやすさ>>>厳密性 
–理論勉強するのも、威力を知ったあとの方が捗る 
•深入りはしない 
–紹介量を優先 
機械学習勉強会 2 2014年7月19日
自己紹介 
専門:経営工学/最適化 
所属:(株)ブレインパッド入社2年目 
業務:データ分析全般(何でも屋さん) 
機械学習との出会い: 
⇒研究が現在実用性皆無の半正定値計画問題 
⇒精神の逃げ道として機械学習を趣味で始める 
⇒研究が詰んで、趣味が本職に 
趣味で始めたので言語、画像など幅広く遊んでます 
この前、多摩川のほとりで1人燻製してきました。 
機械学習勉強会 3 2014年7月19日
Scikit-learnってなに? 
•Pythonの機械学習ライブラリ 
–無料・有料含めて、コレほど充実したライブラリは他にない 
–ほぼデファクトスタンダード状態(と思っている) 
機械学習勉強会 4 2014年7月19日 
利点(対R) 
・高速 
・省メモリ 
・Pythonなので言語基盤がしっかりしている 
・検索しやすい 欠点(対R) 
・カテゴリカル変数の処理(factor型は無い) 
・環境構築が面倒
環境構築 
•よくわからない人 
⇒Anacondaを入れましょう 
Python導入、環境変数設定、Scikit-learn導入、IDE導入全部やってくれます 
機械学習勉強会 5 2014年7月19日 
http://continuum.io/downloads
環境構築 
機械学習勉強会 6 2014年7月19日 
•こだわりたい人 
•Windowsユーザ 
⇒GohlkeのページでMKLビルドのNumpyを入れましょう 
保証はないので、自己責任で
環境構築 
機械学習勉強会 7 2014年7月19日 
•こだわりたい人 
•Linuxユーザ 
非商用個人ならインテルコンパイラとMKLが無料で使える 
それ以外は、OpenBLASが高速 
インストール方法はGithubにあげました 
OpenBLASはmultiprocessingとの相性が悪いので要注意 
WindowsでOpenBLASは鬼門なのでやめましょう https://software.intel.com/en-us/non-commercial-software-development 
インストール方法はコチラ https://software.intel.com/en-us/articles/numpyscipy-with-intel-mkl?language=eshttp://gehrcke.de/2014/02/building-numpy-and-scipy-with-intel-compilers-and- intel-mkl-on-a-64-bit-machine/ 
https://github.com/anaguma2261/setup_python_with_openblas
機械学習勉強会 8 2014年7月19日 
脱線:BLASとLAPACK 
数値計算をやると裏で必ずお世話になるのがこの2つ 
Basic Linear Algebra Subprograms (BLAS) 
-線型代数計算を実行するライブラリの標準仕様 
Linear Algebra PACKage(LAPACK) 
-BLAS上に構築された固有値計算などの高位な線形代数計算ライブラリ 
現在様々なBLAS実装が公開されている 
Intel MKL…MATLABはコレ有償すごく速い・高い・安心! 
ATLAS…自動チューンのBLASBSD速い 
GotoBLAS2…後藤和茂氏作成のBLASBSDかなり速い開発停止 
OpenBLAS…xianyi氏によるGotoBLAS2の後継BLASBSDすごく速い 
(MATLAB, R, Octave, numpy…) 
計算が遅い時、4つのどれかの導入すると幸せになれるかも? 
・・・
脱線:BLASの比較 
機械学習勉強会 9 2014年7月19日 
引用:R BLAS: GotoBLAS2 vsOpenBLASvsMKL (http://blog.felixriedel.com/2012/11/r-blas-gotoblas2-vs-openblas-vs-mkl/) 
実行コード 
A = matrix(rnorm(n*n),n,n) 
A %*% A 
solve(A) 
svd(A) 
RのデフォルトBLASから何倍早くなったか検証してるサイトがあったので紹介 
最大で11倍ほど高速化 
MKLが基本的に一番高速 
OpenBLASも所によってはMKLを上回ることも 
マルチスレッド環境では導入は必須かも
機械学習勉強会 10 2014年7月19日 
Scikit-learnの前に機械学習の流れもおさらい 
脱線してますが、
機械学習の流れ 
機械学習勉強会 11 2014年7月19日 
分析対象のデータを集める。趣味でやる場合には、結構重要 
最も苦痛を伴う作業。機械学習モデルに渡せる方に整形する 
カテゴリカル変数のダミー変数化、欠損値穴埋め、変数の作成等 
問題に合わせて適当な手法を選択する。 
リッジ回帰、SVM、RandomForest、決定木、k-meansなど 
手法のハイパーパラメータを選択する。 
リッジ回帰の正則化項、決定木の木の深さなど 
尤度最大化などで学習。Scikit-learnがやってくれるので割愛 
問題に合わせて適当な評価尺度を選択する。 
精度、F値、平均二乗誤差、AUCなど 
①データの入手 
②データの前処理 
③手法選択 
④ハイパー 
パラメータ選択 
⑥モデル評価 
精度 
は十分か 
⑤モデル学習 
NO 
YES 
成功! 
手法を 変える 
パラメタを 変える
データを集めて・前処理する 
機械学習勉強会 12 2014年7月19日 
①データの入手 
②データの前処理 
③手法選択 
④ハイパー 
パラメータ選択 
⑥モデル評価 
精度 
は十分か 
⑤モデル学習 
NO 
YES 
成功! 
手法を 変える 
パラメタを 変える 
趣味でやると、手法は知ってても、 
データが無いことが多数 
いくつか、データのある場所を紹介 
◆練習用データ 
・Kagglehttps://www.kaggle.com/ 
・UCI Machine Learning Repository 
http://archive.ics.uci.edu/ml/ 
◆テキストデータ(日本語) 
・2ch 
・TwitterStreamingAPI 
・Wikipediaダンプデータ 
・青空文庫 
前処理はひたすら頑張って下さい。 
ここでどんな変数を作るかで、かなり(一番?)利きます 
Scikit-learnやpandasに便利関数アリ
パラメータの探索 
機械学習勉強会 13 2014年7月19日 
①データの入手 
②データの前処理 
③手法選択 
④ハイパー 
パラメータ選択 
④モデル評価 
精度 
は十分か 
④モデル学習 
NO 
YES 
成功! 
手法を 変える 
パラメタを 変える 
この一連の流れ 
(良いパラメータの発見)を効率良く行う方法が 
交差検定(Cross-validation ) 
グリッドサーチ 
どちらもscikit-learnにあります
交差検定(k-fold cross validation ) 
機械学習勉強会 14 2014年7月19日 
①データの入手 
②データの前処理 
③手法選択 
④ハイパー 
パラメータ選択 
⑥モデル評価 
精度 
は十分か 
⑤モデル学習 
NO 
YES 
成功! 
手法を 変える 
パラメタを 変える 
学習と評価には、学習データと検証データが必要 
ただし、別々に用意すると・・・ 
・検証データを学習に全く使えない 
・検証データが偶然良い(悪い)可能性 
交差検定をしよう!
交差検定(k-fold cross validation ) 
機械学習勉強会 15 2014年7月19日 
5-fold cross validation のイメージ(レコードは最初にランダムに並べ替え済みとする) 
テスト用のレコードセット 
学習用のレコードセット 
学習と精度評価をk回繰り返し、平均値を精度の推定値とする手法 
・検証データを学習に全く使えない 
k-1回は学習に使用 
・検証データが偶然良い(悪い)可能性 
k回評価で偶然性を極力排除
グリッドサーチ(気合) 
機械学習勉強会 16 2014年7月19日 
①データの入手 
②データの前処理 
③手法選択 
④ハイパー 
パラメータ選択 
⑥モデル評価 
精度 
は十分か 
⑤モデル学習 
NO 
YES 
成功! 
手法を 変える 
パラメタを 変える 
良いパラメータって 
どうやって見つけるの? 
グリッドサーチ(気合)です。
グリッドサーチ 
機械学習勉強会17 2014年7月19日 
探索するパラメータの範囲を決めて、適当な間隔で切る。(指数の肩で切ることが多い) 
あとは切ったパラメータを総当りで検証して、最も良いパラメータを見つける 
パラメータ2つの例、この場合は81回学習と検証をする必要 
さらに細かく学習したいときは、指数の底を小さい値にする 
引用: http://xargs.hateblo.jp/entry/2014/02/09/005058
パラメータの探索 
機械学習勉強会 18 2014年7月19日 
①データの入手 
②データの前処理 
③手法選択 
④ハイパー 
パラメータ選択 
⑥モデル評価 
精度 
は十分か 
⑤モデル学習 
NO 
YES 
成功! 
手法を 変える 
パラメタを 変える 
グリッドサーチ 
交差検定 
学習と評価 
まとめると、こんな感じ
パラメータの探索 
機械学習勉強会 19 2014年7月19日 
先ほどのパラメータ(81種)を10-fold 交差検定すると 
810回学習と検証が必要
パラメータの探索 
機械学習勉強会 20 2014年7月19日 
先ほどのパラメータ(81種)を10-fold 交差検定すると 
810回学習と検証が必要 
Q:解けるの?
パラメータの探索 
機械学習勉強会 21 2014年7月19日 
先ほどのパラメータ(81種)を10-fold 交差検定すると 
810回学習と検証が必要 
Q:解けるの? 
A:気合です
パラメータの探索 
機械学習勉強会 22 2014年7月19日 
先ほどのパラメータ(81種)を10-fold 交差検定すると 
810回学習と検証が必要 
Q:本当に解けるの?
パラメータの探索 
機械学習勉強会 23 2014年7月19日 
先ほどのパラメータ(81種)を10-fold 交差検定すると 
810回学習と検証が必要 
Q:本当に解けるの? 
A:完全並列出来る計算なので 
810台サーバがあれば 
最近のGoogleは真顔でこのぐらい言ってきます
パラメータの探索 
機械学習勉強会 24 2014年7月19日 
先ほどのパラメータ(81種)を10-fold 交差検定すると 
810回学習と検証が必要 
Q:クラスタ組めない
パラメータの探索 
機械学習勉強会 25 2014年7月19日 
先ほどのパラメータ(81種)を10-fold 交差検定すると 
810回学習と検証が必要 
Q:クラスタ組めない 
A:弊社のを買って下さい
パラメータの探索 
機械学習勉強会 26 2014年7月19日 
先ほどのパラメータ(81種)を10-fold 交差検定すると 
810回学習と検証が必要 
Q:クラスタ組めない 
A:弊社のを買って下さい 
最近はクラウド上の機械学習も有ります。 http://jp.techcrunch.com/2014/06/17/20140616microsoft-announces-azure-ml- cloud-based-machine-learning-platform-that-can-predict-future-events/
機械学習勉強会 27 2014年7月19日 
これで、今日からデータサイエンティスト
・・・とは行かない 
機械学習勉強会 28 2014年7月19日 
①データの入手 
②データの前処理 
③手法選択 
④ハイパー 
パラメータ選択 
⑥モデル評価 
精度 
は十分か 
⑤モデル学習 
NO 
YES 
成功! 
手法を 変える 
パラメタを 変える 
適切な手法の選択が 
機械学習で最も重要かつ難しい問題
適切な手法の選択 
機械学習勉強会 29 2014年7月19日 
Q:常に最適な手法ってあるの? 
A:ありません 
Q:どうやったら最適な手法を選べるの? 
A:機械学習を体系的に学び、 
経験を積んで、更に運が必要 
Q:詰んでない? 
A:なんとかするのが、今日の議題
現状ベストアンサー:scikit-learnに任せる 
機械学習勉強会 30 2014年7月19日 
『Scikit-learnにできる事』≒『自分にできること』 
これで最近は問題が無いことが多い http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
実装の雰囲気 
機械学習勉強会 31 2014年7月19日 
importnumpy 
fromsklearn.cross_validationimportcross_val_score 
#使いたい手法をインポート 
fromsklearn.hogehogeimportsome_machine_learning_method 
for パラメータin (グリッドサーチの探索範囲): 
#手法のインスタンスを生成 
model =some_machine_learning_method(パラメータ) 
#お手軽交差検定 
cv_scores=cross_val_score(model, 説明変数, 目的変数) 
#交差検定の各学習のスコア平均値を計算 
score =numpy.mean(cv_scores) 
これでScikit-learnの大体の手法は、これで使えるはず 
リッジ回帰の例をGithubにあげました https://github.com/anaguma2261/scikit-learn-sample/blob/master/ridge_regression.py
手法の種類 
•Classification(分類) 
–ラベルをデータで学習して、ラベルを予測 
•Regression(回帰) 
–実数値をデータで学習して、実数値を予測 
•Clustering(クラスタリング) 
–データを似ているもの同士を集めて、データの構造を発見 
•DimensionalReduction(次元削減) 
–データの次元を削減して、よりメタな要因を発見 
(主成分分析は次元削減のひとつ) 
–削減した次元をデータにして他の手法を行う 
(次元の呪い回避) 
機械学習勉強会 32 2014年7月19日
Classification(分類) 
•SVM (SVC, LinearSVC) 
–利点 
•汎化性能が高く、少量のデータでもうまく学習出来る事がある 
•カーネルの組み合わせで様々データに対応できる 
–欠点 
•カーネル入れると遅い 
•関数によっては、予測確率で出力できない 
•K-近傍法(NearestNeighbors) 
–利点 
•単純な割に精度が高い 
–欠点 
•予測時にもメモリに学習データを格納する必要がある 
•ランダムフォレスト(RandomForestClassifier) 
–利点 
•精度が高いことが多い 
•並列計算しやすい 
•過学習や、変数のスケールを考えずに、全て変数を入れて学習できる 
–欠点 
•ランダムフォレスト信者になりやすい 
機械学習勉強会 33 2014年7月19日
Classification(分類) 
•確率的勾配法による学習(SGDClassifier) 
–これは手法でなく学習方法 
–データが大きい時に、データを一部づつを見て 
学習の計算をサボって高速化 
–オプションで、SVMやロジスティック回帰が選択可能 
機械学習勉強会 34 2014年7月19日
Regression(回帰) 
機械学習勉強会 35 2014年7月19日 
•重回帰(LinearRegression) 
–利点・・・速い(パラメータ無し) 
–欠点・・・Scikit-learnにstepwise法が無いので、使いにくい 
•リッジ回帰(Ridge) 
–利点・・・ラッソより速い、多重線形性の影響を受けにくい 
–欠点・・・ラッソに比べて、変数選択力が弱い 
•ラッソ回帰(Lasso) 
–利点・・・少ない変数でモデルを作ってくれる 
–欠点・・・リッジよりは遅い、使わない変数があることを仮定している 
•SVR(SVR) 
–利点・・・カーネルで非線形性を取り込める 
–欠点・・・カーネルを入れると遅い 
•ランダムフォレスト(RandomForestRegressor) 
–Classificationを参照回帰では予測値が離散になる欠点がある
Clustering(クラスタリング) 
•K-means法(KMeans) 
–利点・・・速いMiniBatchKMeansは計算をサボってるので更に速い 
–欠点・・・クラスタ数を最初に与えないといけない 
•階層的クラスタリング(AgglomerativeClustering) 
最近実装されたので表には無い 
–利点・・・クラスタ数を後から色々変えられる 
–欠点・・・遅い、大きいデータは階層が表示出来ないことも 
•混合ガウス分布(GMM) 
–利点・・・各クラスタの所属確率が出る。 
–欠点・・・正規分布を仮定する 
•MeanShift(MeanShift) 
–使用経験がないのでノーコメント誰か教えて下さい 
機械学習勉強会 36 2014年7月19日
DimensionalReduction(次元削減) 
機械学習勉強会 37 2014年7月19日 
Scikit-learnのフローチャートに語れる手法があまりなかったので、私がよく使う手法を紹介 
•主成分分析(PCA) 
–利点・・・速い疎行列も扱える 
–欠点・・・裏で正規分布を仮定 
•非負値行列因子分解(NMF) 
–利点・・・要因の引き算を許さないことでより特徴を抽出できる事もある 
–欠点・・・非負行列限定 
その他、LDAやDeep Learningなどなども

Weitere ähnliche Inhalte

Was ist angesagt?

画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピTakahiro Kubo
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介Takaaki Hirano
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説Hironori Washizaki
 
自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)cvpaper. challenge
 
AutoEncoderで特徴抽出
AutoEncoderで特徴抽出AutoEncoderで特徴抽出
AutoEncoderで特徴抽出Kai Sasaki
 
カルマンフィルタ入門
カルマンフィルタ入門カルマンフィルタ入門
カルマンフィルタ入門Yasunori Nihei
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?hoxo_m
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量についてla_flance
 
AI活用人材になれ!(CDLE福岡勉強会#6).pdf
AI活用人材になれ!(CDLE福岡勉強会#6).pdfAI活用人材になれ!(CDLE福岡勉強会#6).pdf
AI活用人材になれ!(CDLE福岡勉強会#6).pdfssuser6ca4eb
 
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...西岡 賢一郎
 
モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019Yusuke Uchida
 
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)Satoshi Hara
 
【DL輪読会】A Path Towards Autonomous Machine Intelligence
【DL輪読会】A Path Towards Autonomous Machine Intelligence【DL輪読会】A Path Towards Autonomous Machine Intelligence
【DL輪読会】A Path Towards Autonomous Machine IntelligenceDeep Learning JP
 
Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介Kuninobu SaSaki
 
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までーDeep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までーnlab_utokyo
 
再現性問題は若手研究者の突破口
再現性問題は若手研究者の突破口再現性問題は若手研究者の突破口
再現性問題は若手研究者の突破口Yuki Yamada
 
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析Yuichi Yoshida
 

Was ist angesagt? (20)

画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
 
自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)
 
AutoEncoderで特徴抽出
AutoEncoderで特徴抽出AutoEncoderで特徴抽出
AutoEncoderで特徴抽出
 
カルマンフィルタ入門
カルマンフィルタ入門カルマンフィルタ入門
カルマンフィルタ入門
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量について
 
AI活用人材になれ!(CDLE福岡勉強会#6).pdf
AI活用人材になれ!(CDLE福岡勉強会#6).pdfAI活用人材になれ!(CDLE福岡勉強会#6).pdf
AI活用人材になれ!(CDLE福岡勉強会#6).pdf
 
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
 
モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019
 
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
 
一般向けのDeep Learning
一般向けのDeep Learning一般向けのDeep Learning
一般向けのDeep Learning
 
【DL輪読会】A Path Towards Autonomous Machine Intelligence
【DL輪読会】A Path Towards Autonomous Machine Intelligence【DL輪読会】A Path Towards Autonomous Machine Intelligence
【DL輪読会】A Path Towards Autonomous Machine Intelligence
 
Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介
 
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までーDeep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
 
再現性問題は若手研究者の突破口
再現性問題は若手研究者の突破口再現性問題は若手研究者の突破口
再現性問題は若手研究者の突破口
 
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
 

Andere mochten auch

python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集Hikaru Takemura
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境Hisao Soyama
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of PythonTakanori Suzuki
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門Hironori Sekine
 
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjpShinichi Nakagawa
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Etsuji Nakai
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようHiroshi Funai
 
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門RとPythonによるデータ解析入門
RとPythonによるデータ解析入門Atsushi Hayakawa
 
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングPython入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングYuichi Ito
 
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理Ken'ichi Matsui
 
統計学の基礎の基礎
統計学の基礎の基礎統計学の基礎の基礎
統計学の基礎の基礎Ken'ichi Matsui
 
EAGLE on PCB Design (EAGLEを使った回路・パターン設計)
EAGLE on PCB Design (EAGLEを使った回路・パターン設計)EAGLE on PCB Design (EAGLEを使った回路・パターン設計)
EAGLE on PCB Design (EAGLEを使った回路・パターン設計)Katsuhiro Morishita
 
回路設計者からみた電子部品
回路設計者からみた電子部品回路設計者からみた電子部品
回路設計者からみた電子部品Tsuyoshi Horigome
 
03 「重回帰分析」の入門
03 「重回帰分析」の入門03 「重回帰分析」の入門
03 「重回帰分析」の入門Shuhei Ichikawa
 
S07 Azure バックアップを利用したオンプレミス Windows Server のバックアップ
S07 Azure バックアップを利用したオンプレミス Windows Server のバックアップS07 Azure バックアップを利用したオンプレミス Windows Server のバックアップ
S07 Azure バックアップを利用したオンプレミス Windows Server のバックアップMicrosoft Azure Japan
 
DLL Community Update 10月版
DLL Community Update 10月版DLL Community Update 10月版
DLL Community Update 10月版Hirono Jumpei
 
Microsoft Ignite! AI ソリューションアップデート
Microsoft Ignite! AI ソリューションアップデートMicrosoft Ignite! AI ソリューションアップデート
Microsoft Ignite! AI ソリューションアップデートHirono Jumpei
 

Andere mochten auch (20)

python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
 
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
 
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門RとPythonによるデータ解析入門
RとPythonによるデータ解析入門
 
Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析
 
Gensim
GensimGensim
Gensim
 
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングPython入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
 
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
 
統計学の基礎の基礎
統計学の基礎の基礎統計学の基礎の基礎
統計学の基礎の基礎
 
EAGLE on PCB Design (EAGLEを使った回路・パターン設計)
EAGLE on PCB Design (EAGLEを使った回路・パターン設計)EAGLE on PCB Design (EAGLEを使った回路・パターン設計)
EAGLE on PCB Design (EAGLEを使った回路・パターン設計)
 
回路設計者からみた電子部品
回路設計者からみた電子部品回路設計者からみた電子部品
回路設計者からみた電子部品
 
03 「重回帰分析」の入門
03 「重回帰分析」の入門03 「重回帰分析」の入門
03 「重回帰分析」の入門
 
S07 Azure バックアップを利用したオンプレミス Windows Server のバックアップ
S07 Azure バックアップを利用したオンプレミス Windows Server のバックアップS07 Azure バックアップを利用したオンプレミス Windows Server のバックアップ
S07 Azure バックアップを利用したオンプレミス Windows Server のバックアップ
 
DLL Community Update 10月版
DLL Community Update 10月版DLL Community Update 10月版
DLL Community Update 10月版
 
Microsoft Ignite! AI ソリューションアップデート
Microsoft Ignite! AI ソリューションアップデートMicrosoft Ignite! AI ソリューションアップデート
Microsoft Ignite! AI ソリューションアップデート
 

Ähnlich wie Scikit learnで学ぶ機械学習入門

TensorFlow User Group #1
TensorFlow User Group #1TensorFlow User Group #1
TensorFlow User Group #1陽平 山口
 
分析・モニタリングのために作文活動を測定するシステムの設計
分析・モニタリングのために作文活動を測定するシステムの設計分析・モニタリングのために作文活動を測定するシステムの設計
分析・モニタリングのために作文活動を測定するシステムの設計yamahige
 
Machine Learning Nagoya 20161015
Machine Learning Nagoya 20161015Machine Learning Nagoya 20161015
Machine Learning Nagoya 20161015陽平 山口
 
Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御Ryosuke Okuta
 
MANABIYA Machine Learning Hands-On
MANABIYA Machine Learning Hands-OnMANABIYA Machine Learning Hands-On
MANABIYA Machine Learning Hands-On陽平 山口
 
20140711 evf2014 hadoop_recommendmachinelearning
20140711 evf2014 hadoop_recommendmachinelearning20140711 evf2014 hadoop_recommendmachinelearning
20140711 evf2014 hadoop_recommendmachinelearningTakumi Yoshida
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱Koichi ITO
 
自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性Takahiro Katagiri
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014Kazuhiro Suzuki
 
初めて機械学習を勉強しました
初めて機械学習を勉強しました初めて機械学習を勉強しました
初めて機械学習を勉強しました雄哉 吉田
 
機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlopsHiroaki Kudo
 
Scikit-learnを使って 画像分類を行う
Scikit-learnを使って 画像分類を行うScikit-learnを使って 画像分類を行う
Scikit-learnを使って 画像分類を行うArata Honda
 
データビジュアライゼーションもくもく会
データビジュアライゼーションもくもく会データビジュアライゼーションもくもく会
データビジュアライゼーションもくもく会dsuke Takaoka
 
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎Preferred Networks
 
Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるnobu_k
 
High performance python computing for data science
High performance python computing for data scienceHigh performance python computing for data science
High performance python computing for data scienceTakami Sato
 
機械学習を始める前の「学習」
機械学習を始める前の「学習」機械学習を始める前の「学習」
機械学習を始める前の「学習」Serverworks Co.,Ltd.
 
1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING健司 亀本
 
Et west テスト自動化_公開版
Et west テスト自動化_公開版Et west テスト自動化_公開版
Et west テスト自動化_公開版Noriyuki Mizuno
 

Ähnlich wie Scikit learnで学ぶ機械学習入門 (20)

TensorFlow User Group #1
TensorFlow User Group #1TensorFlow User Group #1
TensorFlow User Group #1
 
smarttrade勉強会
smarttrade勉強会smarttrade勉強会
smarttrade勉強会
 
分析・モニタリングのために作文活動を測定するシステムの設計
分析・モニタリングのために作文活動を測定するシステムの設計分析・モニタリングのために作文活動を測定するシステムの設計
分析・モニタリングのために作文活動を測定するシステムの設計
 
Machine Learning Nagoya 20161015
Machine Learning Nagoya 20161015Machine Learning Nagoya 20161015
Machine Learning Nagoya 20161015
 
Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御
 
MANABIYA Machine Learning Hands-On
MANABIYA Machine Learning Hands-OnMANABIYA Machine Learning Hands-On
MANABIYA Machine Learning Hands-On
 
20140711 evf2014 hadoop_recommendmachinelearning
20140711 evf2014 hadoop_recommendmachinelearning20140711 evf2014 hadoop_recommendmachinelearning
20140711 evf2014 hadoop_recommendmachinelearning
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
 
初めて機械学習を勉強しました
初めて機械学習を勉強しました初めて機械学習を勉強しました
初めて機械学習を勉強しました
 
機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops
 
Scikit-learnを使って 画像分類を行う
Scikit-learnを使って 画像分類を行うScikit-learnを使って 画像分類を行う
Scikit-learnを使って 画像分類を行う
 
データビジュアライゼーションもくもく会
データビジュアライゼーションもくもく会データビジュアライゼーションもくもく会
データビジュアライゼーションもくもく会
 
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
 
Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させる
 
High performance python computing for data science
High performance python computing for data scienceHigh performance python computing for data science
High performance python computing for data science
 
機械学習を始める前の「学習」
機械学習を始める前の「学習」機械学習を始める前の「学習」
機械学習を始める前の「学習」
 
1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING1028 TECH & BRIDGE MEETING
1028 TECH & BRIDGE MEETING
 
Et west テスト自動化_公開版
Et west テスト自動化_公開版Et west テスト自動化_公開版
Et west テスト自動化_公開版
 

Mehr von Takami Sato

Kaggle Santa 2019で学ぶMIP最適化入門
Kaggle Santa 2019で学ぶMIP最適化入門Kaggle Santa 2019で学ぶMIP最適化入門
Kaggle Santa 2019で学ぶMIP最適化入門Takami Sato
 
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision TreeNIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision TreeTakami Sato
 
Kaggle&競プロ紹介 in 中田研究室
Kaggle&競プロ紹介 in 中田研究室Kaggle&競プロ紹介 in 中田研究室
Kaggle&競プロ紹介 in 中田研究室Takami Sato
 
Quoraコンペ参加記録
Quoraコンペ参加記録Quoraコンペ参加記録
Quoraコンペ参加記録Takami Sato
 
Data Science Bowl 2017 Winning Solutions Survey
Data Science Bowl 2017Winning Solutions SurveyData Science Bowl 2017Winning Solutions Survey
Data Science Bowl 2017 Winning Solutions SurveyTakami Sato
 
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...Takami Sato
 
Overview of tree algorithms from decision tree to xgboost
Overview of tree algorithms from decision tree to xgboostOverview of tree algorithms from decision tree to xgboost
Overview of tree algorithms from decision tree to xgboostTakami Sato
 
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entriesIcml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entriesTakami Sato
 
AAをつくろう!
AAをつくろう!AAをつくろう!
AAをつくろう!Takami Sato
 
最適化超入門
最適化超入門最適化超入門
最適化超入門Takami Sato
 
Word2vecで大谷翔平の二刀流論争に終止符を打つ!
Word2vecで大谷翔平の二刀流論争に終止符を打つ!Word2vecで大谷翔平の二刀流論争に終止符を打つ!
Word2vecで大谷翔平の二刀流論争に終止符を打つ!Takami Sato
 
セクシー女優で学ぶ画像分類入門
セクシー女優で学ぶ画像分類入門セクシー女優で学ぶ画像分類入門
セクシー女優で学ぶ画像分類入門Takami Sato
 

Mehr von Takami Sato (12)

Kaggle Santa 2019で学ぶMIP最適化入門
Kaggle Santa 2019で学ぶMIP最適化入門Kaggle Santa 2019で学ぶMIP最適化入門
Kaggle Santa 2019で学ぶMIP最適化入門
 
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision TreeNIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
 
Kaggle&競プロ紹介 in 中田研究室
Kaggle&競プロ紹介 in 中田研究室Kaggle&競プロ紹介 in 中田研究室
Kaggle&競プロ紹介 in 中田研究室
 
Quoraコンペ参加記録
Quoraコンペ参加記録Quoraコンペ参加記録
Quoraコンペ参加記録
 
Data Science Bowl 2017 Winning Solutions Survey
Data Science Bowl 2017Winning Solutions SurveyData Science Bowl 2017Winning Solutions Survey
Data Science Bowl 2017 Winning Solutions Survey
 
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...
 
Overview of tree algorithms from decision tree to xgboost
Overview of tree algorithms from decision tree to xgboostOverview of tree algorithms from decision tree to xgboost
Overview of tree algorithms from decision tree to xgboost
 
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entriesIcml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
 
AAをつくろう!
AAをつくろう!AAをつくろう!
AAをつくろう!
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 
Word2vecで大谷翔平の二刀流論争に終止符を打つ!
Word2vecで大谷翔平の二刀流論争に終止符を打つ!Word2vecで大谷翔平の二刀流論争に終止符を打つ!
Word2vecで大谷翔平の二刀流論争に終止符を打つ!
 
セクシー女優で学ぶ画像分類入門
セクシー女優で学ぶ画像分類入門セクシー女優で学ぶ画像分類入門
セクシー女優で学ぶ画像分類入門
 

Kürzlich hochgeladen

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Kürzlich hochgeladen (8)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

Scikit learnで学ぶ機械学習入門

  • 1. Scikit-learnで学ぶ機械学習入門 佐藤貴海 @tkm2261 2014/07/19@機械学習勉強会 機械学習勉強会 1 2014年7月19日
  • 2. 今日の目的 •機械学習の雰囲気感じる –『こいつ・・・動くぞ!』くらい –わかりやすさ>>>厳密性 –理論勉強するのも、威力を知ったあとの方が捗る •深入りはしない –紹介量を優先 機械学習勉強会 2 2014年7月19日
  • 3. 自己紹介 専門:経営工学/最適化 所属:(株)ブレインパッド入社2年目 業務:データ分析全般(何でも屋さん) 機械学習との出会い: ⇒研究が現在実用性皆無の半正定値計画問題 ⇒精神の逃げ道として機械学習を趣味で始める ⇒研究が詰んで、趣味が本職に 趣味で始めたので言語、画像など幅広く遊んでます この前、多摩川のほとりで1人燻製してきました。 機械学習勉強会 3 2014年7月19日
  • 4. Scikit-learnってなに? •Pythonの機械学習ライブラリ –無料・有料含めて、コレほど充実したライブラリは他にない –ほぼデファクトスタンダード状態(と思っている) 機械学習勉強会 4 2014年7月19日 利点(対R) ・高速 ・省メモリ ・Pythonなので言語基盤がしっかりしている ・検索しやすい 欠点(対R) ・カテゴリカル変数の処理(factor型は無い) ・環境構築が面倒
  • 5. 環境構築 •よくわからない人 ⇒Anacondaを入れましょう Python導入、環境変数設定、Scikit-learn導入、IDE導入全部やってくれます 機械学習勉強会 5 2014年7月19日 http://continuum.io/downloads
  • 6. 環境構築 機械学習勉強会 6 2014年7月19日 •こだわりたい人 •Windowsユーザ ⇒GohlkeのページでMKLビルドのNumpyを入れましょう 保証はないので、自己責任で
  • 7. 環境構築 機械学習勉強会 7 2014年7月19日 •こだわりたい人 •Linuxユーザ 非商用個人ならインテルコンパイラとMKLが無料で使える それ以外は、OpenBLASが高速 インストール方法はGithubにあげました OpenBLASはmultiprocessingとの相性が悪いので要注意 WindowsでOpenBLASは鬼門なのでやめましょう https://software.intel.com/en-us/non-commercial-software-development インストール方法はコチラ https://software.intel.com/en-us/articles/numpyscipy-with-intel-mkl?language=eshttp://gehrcke.de/2014/02/building-numpy-and-scipy-with-intel-compilers-and- intel-mkl-on-a-64-bit-machine/ https://github.com/anaguma2261/setup_python_with_openblas
  • 8. 機械学習勉強会 8 2014年7月19日 脱線:BLASとLAPACK 数値計算をやると裏で必ずお世話になるのがこの2つ Basic Linear Algebra Subprograms (BLAS) -線型代数計算を実行するライブラリの標準仕様 Linear Algebra PACKage(LAPACK) -BLAS上に構築された固有値計算などの高位な線形代数計算ライブラリ 現在様々なBLAS実装が公開されている Intel MKL…MATLABはコレ有償すごく速い・高い・安心! ATLAS…自動チューンのBLASBSD速い GotoBLAS2…後藤和茂氏作成のBLASBSDかなり速い開発停止 OpenBLAS…xianyi氏によるGotoBLAS2の後継BLASBSDすごく速い (MATLAB, R, Octave, numpy…) 計算が遅い時、4つのどれかの導入すると幸せになれるかも? ・・・
  • 9. 脱線:BLASの比較 機械学習勉強会 9 2014年7月19日 引用:R BLAS: GotoBLAS2 vsOpenBLASvsMKL (http://blog.felixriedel.com/2012/11/r-blas-gotoblas2-vs-openblas-vs-mkl/) 実行コード A = matrix(rnorm(n*n),n,n) A %*% A solve(A) svd(A) RのデフォルトBLASから何倍早くなったか検証してるサイトがあったので紹介 最大で11倍ほど高速化 MKLが基本的に一番高速 OpenBLASも所によってはMKLを上回ることも マルチスレッド環境では導入は必須かも
  • 10. 機械学習勉強会 10 2014年7月19日 Scikit-learnの前に機械学習の流れもおさらい 脱線してますが、
  • 11. 機械学習の流れ 機械学習勉強会 11 2014年7月19日 分析対象のデータを集める。趣味でやる場合には、結構重要 最も苦痛を伴う作業。機械学習モデルに渡せる方に整形する カテゴリカル変数のダミー変数化、欠損値穴埋め、変数の作成等 問題に合わせて適当な手法を選択する。 リッジ回帰、SVM、RandomForest、決定木、k-meansなど 手法のハイパーパラメータを選択する。 リッジ回帰の正則化項、決定木の木の深さなど 尤度最大化などで学習。Scikit-learnがやってくれるので割愛 問題に合わせて適当な評価尺度を選択する。 精度、F値、平均二乗誤差、AUCなど ①データの入手 ②データの前処理 ③手法選択 ④ハイパー パラメータ選択 ⑥モデル評価 精度 は十分か ⑤モデル学習 NO YES 成功! 手法を 変える パラメタを 変える
  • 12. データを集めて・前処理する 機械学習勉強会 12 2014年7月19日 ①データの入手 ②データの前処理 ③手法選択 ④ハイパー パラメータ選択 ⑥モデル評価 精度 は十分か ⑤モデル学習 NO YES 成功! 手法を 変える パラメタを 変える 趣味でやると、手法は知ってても、 データが無いことが多数 いくつか、データのある場所を紹介 ◆練習用データ ・Kagglehttps://www.kaggle.com/ ・UCI Machine Learning Repository http://archive.ics.uci.edu/ml/ ◆テキストデータ(日本語) ・2ch ・TwitterStreamingAPI ・Wikipediaダンプデータ ・青空文庫 前処理はひたすら頑張って下さい。 ここでどんな変数を作るかで、かなり(一番?)利きます Scikit-learnやpandasに便利関数アリ
  • 13. パラメータの探索 機械学習勉強会 13 2014年7月19日 ①データの入手 ②データの前処理 ③手法選択 ④ハイパー パラメータ選択 ④モデル評価 精度 は十分か ④モデル学習 NO YES 成功! 手法を 変える パラメタを 変える この一連の流れ (良いパラメータの発見)を効率良く行う方法が 交差検定(Cross-validation ) グリッドサーチ どちらもscikit-learnにあります
  • 14. 交差検定(k-fold cross validation ) 機械学習勉強会 14 2014年7月19日 ①データの入手 ②データの前処理 ③手法選択 ④ハイパー パラメータ選択 ⑥モデル評価 精度 は十分か ⑤モデル学習 NO YES 成功! 手法を 変える パラメタを 変える 学習と評価には、学習データと検証データが必要 ただし、別々に用意すると・・・ ・検証データを学習に全く使えない ・検証データが偶然良い(悪い)可能性 交差検定をしよう!
  • 15. 交差検定(k-fold cross validation ) 機械学習勉強会 15 2014年7月19日 5-fold cross validation のイメージ(レコードは最初にランダムに並べ替え済みとする) テスト用のレコードセット 学習用のレコードセット 学習と精度評価をk回繰り返し、平均値を精度の推定値とする手法 ・検証データを学習に全く使えない k-1回は学習に使用 ・検証データが偶然良い(悪い)可能性 k回評価で偶然性を極力排除
  • 16. グリッドサーチ(気合) 機械学習勉強会 16 2014年7月19日 ①データの入手 ②データの前処理 ③手法選択 ④ハイパー パラメータ選択 ⑥モデル評価 精度 は十分か ⑤モデル学習 NO YES 成功! 手法を 変える パラメタを 変える 良いパラメータって どうやって見つけるの? グリッドサーチ(気合)です。
  • 17. グリッドサーチ 機械学習勉強会17 2014年7月19日 探索するパラメータの範囲を決めて、適当な間隔で切る。(指数の肩で切ることが多い) あとは切ったパラメータを総当りで検証して、最も良いパラメータを見つける パラメータ2つの例、この場合は81回学習と検証をする必要 さらに細かく学習したいときは、指数の底を小さい値にする 引用: http://xargs.hateblo.jp/entry/2014/02/09/005058
  • 18. パラメータの探索 機械学習勉強会 18 2014年7月19日 ①データの入手 ②データの前処理 ③手法選択 ④ハイパー パラメータ選択 ⑥モデル評価 精度 は十分か ⑤モデル学習 NO YES 成功! 手法を 変える パラメタを 変える グリッドサーチ 交差検定 学習と評価 まとめると、こんな感じ
  • 19. パラメータの探索 機械学習勉強会 19 2014年7月19日 先ほどのパラメータ(81種)を10-fold 交差検定すると 810回学習と検証が必要
  • 20. パラメータの探索 機械学習勉強会 20 2014年7月19日 先ほどのパラメータ(81種)を10-fold 交差検定すると 810回学習と検証が必要 Q:解けるの?
  • 21. パラメータの探索 機械学習勉強会 21 2014年7月19日 先ほどのパラメータ(81種)を10-fold 交差検定すると 810回学習と検証が必要 Q:解けるの? A:気合です
  • 22. パラメータの探索 機械学習勉強会 22 2014年7月19日 先ほどのパラメータ(81種)を10-fold 交差検定すると 810回学習と検証が必要 Q:本当に解けるの?
  • 23. パラメータの探索 機械学習勉強会 23 2014年7月19日 先ほどのパラメータ(81種)を10-fold 交差検定すると 810回学習と検証が必要 Q:本当に解けるの? A:完全並列出来る計算なので 810台サーバがあれば 最近のGoogleは真顔でこのぐらい言ってきます
  • 24. パラメータの探索 機械学習勉強会 24 2014年7月19日 先ほどのパラメータ(81種)を10-fold 交差検定すると 810回学習と検証が必要 Q:クラスタ組めない
  • 25. パラメータの探索 機械学習勉強会 25 2014年7月19日 先ほどのパラメータ(81種)を10-fold 交差検定すると 810回学習と検証が必要 Q:クラスタ組めない A:弊社のを買って下さい
  • 26. パラメータの探索 機械学習勉強会 26 2014年7月19日 先ほどのパラメータ(81種)を10-fold 交差検定すると 810回学習と検証が必要 Q:クラスタ組めない A:弊社のを買って下さい 最近はクラウド上の機械学習も有ります。 http://jp.techcrunch.com/2014/06/17/20140616microsoft-announces-azure-ml- cloud-based-machine-learning-platform-that-can-predict-future-events/
  • 27. 機械学習勉強会 27 2014年7月19日 これで、今日からデータサイエンティスト
  • 28. ・・・とは行かない 機械学習勉強会 28 2014年7月19日 ①データの入手 ②データの前処理 ③手法選択 ④ハイパー パラメータ選択 ⑥モデル評価 精度 は十分か ⑤モデル学習 NO YES 成功! 手法を 変える パラメタを 変える 適切な手法の選択が 機械学習で最も重要かつ難しい問題
  • 29. 適切な手法の選択 機械学習勉強会 29 2014年7月19日 Q:常に最適な手法ってあるの? A:ありません Q:どうやったら最適な手法を選べるの? A:機械学習を体系的に学び、 経験を積んで、更に運が必要 Q:詰んでない? A:なんとかするのが、今日の議題
  • 30. 現状ベストアンサー:scikit-learnに任せる 機械学習勉強会 30 2014年7月19日 『Scikit-learnにできる事』≒『自分にできること』 これで最近は問題が無いことが多い http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
  • 31. 実装の雰囲気 機械学習勉強会 31 2014年7月19日 importnumpy fromsklearn.cross_validationimportcross_val_score #使いたい手法をインポート fromsklearn.hogehogeimportsome_machine_learning_method for パラメータin (グリッドサーチの探索範囲): #手法のインスタンスを生成 model =some_machine_learning_method(パラメータ) #お手軽交差検定 cv_scores=cross_val_score(model, 説明変数, 目的変数) #交差検定の各学習のスコア平均値を計算 score =numpy.mean(cv_scores) これでScikit-learnの大体の手法は、これで使えるはず リッジ回帰の例をGithubにあげました https://github.com/anaguma2261/scikit-learn-sample/blob/master/ridge_regression.py
  • 32. 手法の種類 •Classification(分類) –ラベルをデータで学習して、ラベルを予測 •Regression(回帰) –実数値をデータで学習して、実数値を予測 •Clustering(クラスタリング) –データを似ているもの同士を集めて、データの構造を発見 •DimensionalReduction(次元削減) –データの次元を削減して、よりメタな要因を発見 (主成分分析は次元削減のひとつ) –削減した次元をデータにして他の手法を行う (次元の呪い回避) 機械学習勉強会 32 2014年7月19日
  • 33. Classification(分類) •SVM (SVC, LinearSVC) –利点 •汎化性能が高く、少量のデータでもうまく学習出来る事がある •カーネルの組み合わせで様々データに対応できる –欠点 •カーネル入れると遅い •関数によっては、予測確率で出力できない •K-近傍法(NearestNeighbors) –利点 •単純な割に精度が高い –欠点 •予測時にもメモリに学習データを格納する必要がある •ランダムフォレスト(RandomForestClassifier) –利点 •精度が高いことが多い •並列計算しやすい •過学習や、変数のスケールを考えずに、全て変数を入れて学習できる –欠点 •ランダムフォレスト信者になりやすい 機械学習勉強会 33 2014年7月19日
  • 34. Classification(分類) •確率的勾配法による学習(SGDClassifier) –これは手法でなく学習方法 –データが大きい時に、データを一部づつを見て 学習の計算をサボって高速化 –オプションで、SVMやロジスティック回帰が選択可能 機械学習勉強会 34 2014年7月19日
  • 35. Regression(回帰) 機械学習勉強会 35 2014年7月19日 •重回帰(LinearRegression) –利点・・・速い(パラメータ無し) –欠点・・・Scikit-learnにstepwise法が無いので、使いにくい •リッジ回帰(Ridge) –利点・・・ラッソより速い、多重線形性の影響を受けにくい –欠点・・・ラッソに比べて、変数選択力が弱い •ラッソ回帰(Lasso) –利点・・・少ない変数でモデルを作ってくれる –欠点・・・リッジよりは遅い、使わない変数があることを仮定している •SVR(SVR) –利点・・・カーネルで非線形性を取り込める –欠点・・・カーネルを入れると遅い •ランダムフォレスト(RandomForestRegressor) –Classificationを参照回帰では予測値が離散になる欠点がある
  • 36. Clustering(クラスタリング) •K-means法(KMeans) –利点・・・速いMiniBatchKMeansは計算をサボってるので更に速い –欠点・・・クラスタ数を最初に与えないといけない •階層的クラスタリング(AgglomerativeClustering) 最近実装されたので表には無い –利点・・・クラスタ数を後から色々変えられる –欠点・・・遅い、大きいデータは階層が表示出来ないことも •混合ガウス分布(GMM) –利点・・・各クラスタの所属確率が出る。 –欠点・・・正規分布を仮定する •MeanShift(MeanShift) –使用経験がないのでノーコメント誰か教えて下さい 機械学習勉強会 36 2014年7月19日
  • 37. DimensionalReduction(次元削減) 機械学習勉強会 37 2014年7月19日 Scikit-learnのフローチャートに語れる手法があまりなかったので、私がよく使う手法を紹介 •主成分分析(PCA) –利点・・・速い疎行列も扱える –欠点・・・裏で正規分布を仮定 •非負値行列因子分解(NMF) –利点・・・要因の引き算を許さないことでより特徴を抽出できる事もある –欠点・・・非負行列限定 その他、LDAやDeep Learningなどなども