機械学習は「明示的にプログラミングすることなく、コンピュータに学ぶ能力を与えようとする研究分野」(アーサー・サミュエル, 1959年)として、デジタルコンピュータの黎明期から研究が行われてきた。機械学習の理論やアルゴリズムの成熟、データの大規模化、コンピュータの計算能力の向上などを背景に、機械学習は飛躍的な発展を遂げ、その応用範囲は情報科学以外の分野にも広がっている。本講義では、機械学習の基礎的な概念と理論の理解を目指す。また、機械学習の理論と実装を一緒に説明することで、機械学習の応用にも触れながら理論への理解を深める。
※ 新型コロナ感染対策として履修人数制限が必要な場合には、情報工学系の学生を優先することがあります。
・機械学習の基礎的な概念・理解を習得する
・機械学習の理論やアルゴリズムを実装を通して理解する
・データ処理の基礎事項を習得する
回帰、分類、ニューラルネットワーク、クラスタリング、主成分分析、正則化、確率的勾配降下法
✔ 専門力 | 教養力 | コミュニケーション力 | 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
概念・理論を習得するための座学と,それをコンピュータ上で確認・実現する演習から構成される.
授業計画 | 課題 | |
---|---|---|
第1回 | 導入,Pythonの基礎 | 機械学習の概要,Pythonの基本的な文法 |
第2回 | データの可視化 | データの読み書き,線グラフ,棒グラフ,散布図,ヒートマップ,NumPy,Matplotlib,scikit-learn |
第3回 | 線形回帰 | 単回帰,最小二乗法,最尤推定,重回帰,モデル選択,正則化,勾配法 |
第4回 | 線形二値分類 | 二値分類,ロジスティック回帰,評価 |
第5回 | 線形多値分類 | 多値分類,多クラスロジスティック回帰,ソフトマックス関数 |
第6回 | 演習1 | 第3~5回の内容に関する演習 |
第7回 | ニューラルネットワーク | 閾値論理ユニット,活性化関数,万能近似定理 |
第8回 | 多層ニューラルネットワーク | 計算グラフ,自動微分,誤差逆伝搬,深層ニューラルネットワーク,畳み込みニューラルネットワーク |
第9回 | サポートベクトルマシン | マージン,双対性,サポートベクトル,カーネル関数 |
第10回 | 演習2 | 第7~9回の内容に関する演習 |
第11回 | クラスタリング | 非階層型クラスタリング,K-means,ボロノイ図,階層型クラスタリング,最短距離法,最長距離法,群平均法,重心法,ウォード法 |
第12回 | 次元圧縮 | 主成分分析,特異値分解 |
第13回 | 強化学習 | マルコフ決定過程,ベルマン方程式,価値反復法,方策反復法,Q学習 |
第14回 | 演習3 | 第11~13回の内容に関する演習 |
学修効果を上げるため、配布資料等の該当箇所を参照し、授業内容に関する予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。
指定なし
以下のウェブサイトを利用
機械学習帳: https://chokkan.github.io/mlnote/
Python早見帳: https://chokkan.github.io/python/
演習のレポート(60%)、および期末試験(40%)。
線形代数の基礎(特にベクトル、行列、固有値分解など)を修得していることが望ましい。ブラウザ上で「動く」講義資料を採用しているため、講義を受講するときに手元にPCやタブレットPCがあることが望ましい。