• 検索結果がありません。

第3回 回帰(線形)

N/A
N/A
Protected

Academic year: 2021

シェア "第3回 回帰(線形)"

Copied!
10
0
0

読み込み中.... (全文を見る)

全文

(1)

機械学習

3 回 回帰(線形)

白浜 公章

(2)

前回の復習といくつかのメモ

復習

• コスト関数のテイラー級数近似

• 最適化の 1 階条件

• 凸性

• 最適化手法

o 最急勾配法: 1 階のテイラー級数近似に基づく o ニュートン法: 2 階のテイラー級数近似に基づく

メモ

1. jupyter-notebook で ” IOPub data rate exceeded” というエラーが出たとき

jupyter-notebookで使用するメモリが不足しているで、増やしてやる

https://aotamasaki.hatenablog.com/entry/2018/04/08/123146

https://stackoverflow.com/questions/43288550/iopub-data-rate-exceeded-when-viewing-image-in-jupyter-notebook

2. jupyter-notebook

で、

”Code”

モードだけでなく、

”Markdown”

モードも抑えておく

簡単にメモ書きができる:https://qiita.com/tbpgr/items/989c6badefff69377da7

Latexと同じ記法で数式が書ける:https://qiita.com/PlanetMeron/items/63ac58898541cbe81ada

3. jupyter-notebook

で、下準備の部分を

2

回実行すると、インタラクティブモードが

ON

になり、

3

次元の図を動かせる(多分)

4. Safari

でダウンロードすると、コードのファイル名の最後に

”.txt”

が追加される

ことがあるので、そのときは

”.txt”

を削除する

(3)

今日のポイント

回帰問題

事例:(特徴、 ラベル(連続値))

特に、下記の 3 項目について学ぶ

• 線形回帰

• 最小 2 乗コスト関数

• 知識に基づく特徴デザイン

今後の講義のベースになるので、

頑張って理解すること!

正確な予測ができる モデルを学習する

株価

歳入

企業の歳入から 株価を予測

遺伝子マーカーの値から、血圧やグルコースレベルを推定

非雇用率、教育レベル、人口、面積等から、GDPを推定

(4)

線形回帰( Linear Regression )とは?( 1/2 )

❑ 事例(特徴( feature )、 ラベル( label 、連続値))の定義

• 𝑃 個の学習データ: 𝒙

1

, 𝑦

1

, 𝒙

2

, 𝑦

2

, ⋯ 𝒙

𝑃

, 𝑦

𝑃

• 𝑝 番目の学習事例: 𝒙

𝑝

, 𝑦

𝑝

𝑃 個の学習データを解析して、 𝒙

𝑝

から 𝑦

𝑝

を正確に予測可能なモデルを学習する

➢ 𝒙

𝑝

が 1 次元の場合

スカラーなので

𝒙𝑝 = 𝑥𝑝

2

次元空間(

𝑥𝑝

𝑦𝑝

)内でデータを 近似する直線を求める

➢ 𝒙

𝑝

が 𝑁 次元の場合

𝒙𝑝 = 𝑥1,𝑝 𝑥2,𝑝 ⋯ 𝑥𝑁,𝑝 𝑇

𝑁 + 1

次元空間(

𝒙𝑝

𝑦𝑝

)内でデータを 近似する超平面を求める

企業の歳入からの株価予測 遺伝子マーカーからのグルコースレベル/血圧予測

非雇用率、教育レベル、人口、面積等からのGDP予測

(5)

線形回帰( Linear Regression )とは?( 2/2 )

➢ 𝒙

𝑝

が 1 次元の場合

スカラーなので

𝒙𝑝 = 𝑥𝑝

2

次元空間(

𝑥𝑝

𝑦𝑝

)内でデータを 近似する直線を求める

➢ 𝒙

𝑝

が 𝑁 次元の場合

𝒙𝑝 = 𝑥1,𝑝 𝑥2,𝑝 ⋯ 𝑥𝑁,𝑝 𝑇

𝑁 + 1

次元空間(

𝒙𝑝

𝑦𝑝

)内でデータを 近似する超平面を求める

𝑏 + 𝑥𝑝𝑤 ≈ 𝑦𝑝 𝑏 + 𝒙𝑝𝑇𝒘 ≈ 𝑦𝑝 𝒘 = 𝑤1 𝑤2 ⋯ 𝑤𝑁 𝑇

学習データに対して、最も正確な予測ができるモデルパラメータを探索する

