koji/メガネ男の日誌

日々の学び、活動状況を記録します。仕事のことは少なめ。

「はじめてのパターン認識」を読む 第2章 識別規則と学習法の概要 1項 識別規則と学習法の分類

f:id:kj_man666:20200506082143j:plain

はじめてのパターン認識 を1章ずつ読んでまとめたいと思います。

2章は長いので、半分に分けています。

<用語>

学習データ

 たくさんの微妙に異なる特徴ベクトルを正解に対応付けるためのデータ

なお、 特徴ベクトル

 抽出されたたくさんの特徴をベクトルの形にまとめたもの

汎用能力

学習データを使った学習モデルを実装したサービスを世に出すと、学習データには含まれていなかったデータが使われる可能性があるが、このような場合でも識別できる能力のこと。

2.1 識別規則と学習法の分類

識別規則の構成法

代表例

 (a)事後確率が最大のものに分類する方法

事前確率とは、データを手に入れる前に想定していた確率のことです。

事後確率とは、データを用いて事前確率を修正した結果の確率です。

ある朝、目が覚めたとき、今日の天気は雨か晴れかわからないなと思いました。何となく、今日晴れる確率は50%かなと想像しました。 この50%が事前確率です。

窓の外を見ました。

日の出はとっくに過ぎているのに外がどんよりとして曇っていました。

この結果を見て、雨が降る確率は80%くらいじゃないのかなぁと修正しました。

この80%が事後確率です。

logics-of-blue.com

 (b)各分類の代表的なベクトルとの距離を計算し、一番近い代表ベクトルに分類する。

    代表例:最近傍法

f:id:kj_man666:20200506090345p:plain

今,緑の円で表される新しいデータを取得したとします.

このデータを青い四角か赤い三角のどちらかのグループに所属させる必要があります.

この過程を 分類 と呼びます.

具体的に何をすれば分類できるのでしょうか?k近傍法を使って分類をしてみましょう.

この新しいデータに最も近いデータを確認するという方法が挙げられます.

画像を見ると,新しいデータに一番近いデータは赤い三角であることは明らかです.

なので,個の新しいデータは赤い三角のグループに追加します.

最も近い距離にあるデータにのみ依存する分類であるため,この方法は単純に 最近傍法(Nearest Neighbour) と呼ばれます.

labs.eecs.tottori-u.ac.jp

(参考)scikit-learn KNeighborsClassifier のコード

github.com

 (c)関数を使って、その正負、または最大値で分類を決める方法。

   識別のために用いられる関数を識別関数という。

   代表例:パーセプトロン型学習回路、サポートベクトルマシン。

パーセプトロン型学習回路

f:id:kj_man666:20200506091241j:plain

人間の脳にはニューロンという神経細胞があり, それを数式で表すためにニューロンモデル(形式ニューロン)が作られた.

ニューロンモデルはいくつかの入力X_nとひとつの出力Yを持っている.

出力Yは"1"か"0"かの2つの値しか出力しない.

2つの値をどちらか決めるためにしきい値を使う.

入力X_nにそれぞれ結合荷重W_nという定数との積を足し合わせた数(ネット値)よりもしきい値が低ければ"1"そうでなければ"0"を活性化関数を使って出力する.

このモデルをパーセプトロンという.

qiita.com

サポートベクトルマシン

サポートベクトルマシンを理解するためには、名前の由来である「サポートベクトル」について理解する必要があります。

サポートベクトルとは、先に説明したように「予測に必要となる一部のデータ」です。

では「予測に必要となる一部のデータ」はどのようにして決められるのでしょうか。

それを定めるのに「マージン最大化」と呼ばれる考え方を使います。

SVMでは、正しい分類基準を見つけるために、「マージン最大化」という考えを使います。

マージンとは、「判別する境界とデータとの距離」を指します。

これが大きければ、「ほんの少しデータが変わっただけで誤判定してしまう」というミスをなくすことができます。

なお、境界線と最も近くにあるデータを「サポートベクトル」と呼びます。

境界の近くにあるデータ、すなわちサポートベクトルのみを用いて分類を行います。

サポートベクトル以外のデータの値が多少変化したとしても、分類のための境界線の位置は一切変わりません。

f:id:kj_man666:20200506094237j:plain

logics-of-blue.com

 (d)決定木

分類木と回帰木の総称して決定木といいます.

分類木

例えば温度が27度で湿度が40%の日は暑くないと感じています.

このデータから「温度と湿度がどのようなときにどう感じるのか?」といったことを木で表現できます.

f:id:kj_man666:20200506095641p:plain

この図を同様にグラフに描画するとこのようになります.

f:id:kj_man666:20200506095651p:plain

回帰木

例えば温度が27度で湿度が40%の日は水を1.5L飲んでいます.

分類木のときと同様にこのデータから「温度と湿度がどのようなときに水を何L飲むか?」といったことを木で表現できます.

f:id:kj_man666:20200506105048p:plain

この図を同様にグラフに描画するとこのようになります.

f:id:kj_man666:20200506105104p:plain

qiita.com

(参考)scikit-learn DecisionTreeClassifier のコード

github.com

教師付き学習

<用語>

パラメータ

写像の性質を決める性質。

wで表す

識別規則は、 パラメータwと入力ベクトルxの線形関数(内積)を用いて表現される。

{ \displaystyle
y = f (x:w) = w_1x_1 + ... + w_dx_d = w^{T} x
}

写像

2つの集合があるとき、一方の集合の要素を他方の集合の要素に結びつける対応関係

thinkit.co.jp

教師データ

入力データの分類を指定したデータ

学習データセット

学習に用いられるすべての対の集合

学習の目的と流れ

学習の目的は、学習データを正しく識別できるwを求めること。

学習の流れとしては、学習データセットの関数としてwを得る方法 w=F(D_L) や、学習データを一つずつ用いてwを少しずつ修正していく方法がある。

少しずつ修正する場合、正しく識別できるようになるためには、同じ学習データを何度も使って学習する必要がある。

得られた値と、教師データの差が小さくなるように修正し、差が小さくなったら学習を止め、学習に使用しなかったテストデータを用いて性能評価を行う。

教師付き学習と線形回帰

<用語>

教師付き学習

教師データがある学習法

回帰(関数近似)

 教師データとして、関数値yが与えられる場合に、与えられた関数値に近い値を出せる識別関数f(x)の能力のこと。

 (簡単に言うと、求めたい値により近い値を出せる関数かどうか、といったところ?)

 線形関数で近似する場合を線形回帰と呼ぶ

被説明変数(目的変数)、説明変数

 統計やAI(人工知能)分野では求めたいものを「目的変数」、目的変数に作用する変数を「説明変数」と表現します。

aizine.ai

教師なし学習

<用語>

教師なし学習、または自己組織型学習

 教師のいない学習のこと

クラスタリング

 教師がいない学習の場合において、入力データ間の距離や類似度 や、 統計的な性質 に基づいて分類を自動的に生成すること。

形質導入学習(、または半教師あり学習)

 一部のデータのみ教師をつけ、他は教師なしで学習を行うこと

 Web上などに存在する大量のテキスト・画像・音楽データを分類する際、コストを抑えるために用いられる。

(参考)

qiita.com

過去のまとめ

「はじめてのパターン認識」を読む 第1章 はじめに - koji/メガネ男の日誌

以上になります、最後までお読みいただきありがとうございました。