SlideShare a Scribd company logo
1 of 15
Download to read offline
#86 解説 決定木
https://www.youtube.com/user/blinknetmonitoring
安藤類央
決定木とは
• 分類や回帰に用いられる柔軟性の高い帰納推論アルゴリズム
• SVMと同様に、分類と回帰の両方のタスクを実行できる柔軟性の
高い機械学習のアルゴリズム。
• 決定木とは、いくつもの判断経路とその結果とを木構造を使って
表現したもの
• 一連の質問による分類に基づいて木構造を生成し、データを分類
• 生成される判断経路とその結果の構造は決定木と呼ばれる
決定木による分類
Irisデータセットは、150枚のアヤメの花の計測データが収録されている。これらのデータは、Setosa、
Vericolor, Virginicaの3つの品種に分類される。
❐決定木学習では、特徴量空間を
矩形に分割することで、複雑な決
定境界を構築できる。
❐決定木特有のものとして、軸に
平行な決定境界が得られる。
❐分割により低いエントロピーを
持つ(確度の高い)部分集合に
データが分割されるなら、この分
割は低いエントロピーとなる。
決定木とは
• 決定木はクラスや目的変数の予測のみならず、重要な属性やその他の
値の範囲を解析するのにも役立つ
• 決定木は、意味解釈可能性(interoperability;得られた結果の意味を
解釈しやすいかどうか)に配慮する場合に魅力的なモデルである。
• 事例中の規則性を発見するという意味では、帰納推論である。
• 決定木の学習は命題学習器
• 決定木を作るための訓練例が命題論理の真理値表のある行に対応し、
得られる結果が命題論理で表現できる。
サイレンの有無
車体の色
サイレンの有無 サイレンの有無
車体の
大きさ
車体の
大きさ
車体の
大きさ
消防車 パトカー 救急車
バス
普
通
車
軽
自動
車
バス
普
通
車
軽
自動
車
バス
普
通
車
軽
自動
車
赤
白黒
白
あり
あり
あり なし なし なし
大 大 大
中 中 中 小
小
小
決定木の例
決定木 - 連結有向グラフ
❏木とは、閉路のない1つの根を
持つ連結有効グラフ。
❏連結グラフとは、どの2点間も
道が存在するようなグラフ。
❏有向グラフとは、辺が方向性を
持つグラフ。
❏根と節には質問文が、葉には
分類のためのクラスが与えられる。
根
節
葉
車体の色
サイレンの有無
車体の大きさ
消防車 パトカー 普通車
あり
赤
なし
大
中
小
バス 軽自動車
救急車
白黒
白
決定木の例
❏決定木を構築するためには、どのような質問をどの順番で行うか決める必要がある
❏ある質問がどれだけ情報をもたらすかという考え方を平均情報量(エントロピー)で表す
❏決定木は二分決定木とも呼ばれ、ある閾値を用いることでデータを2つに分岐させ、同じ性質を持つグ
ループに分類する方法
学習例- Iris データセット
この決定木の図を調べれば、決定木が
訓練データセットから判定した分割を
正確にたどることができる。
最初の意思決定は、アヤメの花びらの長さが2.7以下かどうか。
最適な分岐点を割り出す際、一般的に
決定木は判断値としてジニ係数やエン
トロピーを使う
Irisデータセットは、150枚のアヤメの花の計測データが収録されている。これらのデータは、Setosa、
Vericolor, Virginicaの3つの品種に分類される。
決定木の学習
• 決定木は二分決定木とも呼ばれ、ある閾値を用いることでデータを
2つに分岐させ、同じ性質を持つグループに分類する方法
• 最適な分岐点を割り出す際、一般的に決定木は判断値としてジニ係
数やエントロピーを使う
• いずれの判断値も分岐によって出来上がったグループの不純度を評
価し、その値が最小になるようにして分岐点を決定する。
• 決定木の学習では、特徴量空間を矩形に分割することで、複雑な決
定境界を構築できる。
ID3アルゴリズム(貪欲法)
• ID3(Iterative Dichotomiser 3)は1979年にジョン・ロス・キンラン(John Ross
Quinlan)により提案された。
• 【終了条件】すべてのデータが同じラベルを持っているなら、ラベルの値をもつ結果ノード
(葉)を作り終了する
• 【終了条件】属性リストが空であれば、最も多いラベル値を持つ結果ノードを作り終了する
• そうでなければ、属性に従いデータの分割を試みる
• 情報利得が最大(エントロピーが最小)となる分割方法を選択する
• 選択した属性に従って、決定ノードを作成する
• 【再帰】分割した部分集合それぞれに対して、残属性の適用を繰り替す。
情報利得とは – いくつかの表現
表現①分別された集合の要素についてのばらつきの減少
表現②親ノードの不純度と子ノードの不純度の合計の差
表現③一回の質問によってどれだけ不確かさが減るか
表現④分類への貢献後
【数式】訓練集合Tに対する質問文Xによる情報利得Gx(T)は、質問前と質問
後の情報量の差
Gx(T) = I(T) – Ix(T)
で与えられる。
このI(T)とIx(T)との利得 Gx(T)は相互情報量とも呼ばれる。
Iは不純度(Impurity)を表す関数。
𝐈𝐈𝐈𝐈 𝑫𝑫𝒑𝒑, 𝒇𝒇 = 𝑰𝑰 𝑫𝑫𝒑𝒑 − ∑𝒋𝒋=𝟏𝟏
𝑵𝑵 𝑵𝑵𝒋𝒋
𝑵𝑵𝒑𝒑
∗ 𝑰𝑰(𝑫𝑫𝒋𝒋)
3種類の不純度の計算方法
❏エントロピー: 相互情報量が最大になる条件
𝐼𝐼𝐻𝐻 𝑡𝑡 = − �
𝑖𝑖=1
𝑐𝑐
𝑃𝑃 𝑖𝑖 𝑡𝑡 𝑙𝑙𝑙𝑙𝑙𝑙2(𝑖𝑖|𝑡𝑡)
❏ジニ不純度(GINI係数):誤分類の確率を最小化する条件
𝐼𝐼𝐺𝐺 𝑡𝑡 = �
𝑖𝑖=1
𝑐𝑐
𝑃𝑃(𝑖𝑖|𝑡𝑡)(1 − 𝑃𝑃(𝑖𝑖|𝑡𝑡)) = 1 − �
𝑖𝑖=1
𝑐𝑐
𝑃𝑃 𝑖𝑖 𝑡𝑡 2
❏誤差関数:決定木の剪定に役立つ条件
𝐼𝐼𝐸𝐸 𝑡𝑡 = 1 − max{𝑝𝑝 𝑖𝑖 𝑡𝑡 }
sklearn.tree.DecisionTreeClassifie
r(criterion='gini',
splitter='best',
max_depth=None,
min_samples_split=2,
min_samples_leaf=1,
min_weight_fraction_leaf=0.0,
max_features=None,
random_state=None,
max_leaf_nodes=None,
class_weight=None,
presort=False)
エントロピーとジニ係数の比較
def gini(p):
return p * (1 - p) + (1 - p) * (1 - (1 - p))
def entropy(p):
return - p * np.log2(p) - (1 - p) * np.log2((1 - p))
• エントロピーはメッセージの平均的な情
報量、不純度の指標として使われる。
• ジニ不純度とエントロピーはどちらを
使っても大差はない。ジニ不純度は最頻
出クラスを木のなかの専用のブランチ
(枝)に分離する傾向があるのに対し、
エントロピーはそれよりもわずかに平衡
の取れた木をつくる傾向がある。
• これら2つの方法を両方とも試し、交差
検証に基づいてもっともよい方法を判断
することができる。(グリッドサーチ)
最適な決定木と過学習
• 同時に学習データから、「最適」な決定木を見つけるのはコン
ピュータには非常に難しい問題。最適な決定木ではなく、十分に良
いレベルに止めることで、この問題を回避する。
• 過学習で新しいデータには全く適合しないような決定木をつくるの
はとても簡単。
• 訓練データの過学習を防ぐためには、決定木の訓練中の自由に制限
を加える必要がある。これは正則化と呼ばれる。
決定木が生成できる条件
• 事例とクラスの表をあらかじめシステムに与え、決定木自身を自動
生成すること
• 事例中の規則性を発見するという意味では、帰納推論である。
• 属性とそれらの値の表を与える
• 前もって各事例にクラスを割り当てる
• 事例の数をクラスより十分多くする