バイアス(Bias、切片) 重みベクトル(Weight vector、傾き)

(6)

パラメータ

(𝑏, 𝒘)

のモデルがあるとき、各学習事例ごとに、予測値

𝑏 + 𝒙𝑝𝒘

と実際のラベル

𝑦𝑝

との

2

乗誤差を算出し足し合わせる

𝑔 𝑏, 𝒘 = ෍

𝑝=1 𝑃

𝑏 + 𝒙𝑝𝑇𝒘 − 𝑦𝑝 2

𝑔 𝑏, 𝒘

を最小化するパラメータ

𝑏, 𝒘 = argmin 𝑔(𝑏, 𝒘)

を求める!

最小 2 乗コスト関数

( Least Squares Cost Function )

どれだけ学習 データにフィット

しているか

前回の数値最適化手法の出番!

特に、 𝑔 𝑏, 𝒘 は凸関数

𝑔 𝑏, 𝒘 2階微分は、下記のようになる

2𝑔 𝑏, 𝒘 = 2𝑿𝑇𝑿 この形は半正定値

𝑿 =

1 1

𝑥1,1 𝑥1,2 1 𝑥1,𝑃

𝑥𝑁,1 𝑥𝑁,2 ⋯ 𝑥𝑁,𝑃

各事例のN次元特徴、プラス1を列方向 に並べたもの(次のスライド)

このデータの直線モデル(線形モデル)に対するコスト関数

(7)

線形回帰における最小 2 乗コスト関数の最適化

𝑔 𝑏, 𝒘 = ෍

𝑝=1 𝑃

𝑏 + 𝒙𝑝𝒘 − 𝑦𝑝 2

ここで、

𝒙𝑝 = 𝑥1,𝑝 𝑥2,𝑝 ⋯ 𝑥𝑁,𝑝 𝑇 𝒘 = 𝑤1 𝑤2 ⋯ 𝑤𝑁 𝑇

𝑔 ෥𝒘 = ෍

𝑝=1 𝑃

𝒙෥𝑝𝑇𝒘 − 𝑦෥ 𝑝 2

ここで、

𝒙𝑝 = 1 𝑥1,𝑝 𝑥2,𝑝 ⋯ 𝑥𝑁,𝑝 𝑇

𝒘 = 𝑏 𝑤1 𝑤2 ⋯ 𝑤𝑁 𝑇

𝒙𝑝の先頭に1

𝒘の先頭に𝑏

を加えて、内積だけで必要な 計算が終わるようにする

∇𝑔 ෥𝒘 = 2 ෍

𝑝=1 𝑃

෥𝒙𝑝 ෥𝒙𝑝𝑇𝒘 − 𝑦෥ 𝑝 = 2 ෍

𝑝=1 𝑃

෥𝒙𝑝෥𝒙𝑝𝑇 𝒘 − 2 ෍෥

𝑝=1 𝑃

෥𝒙𝑝𝑦𝑝

この 1 階微分を用いて最急勾配法(または、 2 階微分を用いてニュートン法)

コード 3_linear_regression.ipynb参照

(線形回帰においては、下記のような最適化も可能!)

線型方程式ソルバを用いて、最適化の1階条件∇𝑔 ෥𝒘 = 0を直接解く(実際、一番効率的)

𝑝=1 𝑃

𝒙𝑝𝒙𝑝𝑇 𝒘 = ෍

𝑝=1 𝑃

𝒙𝑝𝑦𝑝 𝑿෩𝑿𝑻𝒘 = ෩ 𝑿𝒚

∇𝑔 ෥𝒘 = 0に対して、逆行列 もしくは、疑似逆行列 を求めて、以下のように解く

𝒘 =

𝑝=1 𝑃

𝒙𝑝𝒙𝑝𝑇

−1

𝑝=1 𝑃

𝒙𝑝𝑦𝑝

𝑿は෥ 𝒙𝑝を列方向に並べた行列(𝑁 × 𝑃)

𝒚は𝑦𝑝を縦に並べた列ベクトル(𝑃 × 1)

(8)

学習した線形回帰モデルのテスト

最適パラメータが、 𝒘 ෥

= 𝑏

𝒘

∗ 𝑇

として求まったとして、モデルの性能を評価したい

