📚
学習について(機械学習)
学習について学ぶ
機械学習のワークフロー中の学習について、学んでいきます。
学習とは…前処理でキレイにしたデータを用いて精度の高いモデルを生成すること
学習の段階で行うことは
- 複数あるモデルの中から最適なモデルを選択する(モデル選択)
- 選択したモデルに前処理済みのデータを用いて学習させる
- より精度がよくなるように調整する(パラメータチューニング)
モデルの種類
実はモデルには様々な種類がある
- ロジスティック回帰...線形回路式をシグモイド関数にかけて確率値と解釈
- ニューラルネットワーク...ロジスティック回路の仕組みに隠う層ノードを追加
- サポートベクターマシン...2クラスの標本値と境界線の距離を基準に最適化
- 単純ベイズ...ベイズの公式を用いて観測値から確立を更新
- 決定木...特定の項目の値を基準に分類
- ランダムフォレスト...複数の決定木の多数決で分類を実施
データやモデルに適したモデルを選択しないと思った成果を挙げることは難しい!
パラメータについて
モデルを選択した後はパラメータを決める必要がある
- パラメータ...機械学習モデルにおける設定値や制限値のこと
※ハイパーパラメータともいう - パラメータチューニング
モデルの精度が上がるようにパラメータを調整して設定すること
パラメータチューニングの法王は手動調整と自動調整がある
例:決定木モデル
決定木モデル:
段階的にデータを分割していき、木のような分析結果を出力する分析手法
・羽はあるか
↓
YES
↓
・飛べるか
↓ ↓
YES NO
↓ ↓
ハト ペンギン
※1つ1つをノードという
決定木モデルではこの質問の層(ノード)などがパラメータとなる
このパラメータを調整(チューニング)することでモデルの精度向上を図る!
・質問の層を減らせば予測値のバリエーションは少なくなり、シンプルに
・質問の層を増やせば予測値のバリエーションが多くなり、複雑に
シンプルすぎれば適合不足、複雑すぎれば過学習を起こしたモデルに、、!
他の主要なパラメータ(決定木モデル)
- max_depth...ツリーの最大深度
- min_samplessplit...ノードを分割するために必要な最小サンプルサイズ
- max_features...最適な分割をするために考慮kする特微量の数を指定
- random_state...結果を固定する際に数字を指定
パラメータの自動設定
- グリッドサーチ
探索するパラメータの範囲をあらかじめ設定し、すべての組み合わせを決定
…計算量が膨大になる - ランダムサーチ
探索するパラメータの範囲をあらかじめ設定し、ランダムにパラメータを探索
…計算量を抑えながら、様々な施行を行うことができるが、効果が低いものもでてくる
所感
今回は機械学習の中でも「学習」について学びました。
AIを作成する流れが少しずつイメージできている反面、
上記のような設定を実際の開発環境でどうやるのか、気になります。
次は最後、評価の部分になります!
Discussion