More Related Content

More from Ruo Ando

解説#77 非加算無限
解説#77 非加算無限解説#77 非加算無限
解説#77 非加算無限Ruo Ando
 
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレスRuo Ando
 
解説#78 誤差逆伝播
解説#78 誤差逆伝播解説#78 誤差逆伝播
解説#78 誤差逆伝播Ruo Ando
 
解説#73 ハフマン符号
解説#73 ハフマン符号解説#73 ハフマン符号
解説#73 ハフマン符号Ruo Ando
 
【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法Ruo Ando
 
【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-freeRuo Ando
 
ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 Ruo Ando
 
ファジングの解説
ファジングの解説ファジングの解説
ファジングの解説Ruo Ando
 
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月Ruo Ando
 
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰Ruo Ando
 
Intel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopIntel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopRuo Ando
 
情報セキュリティと標準化I 第15回
情報セキュリティと標準化I 第15回情報セキュリティと標準化I 第15回
情報セキュリティと標準化I 第15回Ruo Ando
 
情報セキュリティと標準化I 第14回
情報セキュリティと標準化I 第14回情報セキュリティと標準化I 第14回
情報セキュリティと標準化I 第14回Ruo Ando
 
情報セキュリティと標準化I 第13回
情報セキュリティと標準化I第13回情報セキュリティと標準化I第13回
情報セキュリティと標準化I 第13回Ruo Ando
 
