予測モデル構築プロジェクトが始まる前の基礎情報インプット(個人用メモ)
0. メモの概要
大学のプロジェクトで、予測モデルの作成とそのモデルの結果を踏まえ、課題解決の重要性を解き、Fundの獲得を目指す。そのために前提知識として必要な情報をメモする。具体的な内容は、AIアルゴリズムの構築に必要な前提知識や、AIアルゴリズムの改善に向けたTipsを含む。
1. AIモデル構築前 (i.e., 前提として決めておきたいこと)
そもそものモデルの種類
予測に使えるのは何?線形回帰、ロジスティック回帰、決定木、など、、他にある? NN?
モデル構築手法
それぞれのモデルの計算式をなるべく把握しておく。
そのモデルを採用した時、コスト関数を何とするか?把握する。
そのモデルを採用した時、コスト関数をどうしたいのか?(Minimaise?など)を把握する
コスト関数をあるべき状態に近づけるために、どうすればよいか?を把握する(再急降下法など)
αは小さすぎ、大きすぎに注意。まずは小さいところから徐々に増やす。
そして、同じIteration回数でそれぞれのコスト関数の落ち方を確認する。
発散したら、それはαが大きいことを意味する。
なお、このとき、偏微分(や、他変数の時はベクトル)が使われている。
2. AIモデル構築中・構築後
(i.e., AIモデル改善に向けたTips)
特徴量エンジニアリング
変数のスケーリング
Mean normalisation,
Z-score mormalisation
データを最大値で割る。 など ⇨ これらの方法は、計算効率化にもつながる
既存の変数を使って、新たな変数を増やす(x1やx2を使って、x3を作ってみるなど Feature engineeringと呼ぶ)
モデルの評価・選択
Training set, Validation set, Test set (80%:20%:20%)
High bias (Under fitting) or/and High variance(Over fitting)=> Use one of the 6 approaches to fix them.
More data -> fix high variance
Reduce feature -> fix high variance
Add feature -> fix high bias
Add polynomial feature -> fix high bias
Reduce λ -> fix high bias
Increase λ -> fix high variance
コスト関数がTraining setもValidation setもLowを目指す。(下記いずれかでBaselineを設定しHigh or Lowを特定する。
Human performance
Algorithm comparison
Guess based on the experience
Normalisation (for avoiding overfit?) *よくわからない。
歪んだデータセットに対するエラー・メトリクス
Precision:Predict=1の精度を高めたい。
Recall:Actual1を絶対に見落としたくない。
F1 Score: PとRの調和平均
何を持って、Predict=1/0と判断させるかは、人間の判断が必要
3. その他
計算効率化手法
計算を効率化するために、変数のベクトル化を行う。
他変数でベクトル化なしだと、for文などが必要で計算に時間がかかるため。
4.Reference
Stanford online Machine learning Specialization (provided on Coursera) (https://www.coursera.org/specializations/machine-learning-introduction)