シラバス参照/View Syllabus |
科目一覧へ戻る/Return to the Course List | 2023/03/22 現在/As of 2023/03/22 |
開講科目名 /Course |
社会情報システム論研究(社会情報システム論)/SOCIAL INFORMATION SYSTEMS(SOCIAL INFORMATION SYSTEMS) |
---|---|
開講所属 /Course Offered by |
大学院/ |
ターム?学期 /Term?Semester |
2023年度/2023 Academic Year 春学期/SPRING SEMESTER |
曜限 /Day, Period |
火6/Tue 6 |
開講区分 /semester offered |
通年/Yearlong |
単位数 /Credits |
4.0 |
主担当教員 /Main Instructor |
今福 啓 |
科目区分 /Course Group |
大学院科目 講義科目 |
教員名 /Instructor |
教員所属名 /Affiliation |
---|---|
今福 啓 | 経営学科/MANAGEMENT |
授業の目的?内容 /Course Objectives |
この講義では、実社会で活用されている機械学習とよばれる人工知能の分野についての理論を学習すると同時に、プログラミング言語Pythonを使ってプログラムを作成します。 講義を通じてディープラーニングの細部の構造と動作を修得すると同時に、モジュール(Pythonのライブラリ)を利用するだけでは身につかない深い知識の習得を目指します。 |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
授業の形式?方法と履修上の注意 /Teaching method and Attention the course |
個人で使用できるコンピュータ(WindowsまたはMac)を用意してください。 講義を受講する際は、講義方法について説明しますので講義開始前にメールで連絡をお願いします。 |
||||||||||
事前?事後学修の内容 /Before After Study |
事前学修では、授業計画で指定する内容についてテキストの内容を理解してください(講義1回につき2時間)。 事後学修では、講義で学習した内容について復習し、細部の理解を復習してください(講義1回につき2時間)。 |
||||||||||
テキスト1 /Textbooks1 |
|
||||||||||
テキスト2 /Textbooks2 |
|
||||||||||
テキスト3 /Textbooks3 |
|
||||||||||
参考文献等1 /References1 |
|
||||||||||
参考文献等2 /References2 |
|
||||||||||
参考文献等3 /References3 |
|
||||||||||
評価方法 /Evaluation |
指定するファイルをGoogleフォームに提出し、その内容を評価します(100%)。 Googleフォームに課題を提出すると、確認メールが送信されます。 届いたメールは課題を提出したことの証明となりますので、必ず保存してください。 |
||||||||||
備考 /Notes |
|||||||||||
関連科目 /Related Subjects |
|||||||||||
到達目標 /Learning Goal |
社会情報システムについての修士レベルの知識を修得し,社会情報システムに関連する諸問題を分析できるようにする. |
回 /Time |
授業計画(主題の設定) /Class schedule |
授業の内容 /Contents of class |
事前?事後学修の内容 /Before After Study |
---|---|---|---|
1 | 講義で使用するソフトウェアの準備 | 講義で学習する内容、講義の進め方、成績の評価方法を理解し、講義で使用する Google ChromeとGoogle Colaboratory の導入と操作方法を習得する。 | |
2 | プログラミング言語Python | Pythonによるプログラム作成の手順を理解し、演算を行う簡単なプログラムを作成する。 | |
3 | 変数、制御構文 | 計算結果を記憶する変数と、プログラム実行の流れを変える if, for, while構文 の使い方を習得する。 | |
4 | データ構造:リスト、タプル、辞書 | 複数のデータをまとめて処理する構造を理解し、プログラムを作成して使い方を習得する。 | |
5 | 関数 | プログラミング言語における関数を理解し、関数の使用方法と作成方法を習得する。 | |
6 | モジュールについて、モジュールpandasによるデータ処理 | Pythonにおけるデータ処理で多用されるモジュールpandasを使ったプログラム作成方法を習得する。 | |
7 | モジュールNumPyによるデータ処理、matplotlibによるグラフ描画 | モジュールNumPyを使ったデータ処理と、matplotlibを使ったグラフ作成を行うプログラムを作成する | |
8 | パーセプトロン 計算の理論 | ニューラルネットワークの構成要素であるパーセプトロンがどのようなものか、動作の理論を修得する。 | |
9 | パーセプトロン プログラム作成 | パーセプトロンの動作をプログラムで作成する。 | |
10 | パーセプトロンの学習 | パーセプトロンが学習するプログラムを作成する。 | |
11 | パーセプトロンで学習できる問題 | パーセプトロンでは、線形分離可能な問題しか学習できないことを理論的に修得する。 | |
12 | 機械学習(教師あり学習) | 機械学習の詳細を学習する前に動作の概要を理解し、プログラムを作成して動作を確認する。 | |
13 | 活性化関数 | パーセプトロンの出力を決定するさまざまな活性化関数の動作と特徴を理解してプログラムを作成する。 | |
14 | 前半のまとめ | パーセプトロンの動作を振り返り、理解できていない部分について再度理解を深める。 | |
15 | 複数のパーセプトロンを接続する | パーセプトロンを複数接続した際の計算について理解し、プログラムを作成する。 | |
16 | 高次元空間への拡張と活性化関数を組み合わせて学習できる問題を拡張する | パーセプトロンを複数接続することで、学習できる問題が拡張されることを理論的に修得する。 | |
17 | 偏微分 | ニューラルネットワークの学習を理解するには偏微分が必要となるため、偏微分について確認して計算する。 | |
18 | バックプロパゲーション(ニューラルネットワークの学習理論) | ニューラルネットワークで学習するプログラムを作成する前に、実際に計算して手順を確認する。 | |
19 | バックプロパゲーション(プログラム作成) | バックプロパゲーションで学習するプログラムを作成する。プログラム作成は1回の講義で完成できる内容ではないため、2回の講義に分けて行う。 | |
20 | バックプロパゲーション(プログラム作成の続き) | 前回の講義の続きとなる、バックプロパゲーションのプログラム作成を行い完成させる。 | |
21 | 完成させたプログラムを使って機械学習する | IrisやMNISTといった機械学習でよく使用されるデータを使って、完成させたプログラムの動作確認と性能評価を行う。 | |
22 | 最適化手法の違いと実装 | 学習の際に使用する最適化手法の違いを理解し、プログラムを作成する。 | |
23 | 機械学習の性能を向上させる手法 | 機械学習の性能を向上させる手法についての理論を修得する。 | |
24 | PyTorch | 通常、機械学習を行う際は有名なモジュールを使用することが現実的なため、PyTorchの使い方を理解する。 | |
25 | PyTorchを使った機械学習 | PyTorchを使ってさまざまなデータの機械学習を行うプログラムを作成する。 | |
26 | 畳み込みニューラルネットワーク | 画像の学習で用いられる畳み込みニューラルネットワークの動作を確認し、プログラムを作成する | |
27 | ディープラーニングの実例 | ディープラーニングがどのような場面で用いられているか、具体的な例題を修得する。 | |
28 | 講義のまとめ | 機械学習の全体像を振り返り、理解できていない部分について再度理解を深める。 |