機械学習(M) Pythonを活用した実践的機械学習

講座の趣旨

  • 機械学習について体系的に理解するとともに、機械学習を実務で活用できるようになることを目指します。
  • 機械学習の各種手法について、数学的背景をふまえて体系的に講義し、実践的な演習を行います。
  • 演習ではプログラミング言語「Python」を使用します。

到達目標

  • 決定木、サポートベクターマシーン、スパース正則化、カーネル法、ランダムフォレスト、ブースティング、密度推定、クラスタリング、深層学習など、機械学習の主要な手法を実務で活用できる。
  • 新しい課題に対してでも、データ活用の設計、手法の選択と実行、結果の解釈、業務への活用の提案など、一連の業務を数理的理解に基づき適切に行えるようになる。

数学レベル

  • 高校までの理系数学と大学1・2年生レベルの偏微分、積分、行列について、あらかじめある程度知っていることが望ましいです。

カリキュラム

  1. 機械学習の基礎
    • 機械学習の流れ
    • 教師あり学習の考え方(学習モデルと損失、過学習と正則化、評価方法、交差検証、変数選択)
    • 教師あり学習の概要(回帰と分類)
    • 教師なし学習の概要
  2. Pythonの使い方
    • 教師あり学習(その1)
      • 損失関数、過学習と正則化
      • 評価方法、検証・交差検証
      • 回帰(評価指標、線形回帰、リッジ回帰、LASSO)
      • 分類(評価指標、決定木、サポートベクターマシン、ロジスティック回帰)
    • 特徴量エンジニアリング
      • パラメータチューニング、特徴量の拡張、カテゴリカル変数、特徴量選択、可視化
    • 教師あり学習(その2)
      • カーネル法、アンサンブル学習、バギング、ランダムフォレスト、ブースティング、スタッキング
    • 教師なし学習
      • 密度推定(ガウス分布、混合ガウス分布、EMアルゴリズム、ヒストグラム、カーネル密度推定)
      • クラスタリング(K-means、距離関数、混合ガウス分布)
      • 行列分解(行列補完、非負値行列分解、レコメンデーション、次元圧縮)
      • 可視化(主成分分析、t-SNE)
      • トピックモデリング(Latent Dirichlet Allocation)
      • さまざまな応用(異常検知、スパースコーディング、テンソル分解)
      • 自然言語処理への応用(LDA、Word2vec・Item2vec)
      • レコメンデーションへの応用
    • 深層学習(ディープラーニング)
      • 深層学習の構造
      • 畳み込みニューラルネット、CNN、ResNet
      • バッチ正規化、ドロップアウト
      • 学習アルゴリズム(損失関数最小化、最急降下法、誤差逆伝搬法、勾配降下法、確率的勾配降下法、モーメンタム法、ネステロフ加速法、ADAM)
      • タスクに合わせたネットワーク構造のモデリング
      • 各種モデルとその応用(物体検出、マスキング、画像診断への応用、画像スタイル変換、画像生成、生成モデル、機械翻訳)
    • 実践的総合演習

      講義スケジュール

      ★講義スケジュールはこちら。
      講師からのメッセージ
      • (二反田 篤史 )
        機械学習を適切に活用する為には、機械学習で実現可能な事をその仕組みと併せて理解し、その上で各種手法を正しく運用・評価する事が重要です。本講義ではこれらを踏まえた具体的な機械学習の使用法をPython言語を用いて解説します。(二反田 篤史 )
        二反田 篤史 准教授