(ここで、𝒘 = 𝑤1 𝑤2 ⋯ 𝑤𝑁∗ 𝑇

代表的な評価尺度として、テスト事例に対する平均 2 乗誤差( MSE: Mean Squared Error

𝑄個のテストデータ: 𝒙𝑡1, 𝑦𝑡1 , 𝒙𝒕2, 𝑦𝑡2 , ⋯ 𝒙𝑡𝑄, 𝑦𝑡𝑄

𝑞番目の学習事例: 𝒙𝑡𝑞, 𝑦𝑡𝑞 𝒙𝒕𝒒 = 𝑥1,𝑡𝑞 𝑥2,𝑡𝑞 ⋯ 𝑥𝑁,𝑡𝑞 𝑇

MSE = ෍

𝑞=1 𝑄

𝑏

+ 𝒙

𝒕𝑞𝑇

𝒘

− 𝑦

𝑡𝑞 2

学習で使用していないテスト事例に対してどれだけにフィットしているか?

モデルの汎化性能( Generalisation power ) 超重要!

もちろん、学習事例に対してもMSEを計算できる。

モデルが学習事例にうまくフィットしていたら、

MSEはかなり小さいはず。

当たり前だが、

(学習事例に対するMSE<(テスト事例に対するMSE

この差がいかに小さいかが汎化性能

(9)

知識に基づく特徴デザイン

変換後の特徴空間で線形回帰

多くの場合、特徴とラベルの関係は非線形(直線や超平面はうまく近似できない)

もしデータに対して深い知識があれば、特徴を変換し、高精度な近似を行えることがある

(元の特徴空間) (変換後の特徴空間)

特徴変換

𝑥𝑝 → 𝑓 𝑥𝑝 = sin(2𝜋𝑥𝑝)

必要であれば、元の特徴空間に逆変換できる 𝑓 𝑥 → 𝑥 = 1

2𝜋sin−1(𝑓 𝑥 )

(学習するモデル)

𝑏 + 𝑓(𝑥𝑝)𝑤 = 𝑏 + sin(2𝜋𝑥𝑝) ≈ 𝑦𝑝

(コスト関数)

minimize

𝑏,𝑤 𝑔(𝑏, 𝑤)

= minimize

𝑏,𝑤

𝑝=1 𝑃

𝑏 + 𝑓𝑝𝑤 − 𝑦𝑝 2

(変換後の空間での最適化)

෨𝒇𝑝 = 1 𝑓𝑝 𝑇, 𝒘 = 𝑏 𝑤 1 𝑇 として、

𝑔 ෥𝒘 = ෍

𝑝=1 𝑃

෨𝒇𝑝𝑇𝒘 − 𝑦 𝑝 2

となり、これまでと同じ

コード3_feature_engineering.ipynb参照

(10)

特徴デザインの難しさ

ここまでで“いい特徴(変換)”とは、

変換後の特徴空間中で高精度な線形回帰ができる

上記により、元の特徴空間での非線形回帰が実現できている

残念ながら、

こんなことは非常に稀

このデータを、

𝑓 𝑥 = 𝑒3𝑥sin(3𝜋2 𝑥 − 0.5 ) 3𝜋2(𝑥 − 0.5)

と変換すれば、線形回帰できるなんて、誰が分かる???

元の特徴が1, 2次元ならデータを視覚的に見て、有効そうな 特徴(変換)を検討づけられるかも知れないが、実際に扱う データの特徴は100次元以上で視覚化不可能!

(画像処理なら数千次元、テキスト処理なら数十万次元はザラ)

データを解析して、有用な特徴を自動的に抽出する特徴学習の必要性!

( 7 回目以降は全てコレに関すること)

参照

関連したドキュメント

今回の授業ではグループワークを個々人が内面化

つの表が報告されているが︑その表題を示すと次のとおりである︒ 森秀雄 ︵北海道大学 ・当時︶によって発表されている ︒そこでは ︑五

このように雪形の名称には特徴がありますが、その形や大きさは同じ名前で

Q-Flash Plus では、システムの電源が切れているとき(S5シャットダウン状態)に BIOS を更新する ことができます。最新の BIOS を USB

最愛の隣人・中国と、相互理解を深める友愛のこころ

熱が異品である場合(?)それの働きがあるから展体性にとっては遅充の破壊があることに基づいて妥当とさ  

□ ゼミに関することですが、ゼ ミシンポの説明ではプレゼ ンの練習を主にするとのこ とで、教授もプレゼンの練習

社会的に排除されがちな人であっても共に働くことのできる事業体である WISE