到達目標
(ア) 機械学習における回帰と分類について,学習した代表的なアルゴリズムを列挙できる。
(イ) 線形回帰を説明でき,Pythonによる実装を説明できる。
(ウ) パーセプトロンによる分類を説明でき,Pythonによる実装を説明できる。
(エ) ロジスティック回帰による分類を説明でき,Pythonによる実装を説明できる。
(オ) サポートベクトルマシンによる分類を説明でき,Pythonによる実装を説明できる。
(カ) k-meansによる分類を説明でき,Pythonによる実装を説明できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
| 評価項目(ア) | 機械学習における回帰と分類について,学習した代表的なアルゴリズムの特徴を説明できる。 | 機械学習における回帰と分類について,学習した代表的なアルゴリズムを列挙できる。 | 機械学習における回帰と分類について,学習した代表的なアルゴリズムを列挙できない。 |
| 評価項目(イ) | 単線形回帰を説明でき,Pythonによる実装できる。 | 単線形回帰の考え方を説明できる。 | 単線形回帰の考え方を説明できない。 |
| 評価項目(ウ) | パーセプトロンによる分類を説明でき,Pythonによる実装できる。 | パーセプトロンによる分類の考え方を説明できる。 | パーセプトロンによる分類の考え方を説明できない。 |
| 評価項目(エ) | ロジスティック回帰による分類を説明でき,Pythonによる実装できる。 | ロジスティック回帰による分類の考え方を説明できる。 | ロジスティック回帰による分類の考え方を説明できない。 |
| 評価項目(オ) | サポートベクトルマシンによる分類を説明でき,Pythonによる実装できる。 | サポートベクトルマシンによる分類の考え方を説明できる。 | サポートベクトルマシンによる分類の考え方を説明できない。 |
| 評価項目(カ) | 教師なし学習のk-meansによる分類を説明できる。 | 教師なし学習の考え方を説明できる。 | 教師なし学習の考え方を説明できない。 |
学科の到達目標項目との関係
学習・教育到達度目標 C2-4 「情報と計測・制御」に関する専門知識の修得
JABEE d 当該分野において必要とされる専門的知識とそれらを応用する能力
本校教育目標 ① ものづくり能力
教育方法等
概要:
知識の時代に働くエンジニアとして、本科で学習した線形代数、解析学(微積分と微分方程式)、確率と統計、およびデータサイエンス関連の項目をベースに、機械学習の基礎となる教師あり学習と教師なし学習の基本的なアルゴリズムを学ぶ。また、機械学習のアルゴリズムをコンピュータで実装する情報技術(Python)を習得するための演習を行う。
授業の進め方・方法:
講義は1回から2回の講義で1つのアルゴリズムについて理論的・数学的な部分の解説を行い,練習問題を通して知識の定着を図る。また2回目または3回目において、コンピュータを用いた演習を実施し、実践的な実装技法を身に付ける。
注意点:
ノートパソコンを持参すること。継続的に授業内容の予習・復習を行うこと。また、授業内容についてのレポート課題を、決められた期日までに提出すること。
選択必修の種別・旧カリ科目名
規制技術に含まれるものはない
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
| 後期 |
| 3rdQ |
| 1週 |
機械学習の概要説明,Python環境設定とプログラミング演習1 (自学自習:Pythonプログラミング基礎ついて復習し理解を深める) |
機械学習における教師あり学習と教師なし学習について説明できる。
|
| 2週 |
Pythonプログラミング演習2 関数 (自学自習:Pythonプログラミングの関数ついて復習し理解を深める) |
Pythonプログラミングで,関数の設計したり呼び出したりできる。
|
| 3週 |
Pythonプログラミング演習3 グラフ表示,配列による数値計算 (自学自習:Pythonプログラミングの配列について復習し理解を深める) |
Pythonプログラミングで,Matplotによりグラフを表示したり,とNumpyによる配列やシステム関数を使用したりできる。
|
| 4週 |
Pythonプログラミング演習4 オイラー法による微分方程式の解法 (自学自習:Pythonプログラミングによるオイラー法について復習し理解を深める) |
オイラー法による微分方程式の解法を,Pythonにより実装できる。
|
| 5週 |
線形回帰解説:誤差最小化,勾配降下法 Pythonプログラミング演習5 線形回帰 (自学自習:Pythonプログラミングによる線形回帰について復習し理解を深める) |
線形回帰の重み求解のため,勾配降下法を説明でき,Pythonにより実装できる。
|
| 6週 |
パーセプトロンによる分類解説と演習 (自学自習:パーセプトロンによる分類で,重み更新の方法について復習し理解を深める) |
パーセプトロンについて説明でき,超平面の法線ベクトルの更新式について説明できる。
|
| 7週 |
Pythonプログラミング演習6 パーセプトロンによる分類 (自学自習:Pythonプログラミングのパーセプトロンについて復習し理解を深める) |
パーセプトロンによる分類を,Pythonを用いて実装できる。
|
| 8週 |
ロジスティック回帰による分類解説 (自学自習:ロジット変換と交差エントロピー誤差について復習し理解を深める) |
ロジスティック回帰による分類について,ロジット変換と交差エントロピー誤差について説明できる。
|
| 4thQ |
| 9週 |
ロジスティック回帰による分類演習 (自学自習:最尤推定法と勾配降下法について復習し,Pythonプログラミングにより理解を深める) |
交差エントロピー誤差を最小化するために最尤推定法の適用方法について理解でき,ロジスティック回帰による分類をPythonを用いて実装できる。
|
| 10週 |
Pythonプログラミング演習8 scikit-learnの使い方,多重回帰 (自学自習:scikit-learnを用いたPythonプログラミングについて復習し理解を深める) |
scikit-learnパッケージの使用方法を説明し,多重回帰問題解くためにscikit-learnを用いたPythonによるプログラムを実装できる。
|
| 11週 |
データの正規化・標準化,過学習と正則化,検証 (自学自習:データの前処理,正則化の手法,および検証について復習し理解を深める) |
データの前処理の必要性を説明し,過学習を防ぐための正則化の方法を説明し,またデータの検証方法を説明できる。
|
| 12週 |
サポートベクトルマシンによる分類解説(基礎) (自学自習:サポートベクトルマシンによる分類について復習し理解を深める) |
サポートベクトルマシンのハードマージンによる線形分類アルゴリズム説明できる。
|
| 13週 |
Pythonプログラミング演習9 サポートベクトルマシンによる分類 (自学自習:Pythonプログラミングにより理解を深める) |
サポートベクトルマシンの線形分類分類について,Pythonのscikit-learnを用いて実装できる。
|
| 14週 |
サポートベクトルマシンによる分類解説(発展) (自学自習:サポートベクトルマシンによる分類について復習し理解を深める) |
サポートベクトルマシンにおいて,ソフトマージン,カーネル法を用いた非線形分類ついて説明でき,Pythonのscikit-learnを用いて実装できる。
|
| 15週 |
教師なし学習の考え方 kmeansによる分類,および総まとめ (自学自習:kmeansによる分類の考え方について復習し理解を深める) |
教師なし学習による分類の考え方について,説明できる。
|
| 16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
| 分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 定期試験 | 課題 | 合計 |
| 総合評価割合 | 40 | 60 | 100 |
| 専門的能力 | 40 | 60 | 100 |