1
1

More than 3 years have passed since last update.

機械学習モデリングプロセス

Posted at

線形回帰モデル

1.問題設定…機械学習、深層学習ありきではない。ルールベースでも構わない
2.データ選定
3.データの前処理
4.機械学習のモデルの選定…線形回帰、ロジスティック回帰、SVM、k-means、PCA、knn、深層学習
5.モデルの学習
6.モデルの評価
教師あり学習…予測、分類
教師なし学習…クラスタリング、次元削減
機械学習…コンピュータプログラムは、タスクTを性能指標Pで測定し、その性能が経験Eにより改善される場合、タスクTおよび性能指標Pに関して経験Eから学習すると言われている

回帰問題…ある入力から出力を予測する問題
回帰で扱うデータ…入力(各要素を説明変数または特徴量と呼ぶ)
         出力(目的変数)
線形回帰モデル…回帰問題を解くための機械学習モデルの一つ
        教師あり学習
        入力とm次元パラメータの線形結合を出力するモデル
線形結合…入力とパラメータの内積
モデルのパラメータ…モデルに含まれる推定すべき未知のパラメータ
          パラメータを最小二乗法により推定
単回帰モデル…説明変数が1次元の場合
データの仮定…データは回帰直線に誤差が加わり観測されていると仮定
連立方程式…それぞれのデータをモデル式へ当てはめるとn個の式が導出される
データの分割…学習用データ(機械学習モデルの学習に利用するデータ)
       検証用データ(学習済みモデルの精度を検証するためのデータ)
平均2乗誤差…データとモデル出力の二乗誤差の和
最小二乗法…学習データの平均二乗誤差を最小とするパラメータを探索
      回帰の場合には、最尤法による解は最小二乗法の解と一致する
Scit-learn…PythonのOpen-Sourceライブラリ(様々な回帰・分類・クラスタリングアルゴリズムが実装されており、NumPyとSciPyとやりとりするよう設計されている)

ハンズオン(住宅価格予測)
image.png
image.png
image.png

非線形回帰モデル

複雑な非線形構造を内在する現象に対して、非線形モデリングを実施…
 データ構造を線形で捉えられる場合は限られる
 非線形な構造を捉えられる仕組みが必要
基底展開法…回帰関数として、基底関数と呼ばれる既知の非線形関数とパラメータベクトルの線形結合を使用
      未知パラメータは線形回帰モデルと同様に最小二乗法や最尤法により推定
未学習と過学習…未学習(学習データに対して、十分小さな誤差が得られないモデル)
        過学習(小さな誤差は得られたけど、テスト集合誤差との差が大きいモデル)
