Juliaで学ぶ最適化と機械学習(2024)

本HPは東京大学教養学部1年生向けの初年次ゼミナール理科「Juliaで学ぶ最適化と機械学習」の講義ウェブサイトです。

お知らせ

概要

工学上の問題を数学を用いてモデル化し、それをコンピュータで解く方法を学びます。皆さんが今後直面する「実世界の問題」は、多くの場合解決することが非常に難しいです。与えられた問題に対し、それをどう数学的に表現(モデル化)するか、そして表現された問題を実際にコンピュータでどう計算するか、その作法の最初の一歩を勉強します。この講義を通して、「数学的な問題というものは、ただの教科書の上の概念なのではなく、実際に計算して解を求めることが出来るんだ」ということを実感してもらえれば幸いです。

本講義では「最適化」および「機械学習」に焦点を当てます。アルゴリズムを実際に調べ、それをプログラミングしてもらいます。プログラミングの際は、数式を自然に記述できるJuliaという新しい言語を勉強します。

本講義では、学生の皆さんにグループを組んでもらい、グループにより調査・実装・発表を行ってもらいます。最初の「グループワーク1」では、大学の講義中に習った線形代数のトピックについて、実際に計算してもらいます。二つ目の「グループワーク2」では、最適化のアルゴリズムを調査し、それを実装してもらいます。最後の「グループワーク3」では、機械学習のアルゴリズムについて調査・実装してもらいます。

プログラミングの経験は問いません。講義には自分のノートPCを持ってきてもらい、そのPCを使ってプログラミングしてもらいます。

講義情報

  • 時間:金曜日1限

    • 講義:8:30 - 10:00

    • QA:10:00 - 10:15

  • 教室:21KOMCEE West K401

  • キーワード:プログラミング、Julia、最適化、機械学習、線形代数

  • 担当教員:松井勇佑(情報理工学系研究科 電子情報学専攻 講師)

参考書

実践Julia入門

  • 著者名: 後藤俊介

  • 出版社:技術評論社(2023)

  • Juliaの基本的な文法が全て網羅されています。辞書としても使えます。

スタンフォード ベクトル・行列からはじめる最適化数学

  • 著者名: ステファン・ボイド、リーヴェン・ヴァンデンベルグ

  • 出版社:講談社(2021)

  • 最小二乗法を基本とした初等的な最適化問題について、平易な言葉で説明されています。Juliaによるソースコードが配布されています。

スケジュール

週数日程トピック内容連絡事項
Week 14/5ガイダンス
Week 24/19共通講義
Week 34/26Julia言語入門現地講義開始
Week 45/3Julia言語入門休日だが講義がある日
5/10休講
Week 55/15グループワーク1線形代数の講義の内容をJuliaで検証する水曜なので注意
Week 65/17グループワーク1線形代数の講義の内容をJuliaで検証する
Week 76/7グループワーク1発表会
Week 86/14グループワーク2最適化のアルゴリズムを調査・実装する
Week 96/21グループワーク2最適化のアルゴリズムを調査・実装する
Week 106/28グループワーク2発表会
Week 117/5グループワーク3機械学習のアルゴリズムを調査・実装する
Week 127/12グループワーク3機械学習のアルゴリズムを調査・実装する
Week 137/16グループワーク3発表会補講日の講義です

実行環境について

Amazon SageMaker Studio Labという仕組みを使う。

参考リンク

Juliaを扱っている他の講義の情報を以下に示します。Juliaを用いたより発展的な内容に取り組みたければ、以下の講義を参考にしてください。

CC BY-SA 4.0 Yusuke Matsui. Last modified: July 11, 2024. Website built with Franklin.jl and the Julia programming language.