sonoshouのまじめなブログ

情報系大学生からのウェブ見習い人生の記録

第1回目機械学習勉強会

機械学習の勉強会が研究室でありました。
その備忘録として、記事を書こうと思います。

2クラス分類で多クラスを分類する方法

  • one vs one
  • one vs all

one vs one

A or B → A
A or C → A
B or C → B
⇒結論「A」

one vs all

A or BC → A
B or AC → AC
C or AB → AB
⇒結論「A」


分類とクラスタリング

分類

分類は教師あり機械学習である。
教師データを学習し、未知のデータに対して分類を行う。

クラスタリング

クラスタリング教師なし機械学習である。
似たもの同士を集めて、分類を行う。


主成分分析

概要

多くの変量をできるだけ情報損失なしに1個または互いに独立な少数子の指標で代表する手法。

入力

・データ{X1 ... Xk} , Xi ∈ R^n

出力

・第1主成分方向{a11, ... ,a1n}, 分散λ1
・第k主成分方向{ak1, ... ,akn}, 分散λk

アルゴリズム

1.入力データの共分散行列を求める。
2.共分散行列の固有値固有ベクトルを求める。
3.固有値の大きい順に、対応する固有ベクトルを第1主成分方向、第2主成分方向、…とする。
また、それぞれの固有値を対応する分散とする。

特徴

・次元削減、データ圧縮、特徴抽出、データの可視化など幅広い応用がある。
固有値及び固有ベクトルを算出するため、計算量はO(n3)になる。
・外れ値に対して敏感である。


線形回帰

概要

数値データ間における関係を関数で表す。
最小二乗法を曲線に適用する。

入力

・実数をとる入力変数xn(n=1,...,N)
・目標変数の値yn(n=1,...,N)

出力

・f(xn)=ynを満たす関数fのうち最も適切なもの

アルゴリズム

1.関数を表現するベースとして基底関数を決定する。
2.求めたい関数f(x)を、重みwiをパラメータとした基底関数の集合で表す。
3.パラメータwiを二乗誤差を用いて計算する
※基底関数の個数が多いほど表現力はあがるが、過学習の問題がある。

工夫

過学習するときとは、
激しく振動するとき⇒曲線の係数の絶対値が大きい
f(x)の係数wにはあまり大きな値をとってほしくない。⇒ペナルティの導入

w ^2というペナルティを与える。

二乗にする理由として、
微分して1次式に落とせる→ベクトルで計算できる。
・局所解が帯域解となる。


フィッシャーの線形判別(分類問題)

概要

あるクラスに属するデータを入力として、クラスの分離度を最大化する直線を得る

入力

ラベル付きされたデータ集合
Xn(n∈C1), Xn(n∈Cn)

出力

データを1次元に射影したとき、クラス間の分散を大きく、クラス内の分散を小さくするような方向ベクトルw

アルゴリズム

1.各クラスの平均ベクトルmiを求める。
2.総クラス内共分散行列Swを求める。
3.射影方向を表すベクトルwを求める。
4.ベクトルwと垂直で各クラス平均の中点を通る直線を求める。

特徴

・反復する操作がないので高速に判別できる
・あらかじめデータにラベルを付けておく必要がある
・多クラスにおいても識別可能


パーセプトロン(分類問題)

概要

N次元空間内を(N-1)次元の超平面で分割することで、2つのクラスのどちらに属するかを分類する。

入力

データx={x1,...,xn}

出力

+1 or 0

アルゴリズム

1.重みベクトルwの初期値を適当に設定する。
2.Xの中から学習パターンを一つ選ぶ。
3.識別関数g(x)=w^txによって識別を行い、誤識別が生じた場合のみ重みベクトルwを修正し、新しい重みベクトルw'を作る。
4.上の処理(2〜3)をXの全パターンに対して繰り返す。
5.Xの全パターンを正しく識別できたら終了。

特徴

・実装が容易。
・線形分離可能でないと解が収束しない。
・解の収束が遅い。


k-NN k近傍法

概要

与えられた点Xがあるとする。
点Xから近い順にデータをk個とってくる。
とってきたk個の点のクラスで多数決をとり、
最も多かったクラスを点Xのクラスとする。


SVM(分類問題)

概要

学習データによって超平面を決定し、未知データに対して2値分類を行えるような線形識別器を作る。

入力

学習データ(x1,y1),...,(xm,ym)∈R^n×{±1}

出力

線形識別器 y=sign[a・x+b] sign[u]={1(u>=0) , -1(u<=0)

アルゴリズム

マージンが最大となるような超平面を決定する。

特徴

パーセプトロンとは異なり、マージン最大化という識別関数を決定する明確な基準がある。
未知のデータに対して高い汎化能力を持っている。