数理モデリング

科目基礎情報

学校 木更津工業高等専門学校 開講年度 令和02年度 (2020年度)
授業科目 数理モデリング
科目番号 0028 科目区分 専門 / 選択
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 制御・情報システム工学専攻 対象学年 専2
開設期 後期 週時間数 2
教科書/教材 東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~,出版社:マイナビ出版,出版年:2019年,ISBN:978-4-8399-6525-9
担当教員 大枝 真一

到達目標

現実世界の事象を数理を使ってモデリングすることで,自然科学を理解したり,直面する課題を解決する手法を修得する.
特に,コンピュータを用いて解決を図るデータサイエンスを中心に講義する.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
数理モデリングの考え方現実世界の事象を数理を使ってモデリングできる.すでに提案されている数理モデルを理解できる.数理モデルを理解できない.
実装適した数理モデルを設計し,効率の良いプログラムを実装できる.設計した数理モデルをプログラミングによって実装できる.実装できない.
評価計算機実験による結果から,新しいモデルを構築できる.計算機実験による結果を評価できる.評価できない.

学科の到達目標項目との関係

専攻科課程 B-2 説明 閉じる
JABEE B-2 説明 閉じる

教育方法等

概要:
現実の世界で起きる様々な現象を数理を用いて表現する.数式によって表現することで,その現象を本質を理解する.また,モデルに与える入力によって,どのように出力が変化するか観察することで予測や意思決定にも応用が可能となる.本講義では,数学とコンピュータを用いて数理モデリングを行うデータサイエンスを中心に講義する.
授業の進め方・方法:
コロナ感染予防対策のため遠隔授業となる.そのため,受講には各自で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

評価割合

課題合計
総合評価割合100100
基礎的能力1010
専門的能力5050
分野横断的能力4040