$30 off During Our Annual Pro Sale. View Details »

機械学習を理論から真剣に取り組んでみた件 その2:線形化に挑戦しよう!

機械学習を理論から真剣に取り組んでみた件 その2:線形化に挑戦しよう!

カーネル法を用いて、線型の形で最小化問題に挑むことができるようにする方法についてです。今回では、多項式回帰について適用しています。

More Decks by NearMeの技術発表資料です

Other Decks in Science

Transcript

  1. 0
    機械学習を理論から真剣に取り組んでみた件
    その2:線形化に挑戦しよう!
    2023-08-18 第56回NearMe技術勉強会
    Asahi Kaito

    View Slide

  2. 1
    前回のスライドの復習から始めます

    View Slide

  3. 2
    1. 回帰について
    1-1. 線形な単回帰と重回帰
    ● 単回帰
    ○ 1つの変数 x に依存してある従属変数 y が関係あると仮定する
    ○ 線形な単回帰では、以下の関係 (1) を仮定、ただしci (i=0, 1)は定数
    ○ 問題 → ci (i=0, 1)の決定!!

    View Slide

  4. 3
    1. 回帰について
    1-1. 線形な単回帰と重回帰
    ● 単回帰
    ○ 問題 → ci (i=0, 1)の決定(最適な直線を引こう!)!!

    View Slide

  5. 4
    1. 回帰について
    1-1. 線形な単回帰と重回帰
    ● 線形な単回帰の基本的な解法
    ○ 訓練データ                     
    を用いて、以下の誤差関数を最小化できるci (i=0, 1)を求める。

    View Slide

  6. 5
    1. 回帰について
    1-1. 線形な単回帰と重回帰
    ● 線形な単回帰の基本的な解法
    ○ 連立方程式を行列で表現して...

    View Slide

  7. 6
    1. 回帰について
    1-1. 線形な単回帰と重回帰
    ● 線形な単回帰の基本的な解法
    ○ 答え(係数行列の逆行列が存在すれば)

    View Slide

  8. 7
    1. 回帰について
    1-1. 線形な単回帰と重回帰
    ● 重回帰
    ○ 複数の変数 xi
    (i=1, 2, 3, …, d) に依存している従属変数 y が関係あると仮定する
    ○ 線形な重回帰では、以下の関係 (1) を仮定、ただしci (i=0, 1, 2, …, d)は定数
    ○ 問題 → ci
    (i=0, 1, 2, …, d) の決定!!

    View Slide

  9. 8
    1. 回帰について
    1-1. 線形な単回帰と重回帰
    ● 重回帰
    ○ これを、訓練データ分計算する必要があるので、さらに行列に拡張する

    View Slide

  10. 9
    1. 回帰について
    1-1. 線形な単回帰と重回帰
    ● 重回帰
    ○ ここでも、二乗誤差を計算してみる

    View Slide

  11. 10
    1. 回帰について
    1-1. 線形な単回帰と重回帰
    ● 重回帰
    ○ ベクトルで微分を行って、この値が0となるとき、
    これが存在すれば

    View Slide

  12. 11
    1. 回帰について
    1-2. 非線形な単回帰と重回帰
    ● 非線形とは
    ○ 説明変数が1次以外のものが含まれている
    ○ 例1:
    ○ 例2:
    → ものによっては、線形のときのようにうまくいかないものも... → なんとか線形化できないか?

    View Slide

  13. 12
    2回目:線形化手法 〜カーネル法〜

    View Slide

  14. 13
    2. 線形化手法 〜カーネル法〜
    2-1. カーネル関数について
    2-1-1. カーネル関数とは
    ● kが集合X上の2変数関数
    ● 以下の2つを満たすとき、kは集合X上のカーネル関数という
    (1)
    (2)

    View Slide

  15. 14
    2. 線形化手法 〜カーネル法〜
    2-1. カーネル関数について
    2-1-2. カーネル関数の必要性
    ● 次元を上げることができる
    ○ どういうこと?
    ■ k(x, y)の分布は、x, yが実数であれば、3次元に分布する(z=k(x, y))
    ■ 高次元化することで、分類がより明確になることがある

    View Slide

  16. 15
    2. 線形化手法 〜カーネル法〜
    2-1. カーネル関数について
    2-1-3. カーネル関数の例
    ● 以下の2つのものは、カーネル関数の例
    (1)            
    (2) 

    View Slide

  17. 16
    2. 線形化手法 〜カーネル法〜
    2-1. カーネル関数について
    2-1-4. カーネル関数の特徴
    ● カーネル関数の和や積も、カーネル関数になる
    (1)             
    (2)            

    View Slide

  18. 17
    2. 線形化手法 〜カーネル法〜
    2-1. カーネル関数について
    2-1-4. カーネル関数の特徴
    ● これらを組み合わせて、カーネル関数を構築していく→どんなものがあるのかな?
    (1)
    (2)
    (3)
    (4)

    View Slide

  19. 18
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の構築
    2-2-1. カーネル関数の具体例
    ● 以下の関数(ガウスカーネル)がカーネル関数であることを示しましょう

    View Slide

  20. 19
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の構築
    2-2-1. カーネル関数の具体例
    ● 以下の関数(ガウスカーネル)がカーネル関数であることを示しましょう
    (1)

    View Slide

  21. 20
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の構築
    2-2-1. カーネル関数の具体例
    ● 以下の関数(ガウスカーネル)がカーネル関数であることを示しましょう
    (1)

    View Slide

  22. 21
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の構築
    2-2-1. カーネル関数の具体例
    ● 以下の関数(ガウスカーネル)がカーネル関数であることを示しましょう
    (1)

    View Slide

  23. 22
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の構築
    2-2-1. カーネル関数の具体例
    ● 以下の関数(ガウスカーネル)がカーネル関数であることを示しましょう
    (1)

    View Slide

  24. 23
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の構築
    2-2-1. カーネル関数の具体例
    ● 以下の関数(ガウスカーネル)がカーネル関数であることを示しましょう
    (2)

    View Slide

  25. 24
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の構築
    2-2-1. カーネル関数の具体例
    ● 以下の関数(ガウスカーネル)がカーネル関数であることを示しましょう
    (2)

    View Slide

  26. 25
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の利用(多項式回帰)
    入力データ             
    出力データ               
    以下を最小にする次数が d 以下の多項式 f を見つけよ。

    View Slide

  27. 26
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の利用(多項式回帰)
                 
    適当なベクトル            
    以下の多項式 fv の次数は d 以下となる。

    View Slide

  28. 27
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の利用(多項式回帰)
                       
    で張られる空間への直交射影 P を用いると、

    View Slide

  29. 28
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の利用(多項式回帰)
    よって、以下のようにベクトル v を設定して良い!

    View Slide

  30. 29
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の利用(多項式回帰)

    View Slide

  31. 30
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の利用(多項式回帰)

    View Slide

  32. 31
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の利用(多項式回帰)
    → 係数 c を分離することができた!!
    カーネル関数

    View Slide

  33. 32
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の利用(多項式回帰)

    View Slide

  34. 33
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の利用(多項式回帰)
    入力データ             
    出力データ               
    以下を最小にする次数が d 以下の多項式 f を見つけよ。

    View Slide

  35. 34
    2. 線形化手法 〜カーネル法〜
    2-2. カーネル関数の利用(多項式回帰)

    View Slide

  36. 35
    2. 線形化手法 〜カーネル法〜
    2-3. カーネル関数の実践(多項式回帰)
    To Colab :
    https://colab.research.google.com/drive/1pGGa5ui-RxsKLNi5Wb50zVLyn3Hbx4Dk?usp=sharing

    View Slide

  37. 36
    次回
    少しステップアップ!カーネル回帰

    View Slide

  38. 37
    参考図書
    http://www.rokakuho.co.jp/data/books/0171.html http://www.rokakuho.co.jp/data/books/0172.html

    View Slide

  39. 38
    Thank you

    View Slide