過学習を防ぐには…
不要な基底関数を削除(基底関数の数、位置やバンド幅によりモデルの複雑さが変化)
正則化法(モデルの複雑さに伴って、その値が大きくなる正則化罰を課した関数を最小化
正則化項の役割…L1ノルムを利用(Lasso推定量)→幾つかのパラメータを正確に0に推定
        L2ノルムを利用(Ridge推定量)→パラメータを0に近づけるよう推定
汎化性能…学習に使用した入力だけでなく、これまで見たこともない新たな入力に対する予測性能
ホールドアウト法…有限のデータを学習用とテスト用の2つに分類し、「予測精度」や「誤り率」を推定するために使用
交差検証…データをイテレータごとに学習用と評価用に分割

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

ロジスティック回帰…分類問題
シグモイド関数…入力は実数、出力は必ず0~1の値
        シグモイド関数の微分は、シグモイド関数自身で表現することが可能
ベルヌーイ分布…確率pで1,確率1-pで0をとる、離散確率分布
尤度関数…データは固定し、パラメータを変化させる
     尤度関数を最大化するようなパラメータを選ぶ推定方法を最尤推定という
ロジスティック回帰モデルの最尤推定…確率pはシグモイド関数となるため、推定するパラメータは重みパラメータとなる
尤度関数を最大とするパラメータを探す…対数をとると微分の計算が簡単
勾配降下法…反復学習によりパラメータを逐次的に更新するアプローチの一つ
確率的勾配降下法…データをランダムに選んでパラメータを更新
         勾配降下法でパラメータを1回更新するのと同じ計算量でパラメータをn回更新できるので効率よく最適な解を探索可能
混同行列…各検証データに対するモデルの予測結果を4つの観点で分類し、それぞれに当てはまる予測結果の個数をまとめた表
分類の評価方法…正解率がよく使われる。正解率が適当でない場合、再現率やプレシジョンを使って評価する
再現率…本当にpositiveなものの中からPositiveと予測できる割合
適合率…モデルがPositiveと予測したものの中で本当にPositiveである割合
F値…理想的にはどちらも高いモデルがいいモデルだが、両者はトレードオフの関係にあり、どちらかを小さくすると、もう片方の値が大きくなってしまう。

タニックのハンズオン
image.png

image.png

image.png

image.png

主成分分析

主成分分析…多変量の持つ構造をより少数個の指標に圧縮→変数の個数を減らすことに伴う、情報の損失を小さくしたい
                          →小数変数を利用した分析や可視化が実現
      係数ベクトルが変われば線形変換後の値が変化→情報の量を分散の大きさと捉える
                           →線形変換後の変数の分散が最大となる射影軸を探索
ノルムが1となる制約付最適化問題を解く
制約付最適化問題の解き方…ラグランジュ関数を最大にする係数ベクトルを探索(微分して0になる点)
ラグランジュ関数を微分して最適解を求める…元のデータの分散共分散行列の固有値と固有ベクトルが、上記の制約付最適化問題の解になる
寄与率…第1~k次元分の主成分の分散は、元のデータの分散と一致
   →2次元のデータを2次元の主成分で表示したとき、固有値の和と元のデータの分散が一致
   →第k主成分の分散は主成分に対応する固有値
第k主成分…昇順に並べたk番目の固有値に対応する固有ベクトルのこと
寄与率…第k主成分の分散の全分散に対する割合
累積寄与率…第1~k主成分まで圧縮した際の情報損失量の割合

乳がんデータ分析のハンズオン
30次元のロジスティック回帰を行ってみると97%で分類できる
image.png
次のグラフから30次元を2次元まで落としても寄与率が約65%だとわかる
image.png
2次元まで圧縮すると分離しきれない

image.png

アルゴリズム

k近傍法…最近傍のデータをk個とってきて、それらが最も多く所属するクラスに識別
     kを変化させると結果も変わる
k近傍法のハンズオン
image.png
image.png

k-means…教師なし学習、クラスタリング手法、与えられたデータをk個のクラスタに分類する

アルゴリズム
1)各クラスタの中心を初期値にする
2)各データ点に対して、中心との距離を計算し、最も距離が近いクラスタを割り当てる
3)各クラスタの中心を計算し直す
4)収束するまで2,3を繰り返す
初期値が近いとうまくクラスタリングできない。初期値の決め方が大事

サポートベクタマシン

サポートベクタマシン…2クラス分類のための機械学習手法
           線型モデルの正負で2値分類
マージン…線形判別関数と最も近いデータ点との距離
決定境界は、いくつも考えられるが、マージンが最大となる線形判別関数を求める
目的関数の導出…各点と決定境界の距離は、点と直線の距離の公式より求める
        マージンとは、決定境界と最も距離の近い点との距離なので、
        最小値を求める
主問題の目的関数と制約条件…ラグランジュ未定乗数法で解く
KKT条件…制約付最適化問題において最適解が満たす条件
主問題と双対問題…主問題の最適解と双対問題の最適解は一対一対応
サポートベクター…分離超平面を構成する学習データは、サポートベクターだけで残りのデータは不要
ソフトマージンSVM…サンプルを線形分離できないとき
           誤差を許容し、誤差に対してペナルティを与える
           パラメータCの大小で決定境界が変化
非線形分離…線形分離できないとき、特徴空間に写像し、その空間で線形に分離する
カーネルトリック…高次元ベクトルの内積をスカラー関数で表現
         特徴空間が高次元でも計算コストを抑えられる
非線形カーネルを用いた分離…非線形な分離が可能
              放射基底関数カーネルを用いる

サポートベクタマシンのハンズオン
image.png
image.png
image.png

3ヶ月で現場で潰しが効くディープラーニング講座
image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1