英文名 | Programming IV | |
---|---|---|
科目概要 | データサイエンス学科3年後期、3群科目、選択、演習、3単位 | |
科目責任者 | 齋藤 裕 | |
担当者 | (※は実務経験のある教員) 齋藤 裕※、 来見田 遥一※ | |
講義室 |
データサイエンティストとして活躍するためには、与えられた問題に対して自分で解法を考え、それをプログラムとして実装する能力が必要になる。本講義では、これまでの「プログラミングⅠ~Ⅲ」で学んできた内容を最大限活用して、教員から出題される実世界の応用を想定した問題に対して、自分で機械学習プログラムを実装して、未知のデータに対して高い予測精度を達成することを目指す。受講者間で予測精度の競争(コンペティション)を行い、成績優秀者ほど評価も高くなる。このようなコンペティション形式でのプログラミングを通して、社会で活躍するための実戦的なスキルと競争力を醸成する。
教員から問題を2問出題する。各問題について、以下の内容を行う:
問題の実世界における背景の説明
教員から提供するサンプルプログラムの説明
グループディスカッションによる他の学生とのアイデア交換
プログラムの実装と改良
コンペティションの実施
成績発表
講評
解法のプレゼンテーションと議論
問題については、下記のどれかから年度ごとに異なるものを出題する:
タンパク質配列設計
DNA配列設計
RNA配列設計
タンパク質-タンパク質相互作用予測
タンパク質-化合物相互作用予測
顕微鏡画像からの細胞領域予測
オーミクス情報解析
パワーポイントによる講義の後、プログラミング演習を行う。パワーポイント資料は講義前にホームページ等で配布する。毎回、学生はプログラムの進捗やグループディスカッションの状況について教員に報告する。コンペティションでは、学生がプログラムを提出し、教員がプログラムの精度評価を行う。コンペティション終了後、学生はグループディスカッションの内容、解法のアイデア、実装したプログラムなどをまとめたレポートを提出する。
毎回の進捗報告の内容をふまえ、必要に応じて教員からアドバイスやサポートを行う。コンペティションの成績発表とレポートの提出後、教員から解法の傾向やユニークなアイデアなどについて講評を行う。講義に関する質問はメールや対面にて受け付ける。
DP4、DP5
回 | 項目 | 内容 | 担当者 | 日時 |
---|---|---|---|---|
1・2 回 | 本科目の趣旨説明、「プログラミングⅢ」のおさらい | 本科目の趣旨とコンペティション形式のプログラミングについて説明する。 「プログラミングⅢ」で学んだ機械学習プログラミングや、プログラミング環境整備について復習する。 | 齋藤 裕 来見田 遥一 | 9/10③④ |
3・4 回 | 問題1:背景説明 | 問題の背景とサンプルプログラムについて説明する。 | 齋藤 裕 来見田 遥一 | 9/17③④ |
5・6 回 | 問題1:プログラム実装 | プログラムの実装を行う。グループディスカッションにより他の学生とアイデアを交換する。 | 齋藤 裕 来見田 遥一 | 9/24③④ |
7・8 回 | 問題1:プログラム改良 | プログラムの改良を行う。グループディスカッションにより他の学生とアイデアを交換する。 | 齋藤 裕 来見田 遥一 | 10/1③④ |
9・10回 | 問題1:コンペティション | コンペティションの実施と成績発表を行う。 | 齋藤 裕 来見田 遥一 | 10/8③④ |
11・12回 | 問題1:講評 | 講評、解法のプレゼンテーションと議論を行う。 | 齋藤 裕 来見田 遥一 | 10/15③④ |
13・14回 | 問題2:背景説明 | 問題の背景とサンプルプログラムについて説明する。 | 齋藤 裕 来見田 遥一 | 10/22③④ |
15・16回 | 問題2:プログラム実装 | プログラムの実装を行う。グループディスカッションにより他の学生とアイデアを交換する。 | 齋藤 裕 来見田 遥一 | 10/29③④ |
17・18回 | 問題2:プログラム改良 | プログラムの改良を行う。グループディスカッションにより他の学生とアイデアを交換する。 | 齋藤 裕 来見田 遥一 | 11/12③④ |
19・20回 | 問題2:コンペティション | コンペティションの実施と成績発表を行う。 | 齋藤 裕 来見田 遥一 | 11/19③④ |
21・22回 | 問題2:講評 | 講評、解法のプレゼンテーションと議論を行う。 | 齋藤 裕 来見田 遥一 | 11/26③④ |
23・24回 | まとめ | 全体の講評を行う。 | 齋藤 裕 来見田 遥一 | 12/3③④ |
与えられた実世界の問題に対して自分で解法を考え、それをプログラムとして実装することができる。
毎回の進捗報告(30%)、コンペティションの成績(20%)、レポート(50%)の合計で評価する。
【講義時間外に必要な学修時間:87時間】
予習:事前に配布する講義資料を読み、疑問点を明確にしておくこと。講義資料内のソースコードを自分で実行して、動作を確認しておくこと。「人工知能・機械学習入門」や「深層学習入門」で学んだ内容を復習しておくこと。
復習:グループディスカッションで他の学生と交換したアイデアを吟味して、プログラムの改良と予測精度の向上に努めること。コンペティション終了後、他の学生の解法のプレゼンテーションを聞いて、自分の解法と比較・考察を行うこと。
【科目ナンバリング:FU302-BK03】
【関連科目:プログラミングⅢ、人工知能・機械学習入門、深層学習入門】
(齋藤)国立研究所でのデータ解析ソフトウェアの開発経験をもとに、プログラミングについて講義・演習を行う。
(来見田)国立研究所における生命科学データの解析経験をもとに、プログラミングの講義と演習を行う。
種別 | 書名 | 著者・編者 | 発行所 |
---|---|---|---|
教科書 | (なし) | ||
参考書 | 東京大学のデータサイエンティスト育成講座 - Pythonで手を動かして学ぶデータ分析 | 塚本邦尊ら(著)、中山浩太郎(監) | マイナビ出版 |