教師あり・教師なし・強化学習の違いと代表的な手法、モデルの選択と評価指標を学び、課題に応じて手法を選べるようになります
正解つきのデータから予測のしかたを学ぶ、教師あり学習の大枠をつかみます。基礎層では、数値を当てる回帰と区分を当てる分類の違いを身近な例で整理します。深掘り層では、線形回帰のしくみから出発し、シグモイド関数を架け橋に数値の予測が確率の分類へ変わる流れと、時系列を扱う自己回帰モデルまで説明できるようになります。
データを分けて予測する代表的な手法を学びます。基礎層では、質問を重ねて分ける決定木と、余裕のある境界線で分けるサポートベクターマシンの大枠を健康診断の例でつかみます。深掘り層では、決定木が最適な質問を選ぶ基準になる不純度と、マージン最大化、高い次元へ持ち上げて分けるカーネル、計算量の壁を回避するカーネルトリックまで説明できるようになります。
複数のモデルを組み合わせて予測を良くするアンサンブル学習を学びます。基礎層では、間違いが打ち消し合うというしくみの核心と、別々に育てるバギング・順番に育てるブースティングという2つの流れをつかみます。深掘り層では、モデルに個性を配るブートストラップサンプリング、並列で速いバギングとランダムフォレスト、残差のリレーで進む勾配ブースティング、そして学習の速さをめぐる実務のトレードオフまで説明できるようになります。
アンサンブル学習のレッスンの続きとして、表形式のデータで今も広く使われる勾配ブースティング木を掘り下げます。前までの木が残した誤り(残差)を次の木が埋めていくしくみ、それを実務の道具に仕上げた XGBoost と LightGBM、そして列ごとに単位がばらばらな表形式のデータが大小の判定だけで進む決定木とかみ合い、正規化を必要とし局所性を手がかりにするディープラーニングの強みが活きない理由までを実装のコードは扱わず、なぜ効くのかに絞って説明します。
正解のないデータを機械が自分で整理する教師なし学習を学びます。基礎層では、似たものをまとめるクラスタリングと、情報を圧縮する次元削減の大枠を身近な例でつかみます。深掘り層では、k-means法の初期値依存性を補うk-means++、ウォード法とデンドログラム、ばらつきを手がかりにする主成分分析と特異値分解、t-SNEや多次元尺度構成法まで説明できるようになります。
教師なし学習の応用として、文章の話題を見つけるトピックモデルと、おすすめを出す推薦のしくみを学びます。基礎層では、話題も好みも正解のラベルなしでデータから見つけ出すという大枠をつかみます。深掘り層では、潜在的ディリクレ配分法、協調フィルタリングのユーザーベースとアイテムベースという2つの流儀、コンテンツベースフィルタリングとの違い、コールドスタート問題まで説明できるようになります。
報酬を手がかりに試行錯誤で行動を学ぶ、強化学習の枠組みを学びます。基礎層では、正解を教わらずに報酬から学ぶという大枠と、先々の報酬まで見すえる考え方をつかみます。深掘り層では、計算の爆発を防ぐマルコフ性の割り切りから、マルコフ決定過程と割引率、状態価値関数と行動価値関数、Q学習とSARSAまで説明できるようになります。
行動の選び方そのものを学ぶ方策ベースの強化学習と、探索と活用の兼ね合いを扱うバンディットアルゴリズムを学びます。基礎層では、方策を直接うまくする道と、崖のそばのルート選びで分かれるQ学習とSARSAの判断の違いをつかみます。深掘り層では、方策勾配法やREINFORCE、Actor-Critic、ε-greedy方策やUCB方策まで説明できるようになります。
学習に使っていない新しいデータでどれだけ当たるかという、汎化性能の考え方を学びます。基礎層では、丸暗記の過学習と、本当の実力である汎化性能の違いを身近な例でつかみます。深掘り層では、ホールドアウト検証と交差検証やk-分割交差検証、時系列データをランダムに分けると起きるデータリーケージという落とし穴、そしてモデル選びの指針であるオッカムの剃刀と赤池情報量規準・ベイズ情報量規準まで説明できるようになります。
モデルの予測がどれだけ良いかをはかる評価指標を学びます。基礎層では、正解率だけでは良し悪しを見誤る理由と、見逃しと空振りという2種類の間違いをつかみます。深掘り層では、混同行列の4つの用語を自力で読み解くルール、適合率と再現率の綱引きとF値、ROC曲線とAUC、回帰の平均二乗誤差・二乗平均平方根誤差・平均絶対値誤差まで説明できるようになります。