情報セキュリティと標準化I 第11回
情報セキュリティと標準化I 第11回情報セキュリティと標準化I 第11回
情報セキュリティと標準化I 第11回Ruo Ando
 
TensorflowとKerasによる深層学習のプログラム実装実践講座
TensorflowとKerasによる深層学習のプログラム実装実践講座TensorflowとKerasによる深層学習のプログラム実装実践講座
TensorflowとKerasによる深層学習のプログラム実装実践講座Ruo Ando
 
Trust com2008 ruoando
Trust com2008 ruoandoTrust com2008 ruoando
Trust com2008 ruoandoRuo Ando
 
文部科学省21世紀COEプログラム 慶応義塾大学SFC「次世代メディア・知的社会基盤」 平成16年度成果報告
文部科学省21世紀COEプログラム 慶応義塾大学SFC「次世代メディア・知的社会基盤」 平成16年度成果報告文部科学省21世紀COEプログラム 慶応義塾大学SFC「次世代メディア・知的社会基盤」 平成16年度成果報告
文部科学省21世紀COEプログラム 慶応義塾大学SFC「次世代メディア・知的社会基盤」 平成16年度成果報告Ruo Ando
 
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張Ruo Ando
 
Ss at markit-seminar-2017-02-07
Ss at markit-seminar-2017-02-07Ss at markit-seminar-2017-02-07
Ss at markit-seminar-2017-02-07Ruo Ando
 

More from Ruo Ando (20)

解説#77 非加算無限
解説#77 非加算無限解説#77 非加算無限
解説#77 非加算無限
 
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス
 
解説#78 誤差逆伝播
解説#78 誤差逆伝播解説#78 誤差逆伝播
解説#78 誤差逆伝播
 
解説#73 ハフマン符号
解説#73 ハフマン符号解説#73 ハフマン符号
解説#73 ハフマン符号
 
【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法
 
【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free
 
ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料
 
ファジングの解説
ファジングの解説ファジングの解説
ファジングの解説
 
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
 
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
 
Intel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopIntel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st Workshop
 
情報セキュリティと標準化I 第15回
情報セキュリティと標準化I 第15回情報セキュリティと標準化I 第15回
情報セキュリティと標準化I 第15回
 
情報セキュリティと標準化I 第14回
情報セキュリティと標準化I 第14回情報セキュリティと標準化I 第14回
情報セキュリティと標準化I 第14回
 
情報セキュリティと標準化I 第13回
情報セキュリティと標準化I第13回情報セキュリティと標準化I第13回
情報セキュリティと標準化I 第13回
 
情報セキュリティと標準化I 第11回
情報セキュリティと標準化I 第11回情報セキュリティと標準化I 第11回
情報セキュリティと標準化I 第11回
 
TensorflowとKerasによる深層学習のプログラム実装実践講座
TensorflowとKerasによる深層学習のプログラム実装実践講座TensorflowとKerasによる深層学習のプログラム実装実践講座
TensorflowとKerasによる深層学習のプログラム実装実践講座
 
Trust com2008 ruoando
Trust com2008 ruoandoTrust com2008 ruoando
Trust com2008 ruoando
 
文部科学省21世紀COEプログラム 慶応義塾大学SFC「次世代メディア・知的社会基盤」 平成16年度成果報告
文部科学省21世紀COEプログラム 慶応義塾大学SFC「次世代メディア・知的社会基盤」 平成16年度成果報告文部科学省21世紀COEプログラム 慶応義塾大学SFC「次世代メディア・知的社会基盤」 平成16年度成果報告
文部科学省21世紀COEプログラム 慶応義塾大学SFC「次世代メディア・知的社会基盤」 平成16年度成果報告
 
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
 
Ss at markit-seminar-2017-02-07
Ss at markit-seminar-2017-02-07Ss at markit-seminar-2017-02-07
Ss at markit-seminar-2017-02-07
 

解説#86 決定木 - ss.pdf