本講義の前半のねらいは,「プログラミングと数値解析基礎」を引き継いで,最近広く使われるようになったプログラミングPythonの基本的なプログラミング手法を学び,数値解析のためのプログラムを作成できるようになることである。Pythonの初歩的な文法から,リスト,配列というデータ構造を学習する。そして,数値計算や機械学習のアルゴリズムを学び,実際にプログラミングを体験する。
後半のねらいは,「プログラミングと数値解析基礎」を引き継いで、最適化やマッチング理論など身近で応用的なトピックについても、その基礎的なアルゴリズムを理解し、より実践的な力を養うことにある。
本講義を履修することにより次の能力を習得する.
(1) プログラミング言語Pythonの使い方を習得し,
(2) 数値計算、機械学習、最適化のアルゴリズムを理解し,
(3) 基本的なプログラムを作成できるようになる.
プログラミング, 数値計算, アルゴリズム, Python, 機械学習, 最適化
✔ 専門力 | 教養力 | コミュニケーション力 | 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
講義前半にプログラミング言語の文法やアルゴリズムについて学習し,後半にプログラミングを実践する。
授業計画 | 課題 | |
---|---|---|
第1回 | Pythonの基本文法と制御構造 | 分岐やループを含む簡単なPythonプログラムを作成できる。 |
第2回 | 基本データ構造と数値計算 | リストや配列、numpyやscipyを用いた数値計算を含むPythonプログラムを作成できる。 |
第3回 | 関数とクラス | Pythonにおいて関数とクラスを利用したプログラムが作成できる。 |
第4回 | Pythonによる機械学習 | Pythonを使って機械学習モデルが構築できる。 |
第5回 | 最適化入門(最急降下法) | 最急降下法のプログラムが書ける。 |
第6回 | 遺伝的アルゴリズム | 基礎的な遺伝的アルゴリズムのプログラムが書ける。 |
第7回 | マッチング理論 | ゲール・シャプリーアルゴリズムのプログラムが書ける。 |
学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。
特になし
John V. Guttag, 「Python言語によるプログラミング イントロダクション」(第2版), 久保幹夫(監訳),近代科学社, 2016
プログラミング手法を習得し,数値解析のアルゴリズムを用いてプログラムを作成できる。
演習とレポート(100%)
なし