概要:
現実の世界で起きる様々な現象を数理を用いて表現する.数式によって表現することで,その現象を本質を理解する.また,モデルに与える入力によって,どのように出力が変化するか観察することで予測や意思決定にも応用が可能となる.本講義では,数学とコンピュータを用いて数理モデリングを行うデータサイエンスを中心に講義する.
授業の進め方・方法:
コロナ感染予防対策のため遠隔授業となる.そのため,受講には各自でPCとネット通信環境が必要となる.また,プログラミング言語Pythonを動作させるための環境設定は自分自身で行う必要がある.また,適宜課題を課す.課題に取り組むことで,数理を理解する.また,実装と計算機実験によって理解を深めると共に,将来,自らが直面する課題に適用できるようにする.
試験は行わなず,課題によって評価する.
注意点:
・授業90分に対して180分以上の予習・復習を行うこと.
・数学(線形代数,解析学,確率)を用いるので,復習しておくこと.
・プログラミングを用いるので,復習しておくこと.
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
ガイダンス |
本科目の方針や評価方法を説明する. 数理モデリングについて概要を理解する.
|
2週 |
数理モデリングの基礎 |
数理モデリングの例を学ぶ.
|
3週 |
プログラミングの復習 |
実装で用いるプログラミング言語としてPythonを学ぶ.
|
4週 |
最適化手法 |
最適化手法として最急降下法を学び,最小二乗法のパラメータを最適化する.
|
5週 |
数理モデリングのための確率 |
数理モデルを構築するために用いる確率を復習し,実装によって深く理解する.
|
6週 |
重回帰 |
説明変数が複数(2つ以上)のモデル構築を行う.
|
7週 |
ロジスティック回帰 |
カテゴリ変数に対するモデル構築を行う.
|
8週 |
正則化(lasso回帰) |
過学習を抑制する手法である正則化項付きの回帰としてLasso回帰を学ぶ.
|
4thQ |
9週 |
決定木 |
決定木によるモデル構築方法を学ぶ.
|
10週 |
クラスタリング |
クラスタリングの代表的な手法であるk-means法を学ぶ.
|
11週 |
実データへの応用(1) |
実データに対して,これまでに修得した数理モデリングによって,実際に解析を行う.
|
12週 |
実データへの応用(2) |
実データに対して,これまでに修得した数理モデリングによって,実際に解析を行う.
|
13週 |
実データへの応用(3) |
実データに対して,これまでに修得した数理モデリングによって,実際に解析を行う.
|
14週 |
実データへの応用(4) |
実データに対して,これまでに修得した数理モデリングによって,実際に解析を行う.
|
15週 |
まとめ,提出されたレポートの講評 |
講義を総括し,提出されたレポートの講評を行う.
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 4 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | |
与えられた簡単な問題に対して、それを解決するためのソースプログラムを記述できる。 | 5 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 5 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 4 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 4 | |
プログラミング言語は計算モデルによって分類されることを理解している。 | 5 | |
主要な計算モデルを説明できる。 | 5 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 6 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを理解している。 | 5 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを理解している。 | 4 | |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを理解している。 | 4 | |
リスト構造、スタック、キューなどの基本的なデータ構造の概念と操作を説明できる。 | 4 | |
ソフトウェアを中心としたシステム開発のプロセスを理解している。 | 5 | |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 5 | |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 5 | |
情報数学・情報理論 | 集合に関する基本的な概念を理解し、集合演算を実行できる。 | 4 | |
集合の間の関係(関数)に関する基本的な概念を説明できる。 | 4 | |
ブール代数に関する基本的な概念を説明できる。 | 4 | |
論理代数と述語論理に関する基本的な概念を説明できる。 | 4 | |
離散数学に関する知識がアルゴリズムの設計に利用できることを理解している。 | 4 | |
コンピュータ上での数値の表現方法が誤差に関係することを理解している。 | 4 | |
コンピュータ上で数値計算を行う際に発生する誤差の影響を理解している。 | 4 | |
コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。 | 5 | |
情報量の概念・定義を理解し、実際に計算することができる。 | 4 | |
情報源のモデルと情報源符号化について説明できる。 | 4 | |
通信路のモデルと通信路符号化について説明できる。 | 4 | |
分野横断的能力 | 総合的な学習経験と創造的思考力 | 総合的な学習経験と創造的思考力 | 総合的な学習経験と創造的思考力 | 現実を踏まえ、公衆の健康・安全や文化・社会・環境に配慮すべきことが理解できる。さらに、複合的な工学的課題や、需要に適合したシステム・構成要素・工程の設計に取り組むことができる。 | 5 | |
現実を踏まえ、公衆の健康・安全への配慮、文化的・社会的・環境的な観点に配慮をしつつ、既存の枠にとらわれずに、複合的な工学的課題や、需要に適合したシステム・構成要素・工程を設計することができる。 | 5 | |