LoginSignup
0
4

More than 3 years have passed since last update.

G検定メモ⑨ 機械学習の代表的な手法編

Posted at

G検定の勉強中にメモした走り書きを公開するよ。
なんか機械学習の手法をまとめたメモがいくつもあるんだけど、どんだけ機械学習の手法を理解できなかったんだって話だよね。
やばたん


教師あり学習の代表的な手法

・最近傍法 ニアレストネイバー法
最も近い
近接データのカテゴリは同じと言う考え方
単純なのでノイズに弱い

・ナイーブベイズ法
ベイズの定理を用いる
データの特徴ごとに、どのカテゴリに当てはまるのかを確立で表現する
それを掛け合わせた結果に基づいて判断する
全カテゴリ中「与党」と言う単語が含まれる確率
政治カテゴリ中「与党」と言う単語が含まれる確率
スポーツカテゴリ中「与党」と言う単語が含まれる確率
一番確率が高いカテゴリに割り振る

・決定木
ある属性が特定の条件を満たすか否かで分ける
性格判断で使われているのと同様の手法
与党を含む y or n
与党を含む y のなかで、国会を含む y or n
与党と国会両方含む物は政治カテゴリー
質問の木が自動で作られるのが特徴
複数の属性を扱えないので、精度を高くできないと言う特徴もある


1.線形回帰
データ分布に当てはまる直線を引き、xの入力時にyの値を返す
ラッソ回帰 L1ノルム
リッジ回帰 L2ノルム

2.ロジスティック回帰
分類に用いる手法
シグモイド関数を使い、データを0か1に分類する(二つに分類)
ソフトマックス関数を使い、データを複数に分類する

3.ランダムフォレスト
決定木を用いる手法
決定木で全パターンを出したあと、ランダムに選んで多数決をとる(ブーストラップサンプリング)
・複数モデルで学習させる事を「アンサンブル学習」と言う
・全体から一部のデータを用いて複数モデルで学習する方法を「バギング」という

4.ブースティング
全体から一部のデータを抽出して、逐次的に複数モデルで学習する方法を「ブースティング」という
バギングは一気に並列で行う
ブースティングは一つずつ改善しながら行う
・Adaboost
・勾配ブースティング(gradient boosting)
・XgBoost

5.サポートベクターマシン(SVM)
各データ点との距離を最大になる境界線を求めて、パターン分類を行う。
距離を最大化することを「マージン最大化」という
・高次元データ
・線形分類できないデータ
を扱う事もあるので難しい。
「カーネル関数」を使い、データを高次元に写像(カーネルトリック)して、写像後の空間で線形分類する手法をとる

6.ニューラルネットワーク
・単純パーセプトロン
入力層と出力層だけの2層構造
活性化関数として、シグモイド関数を使い0.1に分類する。しかし、これでは線形分類しか出来ない。
・多層パーセプトロン
層の数を増やしたニューラルネットワーク
入力層と出力層の間に、隠れ層を追加したもの。非線型分類も出来る。
誤差逆伝播法(backpropagation)を使い、予測と実際の誤差をネットワークにフィードバックする。

教師なし学習の代表的な手法

クラスタリング
グループ分け
トップダウンとボトムアップの方法がある

トップダウン
1.k-means
クラスタ分析
元データをk個のクラスタ(グループ)へ分類する手法
元データからグループ構造を見つけ出し、それぞれをまとめる
 1.k個のクラスタに分ける
 2.各クラスタの重心を決める
 3.重心と各データとの距離を求め、各データを最も距離が近い重心に対応するクラスタに振り分け直す
 4.重心の位置が変化なくなるまで、2,3を繰り返す

ボトムアップ
・階層的クラスタリング法
全ての2点間のの距離を調べ、最も近い2点を一つのクラスタとする
次に近い2点を同クラスタとする
を繰り返す。最終的に一つのクラスタになる
・相関ルール
[牛乳とヨーグルトを買う客の70%はパンとバターを買う]は全体の3%だ
これを相関ルールと言う
70%を確信度という
30%を支持度という
特定の支持度を決めて、その支持度を超える集合を頻出アイテム集合と呼ぶ

2.主成分分析(PCA)
データの特徴量が多いとき、特徴量を少なくするために使う
データの特徴量の相関を分析することで、データの構造をつかむ手法
相関を持つ多数の特徴量から、相関のない少数の特徴量へと次元削減する
この少数の特徴量のことを主成分と呼ぶ

強化学習

学習を行う主体をエージェントと呼ぶ
エージェントには、状態と、取りうる行為のペアのルール集合が与えられる
ルールは評価値を持っている
エージェントは外界の環境から、現在の自身の状態を把握して、評価値の高いルールを採用実行する
環境から報酬が与えられる
ルールの評価値を変更する
教科学習とは、「行動を学習する仕組み」
ある環境下でもくてきとする報酬を最大化するためにはどのような行動をとっていけば良いのかを学習する。
一連の行動系列の結果としての報酬を最大とするように学習する。
→ロボットの歩行、ブロック崩しゲーム

問題点
・状態をどのように表現するか
・状態に基づいて、どのように行動に結びつけるか

0
4
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
0
4