機械学習(M) Pythonを活用した実践的機械学習
講座の趣旨
- 機械学習について体系的に理解するとともに、機械学習を実務で活用できるようになることを目指します。
- 機械学習の各種手法について、数学的背景をふまえて体系的に講義し、実践的な演習を行います。
- 演習ではプログラミング言語「Python」を使用します。
到達目標
- 決定木、サポートベクターマシーン、スパース正則化、カーネル法、ランダムフォレスト、ブースティング、密度推定、クラスタリング、深層学習など、機械学習の主要な手法を実務で活用できる。
- 新しい課題に対してでも、データ活用の設計、手法の選択と実行、結果の解釈、業務への活用の提案など、一連の業務を数理的理解に基づき適切に行えるようになる。
数学レベル
- 高校までの理系数学と大学1・2年生レベルの偏微分、積分、行列について、あらかじめある程度知っていることが望ましいです。
カリキュラム
-
機械学習の基礎
- 機械学習の流れ
- 教師あり学習の考え方(学習モデルと損失、過学習と正則化、評価方法、交差検証、変数選択)
- 教師あり学習の概要(回帰と分類)
- 教師なし学習の概要
-
Pythonの使い方
-
教師あり学習(その1)
- 損失関数、過学習と正則化
- 評価方法、検証・交差検証
- 回帰(評価指標、線形回帰、リッジ回帰、LASSO)
- 分類(評価指標、決定木、サポートベクターマシン、ロジスティック回帰)
-
特徴量エンジニアリング
- パラメータチューニング、特徴量の拡張、カテゴリカル変数、特徴量選択、可視化
-
教師あり学習(その2)
- カーネル法、アンサンブル学習、バギング、ランダムフォレスト、ブースティング、スタッキング
-
教師なし学習
- 密度推定(ガウス分布、混合ガウス分布、EMアルゴリズム、ヒストグラム、カーネル密度推定)
- クラスタリング(K-means、距離関数、混合ガウス分布)
- 行列分解(行列補完、非負値行列分解、レコメンデーション、次元圧縮)
- 可視化(主成分分析、t-SNE)
- トピックモデリング(Latent Dirichlet Allocation)
- さまざまな応用(異常検知、スパースコーディング、テンソル分解)
- 自然言語処理への応用(LDA、Word2vec・Item2vec)
- レコメンデーションへの応用
-
深層学習(ディープラーニング)
- 深層学習の構造
- 畳み込みニューラルネット、CNN、ResNet
- バッチ正規化、ドロップアウト
- 学習アルゴリズム(損失関数最小化、最急降下法、誤差逆伝搬法、勾配降下法、確率的勾配降下法、モーメンタム法、ネステロフ加速法、ADAM)
- タスクに合わせたネットワーク構造のモデリング
- 各種モデルとその応用(物体検出、マスキング、画像診断への応用、画像スタイル変換、画像生成、生成モデル、機械翻訳)
-
実践的総合演習