基本的な教師あり学習●

決定木●ナイーブベイズ●

ロジスティック識別3. 識別 ー概念学習と決定木ー

●

問題設定

教師あり学習● ラベル入力→ ラベル出力
●

機械学習

教師あり

回帰識別
●

●

ラベル特徴
年齢 = 若年処方 = 近視
乱視 = なし
涙量 = 正常

数値特徴

中間的手法

推薦レンズ
= ソフト

教師なし

contact-lenses データ
年齢・処方・乱視・涙量
推薦コンタクトレンズ
none, soft, hard3.2 概念学習とは●

概念学習とは●●正解の概念を説明する特徴ベクトルの性質 ( 論理式 ) を求めること
論理式の例（乱視 = あり） ∧ （ドライアイ = なし）⇒ soft

●

学習の方法
●

可能な論理式が少数–●

正解概念の候補を絞り込んでゆく（候補削除アルゴリズム）

可能な論理式が多数–バイアス（偏見）をかけて探索する

決定木

3.4 決定木の学習●学習した決定木の例

ノードリーフ3.4 決定木の学習●

決定木学習の考え方●

ノードは、データを分割する条件を持つ–できるだけ同一クラスのデータがリーフに偏るように分割後のデータ集合に対して、同様の操作を行う● 全てのリーフが単一クラスの集合になれば終了
●

年齢

処方

この手順に従うと、一般には小さな木ができる

涙量

乱視減少

正常

バイアス
涙量

涙量
乱視処方

複雑な説明よりも単純な説明の方が汎用性が高い

属性の分類能力 (1/2)●

分類能力の高い属性を決定する方法●●

その属性を使った分類を行うことによって、なるべくきれいにクラスが分かれるように
エントロピー–

データ集合 S の乱雑さを表現–

正例の割合 :–

エントロピーの定義, 負例の割合 :属性の分類能力 (2/2)
●

情報獲得量
●

属性 A を用いた分類後のエントロピーの減少量●

値 v を取る訓練例の集合 : Sv●

Sv の要素数 : |Sv|●

情報獲得量の定義

Weka での決定木学習
決定木は J48

学習データを評価に使う

右クリック→
Visualize tree
で木を表示

木のテキスト表示

実行例
●

入力

年齢

処方

乱視涙量

(young, myope, yes, normal)●

出力hardバイアスの検討

なぜ単純な木の方がよいか● オッカムの剃刀「データに適合する最も単純な仮説を選べ」
●

●

複雑な仮説
→ 表現能力が高い→ 偶然にデータを説明できるかもしれない
単純な仮説→ 表現能力が低い→ 偶然にデータを説明できる確率は低い→ でも説明できた！
→ 必然

連続値属性の扱い●

連続値 A を持つ属性から真偽値 (A < c?) を値とするノードを作成→c をどうやって決めるか
気温

40

4860

72

playTennis No

No

Yes Yesc=(48+60)/2=54
情報獲得量の多い方

8090

Yes Noc=(80+90)/2=85

連続値属性の扱い

4. 識別ー統計的手法ー
機械学習

教師あり回帰識別●ラベル特徴
年齢 = 若年眼鏡 = 近視
乱視 = なし
涙量 = 正常

●

数値特徴

中間的手法

推薦レンズ= ソフト

教師なし

4.1 統計的識別とは●

最大事後確率則による識別：特徴ベクトル：クラス●●

データから直接的にこの確率を求めるのは難しい

ベイズの定理4.1 統計的識別とは
●

事前確率
●

●

特徴ベクトルを観測する前の、各クラスの起こりやすさ

事前確率の最尤推定
N: 全データ数、 ni: クラス i のデータ数

4.1 統計的識別とは
●

尤度
●

●

特定のクラスから、ある特徴ベクトルが出現する尤もらしさ

d 次元ベクトルの場合の最尤推定●値の組合せがデータ中に出現しないもの
多数

Weka のweather.nominal データ
3×3×2×2=36 種類の組合せ

4.2.2 ナイーブベイス識別●ナイーブベイズの近似●

全ての特徴が独立であると仮定

4.2.2 ナイーブベイス識別●尤度の最尤推定nij: クラス i のデータのうち、j 次元目の値が xj の個数ゼロ頻度問題●

確率の m 推定
p: 事前に見積もった各特徴値の割合
m: 事前に用意する標本数●

ラプラス推定–m: 特徴値の種類数、 p: 等確率とすると、 mp=1

4.2.2 ナイーブベイス識別weather.nominal データ

4.2.2 ナイーブベイス識別ClassAttributeyes
no(0.63) (0.38)=============================
outlook
sunny
3.0
4.0
overcast
5.0
1.0
rainy
4.0
3.0
[total]12.0
8.0
ラプラス推定各カウントの初期値が 1
例 ) no は 5 事例で、overcast の事例はデータ中にない

実行例
●

入力

天気気温湿度風x=(sunny, hot, high, false)●

出力no5.2 数値特徴に対するベイズ識別5.2.1 数値特徴に対するナイーブベイズ識別●

確率密度関数の推定●

正規分布を仮定●

平均 μ と分散 σ を最尤推定–

それぞれ、学習データの平均と分散になる

5.2.1 数値特徴に対するナイーブベイズ識別
diabetes データ

5.2.1 数値特徴に対するナイーブベイズ識別

Attribute
negative positive=================================
preg
mean
3.42344.9795std. dev.
3.01663.6827weight sum
500
268
precision
1.06251.06255. 識別 ー生成モデルと識別モデルー
機械学習

教師あり

回帰識別
●

ラベル特徴

●

数値特徴
気温 = 20
湿度 = 60
降水確率 = 0

中間的手法

Play = Yes

教師なし5.1 数値特徴に対する「教師あり・識別」問題の定義

特徴ベクトルは、特徴空間上の点として表現される比較的クラスが分離している→ 小数のパラメータで各クラスを表現可能⇒ 統計的手法

クラス境界が複雑
非線形識別面 ⇒ ニューラルネット
高次元へマッピング⇒ SVM

5.2.2 生成モデルの考え方●

事後確率を求めるにあたって、同時確率を求めている●データが生成される様子をモデル化していると見ることも出来る
事前確率に基づいてクラスを選ぶ– そのもとで、特徴ベクトルを出力する–事後確率を求めるより、難しい問題を解いているのではないか？

5.3.1 識別モデルの考え方●

事後確率を直接求める
正例で大きな値

あまり関係ない

負例で大きな値

正の大きな値

負の大きな値小さな値

この値が正なら正例、負なら負例となるように重み w を学習する確率と対応づけるには？

正例／負例の閾値

この平面を求めていることになる5.3.1 識別モデルの考え方●

ロジスティック識別●

入力が正例である確率-∞ ～ +∞ の値域を持つものを、順序を変えずに0 ～ 1 にマッピング

10シグモイド関数

5.3.2 ロジスティック識別器の学習●

最適化対象＝モデルが学習データを生成する確率●を最急勾配法で最小化
正解ラベル

5.3.2 ロジスティック識別器の学習●

重み更新量の計算●

重みの更新式

5.3.2 ロジスティック識別器の学習
diabetes データ

5.3.2 ロジスティック識別器の学習

Class 0 :4.18 +[preg] * -0.06 +[plas] * -0.02 +[pres] * 0.01 +[insu] * 0+[mass] * -0.04 +[pedi] * -0.47 +[age] * -0.01

実行例
●

入力

妊娠 血糖値 血圧...

x=(6, 148, 72, 35, 0, 33.6, 0.627, 50)●

出力tested_positive