最近、仕事の都合で、機械学習やディープラーニングの基本的な事情を勉強する必要があったのですが、書籍を読むのが辛かったので勉強になったyoutubeチャンネルをまとめてみました(この記事は機械学習限定)。というとすごくいろんなyoutubeがいっぱいまとまっているように読めますが、、機械学習については、Able Programmingさんだけで、お腹がいっぱいになってしまったので、まとめとは言えないですね。。。。
機械学習の基礎から必要な様々手法について解説してくれています。また、Python入門からnumpy、pandasといったライブラリィについての超初学者向けの動画もあります。youtubeっぽい感じもなく、すごく淡々としていて(自分的には)好感度は抜群です。
#機械学習の基礎編
###第1回【機械学習】AIとは? | 機械学習とAIの関係/機械学習入門(32分)
- AIとはなにか?AI、機械学習、深層学習の関係。その歴史。
- 教師あり学習、教師なし学習、強化学習の簡単な解説。
###第2回【機械学習】機械学習入門 / k最近傍法 | 機械学習の手順と基本的なアルゴリズム(61分)
- 機械学習の基本的な手順(問題の明確化=>データの入手=>データ内容の理解=>データの適切な加工=>モデルを試す=>最良モデルの選択と調整=>稼働)
- 回帰と分類の違い
- 最近傍法とは
- K最近傍法とは=>notebookによる実習
###第3回【機械学習】線形回帰(前編)| 線形回帰の理論(32分)
- 線形回帰とは?
- 最適とは? 最小二乗法
- 勾配降下法
- 学習率とは?
- 勾配降下法のバリエーション
- 線形回帰の実装=>実習(numpy、matplotlib、sklearn)
###第4回【機械学習】線形回帰(後編)| 重回帰と正則化(46分)
- 単回帰と重回帰
- 多項式回帰の実装=>notebookによる実習(numpy、matplotlib)
- 学習不足、過学習の問題
- 正則化テクニック(リッジ回帰、Lasso回帰)
- リッジ回帰、Lasso回帰の実装=>実習(mglearn、pandas、sklearn、matplotlib)
###第5回【機械学習】ロジスティック回帰(前編)| ロジスティック回帰の理論と実装(31分)
- ロジスティック回帰分析とは?
- 一般化線形モデル
- 「最適」をどう定義するか?
- 交差エントロピー誤差の最小化
- ロジスティック回帰分析の実装=>実習(numpy、pandas、sklearn)
###第6回【機械学習】ロジスティック回帰(後編)| 多項ロジスティック回帰(31分)
- 多項ロジスティック回帰(多クラス分類)
- 二値分類
- 他クラス分類
- 負の対数尤度を最小化
- 多項ロジスティック回帰の実装=>実習(numpy、matplotlib、sklearn)
###第7回【機械学習】サポートベクトルマシン(前編)| SVMの理論、ハードマージンとソフトマージン(31分)
- サポートベクトルマシンとは?
- (計算規模が大きい、中小規模データ向き)
- マージン最大化とは?
- サポートベクトルマシンの考え方
- ソフトマージンの最適化問題
###第8回【機械学習】サポートベクトルマシン(中編)| ラグランジュの未定乗数法、双体問題(34分)
- 前回の復習
- 相対表現
- ラグランジュの未定乗数法
- サポートベクトルマシンの実装=>実習(mglearn、sklearn、matplotlib)
###第9回【機械学習】サポートベクトルマシン(後編)| カーネル法、多クラス分類・回帰問題(36分)
- 線形から非線形へ(高次元空間への拡大)
- 高次元空間への写像
- カーネル法
- 他クラス分類への拡張
- 回帰問題への拡張
- サポートベクトルマシンの実装=>実習(mglearn、numpy、matplotlib)
###第10回【機械学習】・決定木(CART)| 決定木の理論と実装(33分)
- 決定木とは?
- 「CART」と「C4.5(C5.0)」
- 基準となる特徴量や閾値の決定
- 不純度を表す関数、ジニ指数
- 決定木のメリット、デメリット
- 回帰問題への適用
- 決定木の実装=>実習(sklearn、numpy、matplotlib)
###第11回【機械学習】アンサンブル学習(前編)| バギング・スタッキング・バンピング、ランダムフォレスト(43分)
- アンサンブル学習とは?
- バギング(ブートストラップ集約)複数の学習器を組み合わせ)
- スタッキング(予測値の評価において重要度による加重平均を考える)
- バンピング(もっともあてはまりの良いモデルを探す)
- ランダムフォレスト(バギングのベース学習器として決定木を使用)
- アンサンブル学習の実装=>実習(sklearn、numpy、matplotlib、pandas)
###第12回【機械学習】アンサンブル学習(後編)| AdaBoost、勾配ブースティング(42分)
- ブースティングとは?(有名なのはxgboost)
- AdaBoost(前の学習器が誤分類したデータに重み)
- 勾配ブースティング(前の学習器の残差に適合)
- xgboostを利用した実装=>実習(sklearn、numpy、pandas)
###第13回【機械学習】モデルの評価と選択 | 交差検証、さまざまな評価基準(38分)
- 復習(機械学習の手順 第2回より)
- 真の目標は「汎化性能の最大化」
- 汎化性能を正しく測る方法と評価基準
- 交差検証
- 「スコア」の計算(分類の場合)
- 「スコア」の計算(回帰の場合)
- 交差検証、スコア計算の実装=>実習(sklearn、numpy、matplotlib)
###第14回【機械学習】モデルの改良と前処理 |スケーリング、グリッドサーチ(32分)
- データの適切なスケーリング
- StandardScaler
- MinMaxScaler
- スケーリングの実装=>実習(numpy、pandas)
- 検証セットの必要性(訓練=>検証=>テスト)
- 訓練セットと検証セットの分割と交差検証
###15回【機械学習】次元削減|教師なし学習、主成分分析(39分)
- 教師なし学習とは?(正解値が存在しないデータ分析)
- 次元削減(高次元の呪い)
- 主成分分析
- 分散最大化と誤差最小化
- 情報損失とは?
- 主成分分析の実装=>実習(sklearn、numpy、matplotlib)
###第16回【機械学習】クラスター分析|階層的クラスタリング、k-meansクラスタリング(27分)
- クラスター分析
- 階層的クラスタリング
- クラスター間の距離(最短距離法、最長距離法、群平均法、重心法)
- 非階層的クラスタリング、k-meansクラスタリング
- クラスター分析の実装=>実習(pandas、numpy、matplotlib)
#ライブラリィの基本学習
上記の実習で利用されているライブラリィの基礎です。同じく、Able Programmingチャンネルさんで。
###これだけは押さえよう!!機械学習のためのnumpy超入門(32分)
###自由にデータが扱える!!機械学習のためのpandas超入門(45分)
###思いのままにグラフが描ける!!機械学習のためのmatplotlib超入門(51分)
scikit-learnについてはyoutube一本で学ぶといわけにも行かないらしく、Umedyに良さげな講座があったので、そちらをやってみました。バーゲンで買えば2000円くらいかと。
###Pythonで機械学習:scikit-learnで学ぶ識別入門(Umedy)
#機械学習の実践編
Able Programmingさんではほぼ実習だけの、「実践編」もあります。
###【数値編】数値型データの前処理と可視化まとめ(21分)
- Kaggle House Priceチュートリアルによるデータの前処理と可視化実習(seabornライブラリを利用)
###【位置情報編】位置情報型データの前処理と可視化まとめ(15分)
- Kaggleのタクシー乗降データを使用したデータの前処理と可視化実習
###【カテゴリ編】カテゴリ型データの前処理と可視化まとめ(27分)
- Kaggleの「Kickstarter Projects」を使用したカテゴリ型データの前処理の実習
###【機械学習】回帰分析の実践|xgboost、交差検証、グリッドサーチ(52分)
- Kaggleのタクシー乗降データを使用した回帰分析の実習
###【機械学習】分類問題の実践|アンサンブル学習(49分)
- Kaggleの「Kickstarter Projects」を使用した二値分類の実習
- Kaggleのポケモンデータを使用した次元削減の実習
###【機械学習】クラスタリングの実践|スクレイピング、kmeans(47分)
- 日本野球機構からデータをスクレイピングの実習
以上です。本当に感謝ですね。