「ラビット・チャレンジ」機械学習まとめ

<全体の考察等>

 ディープラーニングを学ぶにも機械学習アルゴリズムの考え方がベースとなっていることがよくわかった。GoogleAIブログの講師からの紹介により、何がなんでもディープラーニングではなく、状況に応じて機械学習含めてどのアルゴリズムを適用するか判断していくことが必要と感じた。

 

<修了課題(ステージテスト2)の感想>

 線形回帰でモデルの表現力を下げるということがしっくりこなかったが、説明変数を減らしたり正則化ということもあるということで理解した。

訓練データが多いと過学習が起きやすいというのは実際の予測していく上で適正なデータ量というのを判断していく必要があるということだし、予測したい内容に応じて、適切なデータやアルゴリズムを最初によく検討することが非常に重要だと感じた。

 

◆線形回帰モデル

 <参考図書等>

『イラストで学ぶ機械学習』 杉山先生

数学を学ぶには非常に参考になる良書

 

●線型とは

ざっくりいうと比例のこと

Y=Ax+B(2次元)からはじまり

n次元空間における超平面の方程式もある

●回帰問題

 ある入力から出力を予測する問題

 直線で予測→線形回帰

 曲線で予測→非線形回帰

●線型回帰モデル

 回帰問題を解くための機械学習モデルの一つ

 教師あり学習

 入力とm次元のパラメータの線形結合を出力するモデル

●モデル数式

 説明変数が1次元の場合

 説明変数が多次元の場合

●データの分割とモデルの汎化性能測定

 学習用データと検証用データに分割

●線型回帰モデルのパラメータは最小二乗法で推定

●ハンズオン

住宅価格予測。データに偏りがある時にはデータをもう少し表示して中身を確認することが重要。

f:id:patapata007:20210703092115p:plain

単回帰モデルでの予測

 

非線形回帰モデル

●複雑な非線形構造を内在する事象に対して、非線形回帰モデリングを実施

●基底展開法

単回帰のxの代わりにφ(x)を用いる

多項式関数

ガウス型関数

・スプライン関数/Bスプライン関数

基底展開法も線形回帰と同じ仕組みで推定可能

●未学習と過学習

 未学習 学習データに対して、十分小さな誤差が得られない

 過学習 小さな誤差は得られたけどテスト集合誤差との差が大きい

 →対策 不要な基底関数を削除、正則化

正則化

 L2ノルム→RIdge推定量

 L1ノルム→Lasso推定量

●汎化性能

 学習に使用した入力だけでなくこれまで見たことのない新たな入力に対する予測性能

・ホールドアウト法

・クロスバリデーション

 

f:id:patapata007:20210703093534p:plain

重回帰モデルでの予測

 

◆ロジスティック回帰

<参考図書等>

Using ML to Predict Parking Difficulty

[Google AI Blog :2017 Feb]

識別的アプローチ

生成的アプローチ

●分類問題

ある入力からクラスに分類する問題

●ロジスティック線形回帰モデル

分類問題を解くための教師あり機械学習モデル

シグモイド関数

 出力は必ず0~1

 パラメータが変わるとシグモイド関数の形が変わる

 シグモイド関数微分シグモイド関数自身で表現可能

最尤推定

 尤度関数を最大とするパラメータを探索

●勾配降下法

反復学習によりパラメータを逐次的に更新するアプローチの一つ

確率的勾配降下法

データを一つずつランダムに選んでパラメータを更新

 効率よく最適な解を探索可能

●混同行列

 RecallとPrecision

●ハンズオン

チケット価格から生死を予測

f:id:patapata007:20210703095621p:plain

ロジスティック回帰モデルによる予測

 

◆主成分分析

●多変量データの持つ構造をより少数個の指標に圧縮

係数ベクトルが変われば線形変換後の値が変化

●制約付き最適化問題の解き方

 ラグランジュ関数を最大にする係数ベクトルを探索

 ラグランジュ関数を微分して最適化を求める

 元のデータの分散共分散行列の固有値固有ベクトルが制約付き最適化問題の解となる

●ハンズオン

乳がん検査データを利用しロジスティック回帰モデルを作成

主成分を利用し二次元空間に次元圧縮

f:id:patapata007:20210703100812p:plain

主成分分析予測結果

 

アルゴリズム

 ●k近傍法(kNN)

 分類問題のための機械学習手法

 最近傍のデータをK個取ってきて、それらがもっとも多く所属するクラスに識別

 kを変化すると結果も変わる

 kを大きくすると決定境界は滑らかになる

 ●k-means

    教師なし学習

    クラスタリング手法

    与えられたデータをK個のクラスタに分類する

  ・アルゴリズム

   ①各クラスタ中心の初期値を設定する

   ②各データ点に対して、各クラスタ中心との距離を計算し、最も距離が近いクラスタを割り当てる

   ③各クラスタの平均ベクトルを計算する

   ④収束するまで②③の処理を繰り返す

 ●ハンズオン

 

f:id:patapata007:20210703102545p:plain

k近傍法による予測

f:id:patapata007:20210703102735p:plain

k-meansによる予測結果

 

◆サポータベクターマシン

 ●サポートベクターマシンとは

 ・2クラス分類のための機械学習手法

 ・線形モデルの正負で2値分類

 ・線形判別関数と最も近いデータ点との距離をマージンという

 ・マージンが最大となる線形判別関数を求める

 ●ラグランジュの未定乗数法

 ・制約付き最適化問題を解くための手法

 ・KKT条件

  制約付き最適化問題において最適解を満たす条件

 ・双対問題 

  ラグランジュ関数からW,bを削除

 ●サポートベクター

 ・分離超平面を構成する学習データは、サポートベクターだけで残りのデータは不要

 ●ソフトマージンSVM

 ・サンプルを線形分離できないとき誤差を許容し、誤差に対してペナルティを与える

 ・パラメータCの大小で決定境界が変化

 ●非線形分離

 ・特徴空間に写像し、その空間で線形に分離

 ・カーネルトリック

 ●ハンズオン

f:id:patapata007:20210703105436p:plain

サポートベクターマシンによる予測結果