このスライドはコミュニティイベント「Python x 数学ブートキャンプガイド」での発表資料です。
https://math-coding.connpass.com/event/279924/
Python × 数学ブートキャンプガイド2023/04/29中井悦司 / Etsuji Nakaiこのスライドはコミュニティイベント「Python x 数学ブートキャンプガイド」での発表資料です。
View Slide
中井 悦司 / Etsuji Nakai$ who am i新発売!
AI / 機械学習と数学の関係
「機械学習モデルの設計」とは?● 世の中に現れるデータは、何らかの「理論」に従って発生しているはず● 背後の「理論」が完璧に分かれば、すべてのデータを正確に予測できるはず○ 例:天候変化の理論が完璧にわかれば、天気予報は絶対に当たるはず● 現実には、完璧な理論はわからないので、まずはシンプルな数式でどこまで当たるか試してみる⇨ いきなり複雑なものを考え出すと、選択肢が多過ぎてどれがよいか分からないので、シンプルなものから徐々に複雑なものへと変えていくのがよい「数理科学」の信念?機械学習の考え方
最もシンプルなモデル = 線形モデル● 一次関数で予測する● 計算が高速● 入力データを工夫することで実用的な予測も可能● 線形多項分類器⇨ 分類したい個数分だけ一次関数を用意いわゆる「特徴量エンジニアリング」複数の一次関数をまとめて処理するテクニック(=線形代数)が活躍!
ニューラルネットワークも線形代数が基礎● 分類問題であれば、最後は、線形多項分類器で予測● 前段部分は、入力データから分類に適した「特徴量」を抽出するフィルターのようなもの
ニューラルネットワークも線形代数が基礎● 分類問題であれば、最後は、線形多項分類器で予測● 前段部分は、入力データから分類に適した「特徴量」を抽出するフィルターのようなもの最後は一次関数で予測入力データを変形して、予測に役立つ情報を抽出
確率モデル = 確率値を予測する● 世の中には、本質的に「確率的に発生するデータ」が存在する● 「あるデータが得られる確率」を計算する確率モデルを構築する● 誤差関数 =「モデルが予測する確率で発生させたデータ」と「実際に観測されたデータ」がどの程度一致するかを表す指標※ 詳しくは小島さんパートで!「数理科学」の考え方
モデルの学習:誤差関数を最小にするパラメーターを求める● 勾配降下法:「微分計算=グラフの傾き」という関係を利用して、誤差関数小さくする方向にパラメーターを修正※ 詳しくは辻さんパートで!
Explainable AI(説明可能な AI)● モデルが入力データからどのような情報を抽出しているのかを理解する● 抽出された情報の関係を幾何学的に理解する際に「集合と位相」が役立つ最後は一次関数で予測入力データを変形して、予測に役立つ情報を抽出
データの配置を幾何学的に理解する※ 詳しくは小島さんパートで!
Thank you!
線形代数
参考資料
記事内で取り扱っているトピック● 行列計算(和・差・スカラー倍・行列積)● 行列式と逆行列● 平面ベクトルの一次変換● 空間ベクトルへの拡張回転処理を行うサンプルコードを掲載
特に工夫したポイント● 一次変換のイメージを数式とあわせて、いかに分かりやすく伝えるか
一次変換の定義変換前 変換後A
一般のベクトルは、標準基底の線形和になっている標準基底
一次変換 = 係数を固定して、標準基底を変換
標準基底を回転すると平面全体が回転するの場合
一次変換を表す行列は、標準基底の行き先を並べたもの45 度回転を表す行列の行き先の行き先
一次変換を表す行列は、標準基底の行き先を並べたもの
一次変換による平面の変形例
行列式は一次変換の拡大率