データの境界

なんちゃって理系がデータ分析業界に入ってからの汗と涙の記録。

データ分析まわりの理解を再整理

457はてブって何事だと思ってみたら勉強になった

www.slideshare.net

 

多分初心者向けではなくて、チョット勉強を初めて、勉強していく中で「その単語聞いたことある」けど意味を知らない/よくわからないことが多くなってきたころに見るといろいろ理解が深まる感じの内容だと思われます。自分も改めて整理できたことがたくさんあり非常に勉強になりました。

 

以下、自分が勉強になった点のメモ

 

++++++++++++++++++++++++++++++++++++

2.機械学習のこと
 
教師あり学習 supervised learning
データが入力と出力のペアから成る
・分類(識別)classification :出力がラベル
・回帰 regression : 出力が数値
 
教師なし学習 unsupervised learning
データは入力のみ
・頻出パタンマイニング
・外れ値検出 outlier detection
 
教師あり学習
・線形モデル(単/重回帰)
・ロジスティック回帰
・判別分析
・k近傍法
・決定木
・ナイーブベイズ
・ランダムフォレスト
 
教師なし学習
・Apriori
・One-class SVM
 
アルゴリズムによってはデータの分布などに仮定をおいているものがある
仮定に合わないデータを分析した場合、適切な結果がえられないこともある
・線形モデルは誤差が等分散 正規分布であることを仮定
・K-meansのクラスタリングは各クラスタが同じ大きさの球形であることを仮定している -> クラスの大きさに差がある場合は混合正規分布(gaussian mixture model)を使う
 
3.評価のこと
 
・平均絶対誤差 mean absolute error 略してMAE 小さいほどgood
・平均二乗誤差 mean squared error 略して MSE 小さいほどgood
・決定係数R二乗 coefficient of determination
  →目的変数が説明変数をどれくらい説明するか 0(悪い)〜1(良い)
・精度 accuracy 正解数÷データ率
・誤差率 error rate 1-精度
 
1万人のデータのうち、100人が陽性の場合、常に陰性と判断するモデルの精度は99%となってしまう。これは実際は良いモデルではないのに
=> そこで、混合行列 confusion matrix(true positive, true negativeとかの4つの表のやつを作る)
=> 混合行列から 適合率precision、再現率recall、F値、真陽性率true positive、擬陽性率false positive rateなどを求めモデルを評価する
=> しかし、そのそのこのように偏りのあるデータは予想が困難である
 
真陽性率と擬陽性率はトレードオフ
・ROC曲線 ...モデルのパラメータを変化させながら、擬陽性率と真陽性率をプロットしたもの
・AUC …ROC曲線の下側の面積 1.0が最良
 
第3章をまとめると、
・精度 本当に高いだけでいいのか? => 他の指標も比較する
・ROC曲線、AUC 真陽性率と偽陽性率のトレードオフを可視化
 
4.分析のこと
モデルのパラメータの探索
パラメータ調整 => 経験によるところが大
 
誤差0.0/F値1.0の完璧なモデルができた? ->本当?
=> そのモデルは未知のデータを正しく予測できるか?
 
過学習 over fitting
与えられたデータに(ノイズも含めて)過度に適合してしまい、訓練誤差は小さいが、未知のデータに対する性能が低下してしまう状態
 
汎化性能
未知のデータに対する性能(汎化性能)を定量化した汎化誤差を小さくすることが重要
 
正則化 regularization
モデルを学習する際に複雑さが増すことに対するペナルティーを設け過学習を防ぐ
複雑さの指標: L2ノルム、L1ノルム、etc
 
正則化を考慮した線形モデル
・リッジ回帰 ridge regression :L2ノルム
・Lasso : L1ノルム
 
正則化しすぎても性能がでない(under fitting)
 
交差検定 cross validation
データを学習用と評価用に分割する
 
データ分割の方法
・ランダムにK分割
・1サンプルとそれ以外に分割 Leave-one-out cross validation(LOOCV)
・ラベルの比率を保ったまま分割 Stratified cross validation
=> ラベルの比率に偏りのある場合に有効
 
時系列データは前後のデータ関係が大切 => ランダムにサンプリングしてはダメ
 
学習データと評価データの両方に同じ被験者データが含まれると汎化誤差が不当に小さくなる
 
「真のモデル」と「推定したモデル」の間には2つの差がある
Bias:モデルの能力に起因する差
Variance:サンプルに起因する差
 
モデルの差が大きいが、サンプルのばらつきは小さい => high bias/low variance
モデルの差が小さいが、サンプルのばらつきが大きい => low bias/high variance
 
BiasとVarianceはトレードオフの関係
 
柔軟性の低いモデル
バイアス大、バリアンス小 => high bias。しかしunder fittingになるかも
 
柔軟性の高いモデル
バイアス小、バリアンス大 => high variance。しかし過学習over fittingになるかも
 

++++++++++++++++++++++++++++++++++++