「ビヨヺセビテではじめる機械学 - morikita.co.jp ·...

32

Upload: others

Post on 18-Oct-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.
Page 2: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

「フリーソフトではじめる機械学

習入門」

サンプルページ

この本の定価・判型などは,以下の URL からご覧いただけます.

http://www.morikita.co.jp/books/mid/085211

※このサンプルページの内容は,初版 1刷発行時のものです.

Page 3: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.
Page 4: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

i

まえがき

コンピュータは賢い機械です.その賢さの源の大半は,人間が作ったプログラムです.この賢いプログラムを作るというのは,大変骨の折れる作業ですので,「こういうときには,こうしてね」という事例を与えるだけで,コンピュータが賢い振る舞いを自分で身につけることができれば大変助かります.このような技術が,この本の主題である機械学習です.ただし,賢い子供のように一度教えただけで学んでくれるというわけではありませ

ん.一般的には,コンピュータが学習するためにはうんざりするほど多くの事例を与える必要があります.その代わり,場合によっては事例を与えた人間が気づいていなかったようなことを,その大量の事例の中から発見することもあります.「こんなことがあったよ」という事例をたくさん与えるだけで,類似の事例をまとめてくれたり,事例に潜んでいる規則性を見出してくれたりもします.機械学習は,データがあまりにも大量で人間の力では分析できないような状況でも,有用な知見を与えてくれることがあるということで,近年「ビッグデータの時代」として大きなビジネスチャンスになると期待されているものです.本書は,機械学習をはじめて学ぶ人を対象に,その全体像をなるべく平易に解説す

ることを試みたものです.機械学習では,対象とするデータの種類と得たい結果の種類を組み合わせることで,典型的ないくつかの問題が設定できます.そして,それぞれの問題に対して複数の機械学習手法が考案されています.本書では,様々な機械学習手法に対して,相互の共通点や相違点を明確にしながら,その基本的な手法をひととおり学べるように心がけました.各章では,それぞれの手法の概要を簡単なサンプルデータを用いて紹介した後,機械

学習ツールWekaを使って,小規模なデータでの例題に取り組むという構成をとっています.一部Wekaに実装されていない手法がありますが,その場合は,ほかのツールやハンドシミュレーションで手法を紹介します.説明や例題で扱うデータは小規模なものですが,この手法を現実のあの問題に使ったらどうなるだろうか,などと想像を膨らませながら機械学習の魅力を楽しんでください.

2014年 2月著者しるす

Page 5: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

ii

目 次

まえがき i

1章 はじめに 1

1.1 ビッグデータの時代 ........................................................................ 1

1.2 機械学習とは何か ........................................................................... 3

1.3 機械学習の分類 .............................................................................. 6

1.3.1 教師あり学習 7

1.3.2 教師なし学習 11

1.3.3 中間的手法 13

1.4 まとめ ........................................................................................ 16

2章 機械学習の基本的な手順 18

2.1 データ収集・整理 ......................................................................... 19

2.1.1 データの収集 19

2.1.2 データの整理 21

2.2 前処理 ........................................................................................ 23

2.2.1 データの読み込み 24

2.2.2 データの前処理 26

2.3 評価基準の設定 ............................................................................ 29

2.4 学習 ―k-NN法― ......................................................................... 31

2.5 結果の可視化 ............................................................................... 33

2.6 予備的実験のための環境:Explorerインタフェース ............................ 38

2.7 まとめ ........................................................................................ 41

3章 識別 ―概念学習― 42

3.1 ラベル特徴に対する「教師あり・識別」問題の定義 ............................ 42

3.2 概念学習とは ............................................................................... 43

3.3 初歩的な概念学習アルゴリズム ....................................................... 45

3.3.1 FIND-Sアルゴリズム 45

3.3.2 候補削除アルゴリズム 48

3.3.3 初歩的な概念学習手法の限界 50

Page 6: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

iii目 次

3.3.4 概念学習におけるバイアス 51

3.4 決定木の学習 ............................................................................... 52

3.4.1 決定木とは 52

3.4.2 ID3アルゴリズム 54

3.4.3 過学習を避ける 60

3.4.4 分類基準の再検討 61

3.4.5 数値特徴に対する決定木 62

3.5 規則の学習 .................................................................................. 64

3.6 まとめ ........................................................................................ 66

4章 識別 ―統計的手法― 68

4.1 統計的識別とは ............................................................................ 68

4.2 ベイズ識別 .................................................................................. 72

4.2.1 学習データの対数尤度 72

4.2.2 ナイーブベイズ識別 74

4.3 ベイジアンネットワーク ................................................................ 77

4.3.1 ベイジアンネットワークの概念 77

4.3.2 ベイジアンネットワークの構成 79

4.3.3 ベイジアンネットワークを用いた識別 83

4.3.4 ベイジアンネットワークの学習 85

4.4 まとめ ........................................................................................ 87

5章 識別 ―生成モデルと識別モデル― 89

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

5.2 数値特徴に対するベイズ識別 .......................................................... 91

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

5.2.2 生成モデルの考え方 94

5.3 ロジスティック識別 ...................................................................... 94

5.3.1 識別モデルの考え方 95

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

5.3.3 確率的最急勾配法 101

5.4 まとめ ...................................................................................... 102

Page 7: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

iv 目 次

6章 識別 ―ニューラルネットワーク― 103

6.1 識別関数法 ................................................................................ 103

6.2 誤り訂正学習 ............................................................................. 104

6.3 最小二乗法による学習 ................................................................. 105

6.4 ニューラルネットワーク .............................................................. 109

6.4.1 ニューラルネットワークの構成 109

6.4.2 誤差逆伝播法による学習 110

6.5 まとめ ...................................................................................... 114

7章 識別 ―サポートベクトルマシン― 115

7.1 サポートベクトルマシンとは ........................................................ 115

7.1.1 マージン最大化のための定式化 116

7.1.2 マージンを最大とする識別面の計算 117

7.2 ソフトマージンによる誤識別データの吸収 ...................................... 119

7.3 カーネル関数を用いた SVM .......................................................... 120

7.4 文書分類問題への SVMの適用 ...................................................... 124

7.5 まとめ ...................................................................................... 127

8章 回 帰 128

8.1 数値特徴に対する「教師あり・回帰」問題の定義 ............................. 128

8.2 線形回帰 ................................................................................... 129

8.3 バイアスと分散のトレードオフ ..................................................... 134

8.4 回帰木 ...................................................................................... 135

8.4.1 回帰木とは 135

8.4.2 CART 135

8.4.3 モデル木 137

8.5 まとめ ...................................................................................... 139

9章 アンサンブル学習 140

9.1 なぜ性能が向上するのか .............................................................. 140

9.2 バギング ................................................................................... 142

9.3 ランダムフォレスト .................................................................... 144

9.4 ブースティング .......................................................................... 147

Page 8: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

v目 次

9.5 まとめ ...................................................................................... 151

10章 モデル推定 152

10.1 数値特徴に対する「教師なし・モデル推定」問題の定義 .................... 152

10.2 クラスタリング .......................................................................... 153

10.2.1 階層的クラスタリング 153

10.2.2 分割最適化クラスタリング ―k-meansアルゴリズム― 157

10.2.3 自動分割最適化クラスタリング―X-meansアルゴリズム― 160

10.3 異常検出 ................................................................................... 163

10.4 確率密度推定 ............................................................................. 166

10.5 まとめ ...................................................................................... 170

11章 パターンマイニング 171

11.1 ラベル特徴に対する「教師なし・パターンマイニング」問題の定義 .. .. . 171

11.2 Aprioriアルゴリズムによる頻出項目抽出 ........................................ 172

11.3 連想規則抽出 ............................................................................. 177

11.4 FP-Growthアルゴリズム ............................................................. 181

11.5 まとめ ...................................................................................... 185

12章 系列データの識別 187

12.1 ラベル系列に対する識別 .............................................................. 187

12.2 系列ラベリング問題 ―CRF― ....................................................... 188

12.3 系列識別問題 ―HMM― .............................................................. 192

12.4 まとめ ...................................................................................... 195

13章 半教師あり学習 196

13.1 半教師あり学習とは .................................................................... 197

13.1.1 数値特徴の場合 197

13.1.2 ラベル特徴の場合 198

13.1.3 半教師あり学習のアルゴリズム 199

13.2 自己学習 ................................................................................... 200

13.3 共訓練 ...................................................................................... 201

13.4 YATSIアルゴリズム ................................................................... 202

13.5 まとめ ...................................................................................... 204

Page 9: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

vi 目 次

14章 強化学習 206

14.1 強化学習とは ............................................................................. 206

14.2 1状態問題の定式化 ―K-armed bandit問題― ................................. 207

14.3 マルコフ決定過程による定式化 ..................................................... 209

14.4 モデルベースの手法 .................................................................... 211

14.5 モデルフリーの手法 .................................................................... 212

14.5.1 報酬と遷移が決定的な TD学習 213

14.5.2 報酬と遷移が確率的な TD学習 214

14.6 部分観測マルコフ決定過程による定式化 ......................................... 215

14.7 まとめ ...................................................................................... 216

15章 深層学習 217

15.1 深層学習とは ............................................................................. 217

15.2 多階層ニューラルネットワークの学習 ............................................ 219

15.3 Autoencoder ............................................................................. 221

15.4 RBM ...................................................................................... 225

15.4.1 一般的なボルツマンマシン 225

15.4.2 隠れノードをもつボルツマンマシン 227

15.4.3 RBMの構成 228

15.5 深層学習の応用 .......................................................................... 230

15.6 まとめ ...................................................................................... 232

演習問題の解答 233

付録 A Wekaの拡張 241

A.1 Officialパッケージのインストール ................................................. 241

A.2 Unofficialパッケージのインストール ............................................. 242

付録 B RapidMiner入門 243

B.1 RapidMinerの起動 ..................................................................... 243

B.2 RapidMinerによる機械学習プロセスの作成 .................................... 246

B.2.1 オペレータについて 246

B.2.2 単純な学習 247

B.2.3 自動修正の活用 250

Page 10: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

vii目 次

B.2.4 階層的なオペレータの利用 251

B.2.5 ブレークポイントの活用 254

B.3 まとめ ...................................................................................... 254

参考文献 255

あとがき 257

索 引 260

Page 11: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

viii

本書の構成

本書では,1章で機械学習の概観を説明します.その中で,その後の説明手順を示すために,機械学習手法の分類をおこないます.また 2章では,データの収集から,結果の評価に至るまでの一連の機械学習の実装手順を説明します.この 1章と 2章が,以後の説明に繋がる基礎になります.その後,1章でおこなった分類に基づいて,順に機械学習の手法を説明してゆきま

す.教師あり学習・識別問題の説明に多くのページを使っていますが,ここでその後の説明にも用いる基本的な概念を紹介しています.したがって,できるだけ前から順に読んでゆくことをお勧めします.なお 12章以降は,やや高度な内容を含んでおり,説明を直観的なものだけにとどめ

ている箇所も多くあります.これらの手法の詳細に関して学びたい方は,参考文献を挙げておきましたので,そちらを参照してください.

Page 12: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

1章

はじめに我々人間は,日々五感を通して得られる情報から,対象を分類する能力や,事象の

背後にある規則性を獲得してゆきます.これらと同じ能力をコンピュータに与えることを目指したものが,機械学習です.本章では,近年機械学習が注目されている背景を紹介し,本書で扱う機械学習の概要について説明します.

1.1 ビッグデータの時代

近年,ビッグデータ (big data)というキーワードのもとに,様々な技術開発やビジネス展開がなされています.2012年 3月に米国が巨費を投じると発表した「ビッグデータ研究開発イニシアティブ」1は,ビッグデータの収集・管理・分析のための中核技術の発展,科学技術分野での発見の加速,国家安全保障の強化,ビッグデータ技術分野の人材育成を目指すもので,ビジネスを超えた幅広い分野に,ビッグデータの影響が広がっています.ビッグデータの特徴は,大量・多様・スピードだといわれています.情報機器・セ

ンサーネットワークの発達で,全世界のデータ量は,1日あたりエキサバイト 2 単位で大量に増加しているとみられています 3.そして,その内容は人々がブログや SNS

(social networking service)に投稿する文章・画像・動画,スマートフォンなどに搭載されているセンサーから収集される情報,オンラインショップやコンビニエンスストアの販売記録,IC乗車券の乗降記録など,多種多様なものです.また,それらのビッグデータを有効に活用するためには,必要なときに,必要な結果が得られるというスピードが要求されます.大量・多様なデータをスピードをもって処理することで,購買記録からお勧め商品を提示するようなおなじみの機能に加えて,不審な行動パター

1 http://www.whitehouse.gov/sites/default/files/microsites/ostp/big data press release.pdf

2 1エキサバイトは 1テラバイトの百万倍,1テラバイトは標準的なデスクトップPC 1台のハードディスクの記憶容量です.

3 http://www-06.ibm.com/software/jp/data/bigdata/

Page 13: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

2 1 章 はじめに

図 1.1 ビッグデータの活用例

ンの検出や,インフルエンザの流行の予想など,これまでになかったサービスや機能を実現することもできるのです(図 1.1).ビッグデータは,インターネットの発展や様々なセンサ・通信機能をもった携帯端

末の普及の結果としてもたらされましたが,その大量・多様なデータの効率のよい利用に関しては,これからますます技術開発が進められてゆく分野です.ビッグデータの応用に関して最も注目されている分野として,データマイニング (data mining)があります.データマイニングは,それ自体は単なる記録の蓄積に過ぎないデータの山から,貴重な知見を発見(マイニング=発掘)しようとする試みです.データマイニングの有用性を示す古典的な例として,スーパーマーケットの売り上げ

データの分析から,「木曜日の夕方,スーパーマーケットで紙おむつを買う人はビールも買うことが多い」(だから,紙おむつの近くにビールを置けば,売り上げが増える可能性がある)ことがわかったというものがあります(図 1.2).この話は,1992年 12月23日の「ウォールストリートジャーナル」に掲載された “Supercomputer Manage

Holiday Stock”という記事が発端らしいのですが,その後,不正確な伝聞が広がって,一種の伝説のようなものになってしまいました 1.後付けの理屈として,「紙おむつは

図 1.2 データマイニングの事例「紙おむつとビール」

1 ITmedia 情報マネジメント用語辞典:おむつとビールhttp://www.itmedia.co.jp/im/articles/0504/18/news086.html

Page 14: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

31.2 機械学習とは何か

かさばるので父親が買い出しに行くことが多く,そのついでに週末に飲むビールを買うことが多い」という説明がなされています.普通の発想では無関係に思える木曜日・紙おむつ・ビールの 3項目に対して,売り上げデータを通じてその関連性が抽出されたということで,データマイニングについての話の導入として,この「紙おむつとビール伝説」が取り上げられることが多いようです.データマイニング以外にも,データを利用して識別・予測の精度を高めることで,省

力化やサービスの向上を図るものは数多くあります.迷惑メールのフィルタや,特定の製品に関する SNS での評判情報の自動収集などは,言語データを対象とした機械学習の成果です.また,数値データを対象としたものには,過去のデータから今後の数値を予測する手法を用いた新製品需要の予測や,外れ値を検出することによる異常検出があり,いずれもビッグデータの応用例として期待されているものです.その名のとおりビッグデータは大量であり,その処理にはスピードが要求されます

ので,人手による情報抽出は見込めません.また,ビッグデータの情報源は多様なので,必然的に矛盾・曖昧性・誤差を含みます.これらのデータを処理する規則を人手で見つけ出すのは非常に難しいことです.そこで,機械が知識や規則を発見し,それを使って推論・識別・予測をおこなうという,いわゆる機械学習 (machine learning)

の技術が必要になります.

1.2 機械学習とは何か

「人手で扱えない」ものはすべて「機械学習」を使うべき,というわけではありません.大量のデータを特定の順番に並べ替えることは,人手では気の遠くなる作業量でも,ソーティング(並べ替え)プログラムを使えば可能です.同じく大量のデータを扱う場合でも,特定の条件を満たすデータの検索・抽出・平均値の計算などの問題は,その解法であるアルゴリズムがすでにわかっています.これに対して,機械学習で扱うのは,解法が明確にはわかっていない問題です.こ

こでは,機械学習で対象とする問題をタスク (task)とよびます.たとえば,人間は文字や音声の認識能力を学習によって身につけますが,どうやっ

て認識をおこなっているかを説明することはできません.その人間の認識能力を何らかの手法でモデル (model)化して,コンピュータでその能力を再現しようとする技術が,機械学習の一種であるパターン認識 (pattern recognition)とよばれる問題です.ここでのアイディアは,明示的にその手順は記述できないけれども,データ(この

場合は入力とその答え)は大量に用意することができるので,そのデータを使って人

Page 15: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

4 1 章 はじめに

間の知的活動(場合によってはそれを超えるもの)のモデルを作成しようというものです.これ以降,機械学習のために用いるデータのことを学習データ (training data)

とよびます.ここまでをまとめると,機械学習の基本的な定義は,

アルゴリズムとして明示的に解法が与えられないタスクに対して,そのタスクを遂行するためのモデルを,学習データから構築すること

となります.また,文献[1]では,コンピュータプログラムが学習するとは

あるタスクにおいてある学習データによってモデルの性能測定基準の値が向上すること

であるとされています.単にモデルを構築するだけではなく,その性能測定基準の値が向上するということを,機械学習の定義として定めています.単に知的なモデルを作って「それで終わり」というわけではなく,学習を続けて性

能が向上しつづけることが,定義の中に含まれています.たとえば,迷惑メールフィルタを考えます.製品によって相対的に性能の良し悪しはありますが,誰にとっても最高の性能であるような迷惑メールフィルタはありません.各人の利用環境によって迷惑メールの基準が異なるので,利用者が「これは迷惑メール」,「これは迷惑メールではない」と操作した履歴に基づいて再学習をおこない,その利用者の操作の結果が適切に分類に反映されれば,このプログラムは学習能力が高いといえるでしょう.これらの定義に沿って考えてゆくと,機械学習のタスクとしては,推論・認識・予

測・適応などを伴う,人間の知的活動の様々な分野がその対象となりそうです.これらは人間の高度な知的活動ですので,実現するのは非常に難しそうですが,これらの機能が規則や関数などで表現できると仮定すると,それらを性能測定基準に沿って最適化してゆく作業を機械学習とみなすことで,適切な理論化がおこなえそうです.また,学習データも一見多様にみえますが,購入した商品名や天候のような「ラベルの集合」,あるいは金額やセンサーからの入力のような「数値の集合」,さらにはそれらが入り交じったもの,というように整理して考えることができます(図 1.3).機械学習の役割をこのように位置付けると,図 1.3中の「機械学習」としてまとめ

られた中身は,タスクの多様性によらず,目的とする規則・関数などのモデルを得るために,どのような学習データに対して,どのようなアルゴリズムを適用すればよいか,ということを決める学習問題と,その学習の結果得られたモデルを,新たに得ら

Page 16: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

51.2 機械学習とは何か

図 1.3 機械学習の位置付け

図 1.4 機械学習の要素

れる入力に対して適用する実運用段階に分割して考えることができます(図 1.4).本書の対象は,主として図 1.4の学習問題と定義された部分ですが,いかに実運用の

際によい性能を出すか,すなわち,学習段階ではみたことのない入力に対して,いかによい結果を出力するか(この能力は,「学習データからいかに一般化されたモデルが獲得されているか」,ということになるので,汎化 (generalization)能力といいます)ということを常に考えることになります.

Page 17: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

6 1 章 はじめに

1.3 機械学習の分類

ここでは,前節で説明した学習データと学習結果を基準に,機械学習の分類を試みます.機械学習には様々なアルゴリズムがあり,その分類に関しても様々な視点があります.機械学習の入門的な文献では,モデルの種類に基づく分類がおこなわれていることが多いのですが,そもそもそのモデルがどのようなものかというイメージをもっていない初学者には,なかなか納得しにくい分類にみえてしまいます.そこで本書では,入力である学習データの種類と出力である学習結果の種類の組み合わせで機械学習のタスクの分類をおこない,それぞれに分類されたタスクを解決する手法として,モデルを紹介します.まず,学習データにおいて,正解(各データに対してこういう結果を出して欲しい

という情報)が付いているか,いないかで大きく分類します(図 1.5).学習データに正解が付いている場合の学習を教師あり学習 (supervised learning),正解が付いていない場合の学習を教師なし学習 (unsupervised learning)とよびます.また,少し曖昧な定義ですが,それらのいずれにも当てはまらない手法を中間的手法とよぶことにします.

図 1.5 機械学習の分類

教師あり/なしの学習については,それぞれの出力の内容に基づいてさらに分類をおこないます.教師あり学習では,入力をあらかじめ定められたカテゴリーに分類した結果を出力するものを識別とし,入力から予測される数値を出力するものを回帰と

Page 18: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

71.3 機械学習の分類

します.一方,教師なし学習では観点を変えて,入力となるデータ集合全体を説明する情報を出力するものをモデル推定とし,入力となるデータ集合の一部から得られる特徴的な情報を出力するものをパターンマイニングとします.中間的手法に関しては,何が「中間」であるのかに着目します.学習データが中間

である場合(すなわち,正解付きの学習データと正解なしの学習データが混在している場合)と,学習手法が中間である場合(すなわち,教師あり/なしの両方の手法を組み合わせる場合)とで分類します.以下では,それぞれの分類について,その問題設定を説明します.

1.3.1 教師あり学習教師あり学習では,正解の付いた学習データを用います.このデータを訓練例とよ

ぶこともあります.学習データは,入力データに対応するベクトル xiと,正解情報 yi

のペアからなります.{(xi, yi)

}, i = 1, . . . , N

ここで,N は学習データの総数,添字 iは学習データ中の i番目の事例であることを示します.当面,入力ベクトル xiは次元数 dの固定長ベクトルであると考えておきます 1.

xi = (xi1, . . . , xid)T

図 1.3の上部に示したような,(134.1, 34.6, 12.9)や,(女, 68, 165, 44, no)などが,入力ベクトル xiの例です.入力ベクトルの各要素 xi1, . . . , xidを,特徴 (feature)あるいは属性 (attribute)と

よびます 2.特徴は,数値あるいはラベルのいずれかの値をとります.数値は長さや温度などの連続値をとる場合もありますし,商品の購入個数や単語の出現回数などの離散値をとることもあります.ラベルは文字列データで,たとえば性別を表す「男・女」や天候を表す「晴・曇・雨」などを値とします.教師あり学習は,この学習データから,入力 xを正解 yに写像する関数 cを学習す

ることを目的とします.

1 ほかの教科書などの記法に従って,入力は列ベクトルとします.ただし,本文中や数式中で要素を示すときは,スペースを節約するため,転置を表す記号 T を右肩に付けて行ベクトルとして表記します.また,図中などでとくに差し支えがない場合は,転置の記号を省略します.

2 これ以降での学習手法の説明においては,(深層学習の説明を除いては)問題設定に適した特徴がすでに選ばれているものとします.観測対象から,問題設定に適した特徴を選んでデータ化する作業は,特徴抽出とよばれます.

Page 19: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

8 1 章 はじめに

c : x→ y

この関数 c(x)は理想的な写像を表すので,とても複雑な形をしているかもしれません.それを限られた学習データから求めるのは難しいので,通常は関数の形を扱いやすいものに仮定して,その関数のパラメータを推定するという問題に置き換えます.この推定する関数を c(x)と記述します.関数 c(x)の実際の形は,入力ベクトル xと正解 yの種類によって異なります.また,正解情報(あるいは関数 c(x)の出力)yも,数値(スカラー・ベクトルいずれ

の場合もあります)あるいはラベルのいずれかになります.正解 yがラベルの場合を識別 (classification)問題,数値の場合を回帰 (regression)問題とよびます.識別問題の正解をクラス (class),回帰問題の正解をターゲット (target)とよぶこととします.具体的な教師あり学習問題の説明に入る前に,性能測定基準について少し説明しま

す.学習結果である関数 c(x)は,学習データに含まれていない未知のデータ xに対して,なるべく正しい答えを出力するように一般化されなければなりません.学習データに対する正解率ではなく,未知のデータに対する正解率が重要なのです.学習データに対しては,その正解をすべて表形式で記録しておけば,間違いなく正解を出力することができます.しかし,未知データに対して正解を出力するには,「学習データの背後にある法則のようなもの」を獲得する必要があるのです.機械学習は,人間が解き方のわからない問題に対して適用するものであることを,前節で説明しました.「学習データの背後にある法則のようなもの」をいかにして獲得するかということが,教師あり学習のテーマになります.

識別識別は,入力をあらかじめ定められたクラスに分類する問題です.典型的な識別問題

には,音声や文字の認識,レビュー文章の PN判定(positive(ほめている)か negative

(けなしている)か),疾病の有無の判定などがあります.ここで,識別問題として最も単純な,2値分類問題を考えてみましょう.2値分類問

題とは,たとえば,ある病気かそうでないか,迷惑メールかそうでないかなど,入力を 2クラスに分類する問題です.さらに,入力を数値のみを要素とするベクトルと仮定します.入力ベクトルが 2次元の場合,学習データは図 1.6 (a)に示すように,平面上の点集合になります.クラスの値に対応させて,それぞれ丸とバツで表しました.最も単純に考えると,識別問題はこの平面上で二つのクラスを分ける境界線を決め

るという問題になります.未知のデータが入力されたとき,この境界線のどちらにあるかを調べるだけで,属するクラスを解答できるので,このことによって,識別能力

Page 20: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.
Page 21: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

2章

機械学習の基本的な手順本章では,機械学習の基本的な手順を学びましょう.まず,それぞれのステップで

理解しておくべき内容を解説した後で,各ステップの作業を支援してくれるツールを使いながら,具体的なデータでその内容を説明します.学習ステップの中身に関しては次章以降で学びますので,この章では少し特殊な学習法である「学習しない」機械学習手法(k-NN法)1 を使って,機械学習全体の手順(図 2.1)を説明します.

図 2.1 機械学習の流れ

使用するツールは,Wekaというデータマイニングソフトウェアです.WekaはニュージーランドのWaikato大学で開発され,オープンソースソフトウェアとしてGNU GPL

ライセンス 2 で公開されています.本書で用いるのは,2014年 1月時点で最新である開発者用バージョン (Developer

version) 3.7.10です.Wekaのサイト 3からDownloadリンクをたどって,Windows,Mac,Linuxなど,各プラットフォームに応じたファイルをダウンロードしてインストールします.インストールが成功して,Weka 3.7を実行すると,図 2.2のような起動画面が出てき

ます.ここで,最初に使用するインタフェースを Explorer,Experimenter,Knowledge

Flow,Simple CLIの中から選びます.それぞれの用途を表 2.1に示します.この章では,まずKnowledge Flowインタフェースを用いて,機械学習全体の流れ

1 すでに識別結果を知っているデータの中から,識別したい入力に最も近いものを探し,そのデータと同じクラスに識別する方法です.拍子抜けするほど単純なアイディアですが,識別率は意外に高いといわれています.

2 GPLライセンスとは,大まかには「プログラムの実行・改良・再頒布は自由であるが,再頒布するときにはその頒布物もGPLライセンスでなければならない」というものです.

3 http://www.cs.waikato.ac.nz/ml/weka/

Page 22: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

192.1 データ収集・整理

図 2.2 Wekaの起動画面

表 2.1 Wekaのインタフェース

インタフェース 内容Explorer データの前処理手法,適用する学習アルゴリズム,そのパラメータ

などを試行錯誤するのに適する.Experimenter 学習アルゴリズムの比較など,評価実験に適する.

Knowledge Flow 前処理から結果の可視化までの一連の流れを作成するのに適する.Simple CLI Javaのクラスを直接呼び出すコマンドラインインタフェース.

を視覚的に構成する手順を説明します.その後,手軽に使える Explorerインタフェースについて,その使い方の概要を説明します.次章以降の例題・演習問題では,この二つのインタフェースを必要に応じて使い分けて用います.

2.1 データ収集・整理

2.1.1 データの収集機械学習の第一段階はデータ収集です.購買記録からのパターンマイニングなどの

ように,使用するデータがあらかじめ存在する場合と,自分でタスクと問題を設定して,そのために必要なデータを集める場合とがあります.教師あり学習をおこなう場合には,さらに正解の付与作業が必要になります.ただし,機械学習の勉強という目的では,先人が苦労して作成してくれたデータを

利用することができます.本書の例題では,主として Weka 3.7 に付属のデータを使用します.Wekaをインストールしたフォルダに,dataというフォルダがあります.そこに,後で説明する ARFFという形式 1でデータが納められています.Weka付属

1 テキスト形式の一種ですので,エディタでその内容を確認することができます.

Page 23: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

20 2章 機械学習の基本的な手順

表 2.2 Weka付属のデータ

データ名 内容 特徴 正解情報breast-canser 乳癌の再発 ラベル クラス(2値)contact-lenses コンタクトレンズの推薦 ラベル クラス(3値)

cpu CPUの性能評価 数値 数値credit-g 融資の審査 混合 クラス(2値)diabetes 糖尿病の検査 数値 クラス(2値)

iris アヤメの分類 数値 クラス(3値)Reuters-Corn 記事分類 テキスト クラス(2値)

supermarket スーパーの購買記録 ラベル なしweather.nominal ゴルフをする条件 ラベル クラス(2値)weather.numeric ゴルフをする条件 混合 クラス(2値)

のデータには,過去の機械学習論文で取り上げられてきたデータがいくつもあり,いくつかの機械学習アルゴリズムの本質を理解するのに適しています.表 2.2に,本書で取り上げるデータの内容を示します.これらのデータは,これまでほかの本で何度も目にしたものかもしれません.例題

の内容をみて,「アヤメの分類なんか興味ないんだけど…」とか,「曇っていて風が弱ければゴルフをするっていう規則なんて何の役に立つんだ…」などという感想をもつかもしれません.しかし,機械学習アルゴリズム自体は,まったく意味をもたない特徴A,特徴 B,…などを設定して,乱数で人工的に生成したデータを使って説明するだけでは,それで結果が出てもあまり達成感がありません.アルゴリズムを理解するだけでなく,実際にツールを動かしてみると,「近視で涙量が正常の人には,ソフトコンタクトレンズを勧める」というような,実世界と対応付けてみて何となく正しそうにみえる結果が出ているだけで,ちょっとうれしくなることもあります.また,いくつかの練習問題では,比較的大規模なデータが揃っている UCI Machine

Learning Repository 1 を使用します.これらのデータは,特徴と正解情報の組み合わせにとくに注目して使用してくださ

い.特徴(次元数,データの散らばり具合,スパース性 2,欠損値の有無などの情報も含めて)と正解情報の組み合わせをみただけで,適用するべきアルゴリズムが浮かぶようになれば,機械学習初心者卒業といえるでしょう.

1 Bache, K. & Lichman, M. (2013). UCI Machine Learning Repository

[http://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and

Computer Science.

2 実際に値が入っている次元の割合.

Page 24: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

212.1 データ収集・整理

ただし,このようなサンプルとして入手可能なデータは,勉強のためと割り切って使うべきです.これらを使って研究を進めることに関しては,問題が提起されています(このことは「あとがき」でも触れます)[5].

2.1.2 データの整理学習に用いるデータの収集が終わったら,それを機械学習プログラムが読み込んで

処理しやすい形式に整理します.1章で説明したように,機械学習のデータは多次元のベクトルですので,ベクトル

の各要素をカンマで区切り,1行に 1事例ずつデータを並べてゆくというのが,最も単純な形式になります.この形式は CSV (comma separated values)形式とよばれ,表計算ソフトやテキストエディタで読み込み・編集ができます.ただし,CSV形式では,何番目の要素がどのような特徴を表しているのかは,データだけからはわかりません 1.最初に見出し行を付けるという方法も考えられますが,データの型など,もう少し情報を付けておきたいこともあります.それぞれの要素は数値なのかラベルなのか,ラベルの場合はどのような値が可能なのかという情報も,自分が作成したものではないデータを扱う際には役に立ちます.CSV形式にこれらの情報をヘッダ情報として加えたものが,ARFF (attribute-relation file format)形式です.

ARFF形式のデータの例として,Wekaに付属の iris.arffを図 2.3に示します.これはアヤメ (iris)の種類 (iris-setosa, iris-versicolor, iris-virginica)を,その

がく

萼の長さ(sepal length)・幅 (sepal width),花びらの長さ (petal length)・幅 (petal width)の,計四つの特徴を用いて識別するための学習データです.

ARFF形式のファイルには,データセット名,特徴の情報,実際のデータを,この順で記述します.それぞれの記述方法について表 2.3にまとめます.%で始まる行はコメントです.Weka付属のいくつかのデータには,コメントとして

表 2.3 ARFF形式の仕様

セクション名 形式 内容

データセット名 @relation 〈データセット名 〉 データの名前を記述特徴の情報 @attribute 〈特徴名 〉〈型 〉 1行に 1特徴の情報を記述.データの各

次元の意味は特徴の出現順に対応する.データ @data @dataの行以降,1行に 1事例のデータ

を CSV形式で記述.欠損している要素は ? で表す.

1 教師あり学習に用いるデータの場合は,最後の要素を正解とすることが習慣になっています.しかし,すべてのデータがその習慣に従っているという保証はありません.

Page 25: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

22 2章 機械学習の基本的な手順

図 2.3 ARFF形式のデータの例 (iris.arff)

そのデータの作成元の情報,関係論文,特徴の詳細説明などが書かれています.@relation1で指定されるデータセット名は,ほかのデータ集合と区別する目的で,

英数字と記号を用いて記述します.空白・カンマ・波括弧などを含めたい場合は,データセット名を引用符(’または ”)で囲みます.@attributeで指定される特徴の型は,numeric(数値),ラベル,date(日付),string

(文字列)のいずれかです 2,数値型を表すのに,integer や real と書かれている場合もありますが,いずれも numeric とみなされます.ラベルの場合は,型指定の代わりに,ラベルとして可能な値を {yes, no}のようにカンマ区切りで並べて波括弧で囲みます.識別問題の正解情報は,このラベル型を用いて,特徴名として class と指定することが多いのですが,Weka は自動的にその特徴を正解情報とみなすわけではありません.どの特徴を正解情報とするかは,Weka にデータを読み込んでから決定します.@dataと書いた次の行から,学習に用いるデータを 1行に 1事例の CSV形式で記

述します.

1 セクション名に用いる大文字・小文字は区別されません.2 特徴名・型とも大文字・小文字は区別されません.

Page 26: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

5章

識別 ―生成モデルと識別モデル―この章では,前章で学んだ統計モデルによる識別法で,数値を要素とする特徴ベク

トルを識別する問題に取り組みます.数値を要素とする特徴ベクトルに対する識別問題は,一般にはパターン認識とよばれます.

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

3章と 4章では,ラベル特徴に対する識別問題を扱いました.続いて 5章から 7章では,数値を要素とする特徴ベクトル xに対する識別問題を扱います(図 5.1).識別問題は教師あり学習ですので,学習データは特徴ベクトル xiと正解情報である

クラス yi のペアからなります.{(xi, yi)

}, i = 1, . . . , N

ラベル特徴との違いは,特徴ベクトルの要素が数値ですので,各要素を軸とする空間を考えることができる点です.この空間を,特徴空間とよびます.そうすると,学

図 5.1 数値特徴に対する「教師あり・識別」問題

Page 27: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

90 5章 識別 ―生成モデルと識別モデル―

図 5.2 d次元の特徴空間

習データの中の各事例は,特徴空間上の点として表すことができます(図 5.2).もし,特徴抽出段階で適切な特徴が選ばれているならば,図 5.3のように,学習デー

タは特徴空間上で,各クラスごとにある程度まとまりを構成していることが期待できます.そうでなければ,人間や動物が日常的に識別問題を解決できるはずがありません.このように考えると,数値特徴に対する識別問題は,特徴空間上でクラスを分離する境界面を探す問題として定義することができます.境界面が平面や 2次曲面程度で,よく知られた統計モデルがデータの分布にうまく

当てはまりそうな場合は,本章で説明する統計モデルによるアプローチが有効です.一方,学習データがまとまっているはずだといっても,それが比較的単純な識別面

で区別できるほど,きれいに分かれていない場合もあります.その境界は,曲がりくねった非線形曲面になっているかもしれません.また,異なるクラスのデータが一部重なる部分がある可能性があります.そのような,非線形性をもち,完全には分離で

図 5.3 特徴空間上の学習データと識別面

Page 28: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

915.2 数値特徴に対するベイズ識別

きないかもしれないデータに対して識別を試みるには,次章以降で説明する二つのアプローチがあります.一つは,非線形の複雑なモデルで表した境界のパラメータを,学習データとの誤差

がなるべく少なくなるように調整する方法です.この代表的な手法が,6章で説明するニューラルネットワークです.もう一つは,学習データを高次元の空間に移すことで,きれいに分離される可能性を高めておいて,線形のモデルを使ってなるべく学習データに特化しすぎないような識別面を求めるという方法です.この代表的な手法が,7章で説明する SVM(サポートベクトルマシン)です.

5.2 数値特徴に対するベイズ識別

4章では,ラベル特徴に対する統計的識別手法を説明してきました.その基本的な考え方は,数値特徴に対しても適用することができます.

5.2.1 数値特徴に対するナイーブベイズ識別数値特徴の場合のナイーブベイズ識別の結果を求める式は,式 (5.1)のようになり

ます.ラベル特徴の場合の式 (4.12)とほとんど同じですが,尤度が離散事象に対する確率分布 P (xj |ωi)ではなく,数値に対する確率密度関数 p(xj |ωi)になっています.

CNB = arg maxi

P (ωi)d∏

j=1

p(xj|ωi) (5.1)

事前確率 P (ωi)に関しては,ラベル特徴のときと同様に,学習データ中のクラス ωi

に属するデータを数える最尤推定で求めればよいので,とくに問題はありません.しかし,尤度 p(xj|ωi)に関しては,「クラス ωiのデータの属性 aj が値 xj となる確

率」なので,頻度を数えるという方法を用いることはできません.そこで,数値特徴に関しては,適切な統計モデルを当てはめ,そのモデルのパラメー

タを学習データから推定するという方法を取ります.数値データに対する統計的モデル化は,それだけで一冊の本になるぐらい奥が深い問題です.本書では,教師なし学習におけるモデル推定のところで少し詳しく説明しますので,ここでは,最も単純な方法で考えます.様々な数値データに対して多く用いられる統計モデルが正規分布です.正規分布は,

図 5.4に示すような釣り鐘型をした分布で,身長・体重の分布や,多人数が受けるテストの点数の分布などがよく当てはまります.

Page 29: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

92 5章 識別 ―生成モデルと識別モデル―

図 5.4 正規分布の形

1次元データの正規分布は,式 (5.2)のようになります.

p(x) =1√2π σ

exp(− (x− µ)2

2σ2

)(5.2)

ここで,µは正規分布の平均値,σは標準偏差です.この二つを正規分布のパラメータとよび,パラメータの値が決まると,p(x)の関数形が決まります.このような仮定をおいたときの学習は,正規分布の平均値と標準偏差を学習データ

から推定するという問題になります.これは,ラベルデータの頻度による推定と同様の考え方で,学習データの平均をモデルの平均,学習データの標準偏差をモデルの標準偏差とすることで,最尤推定になります.

例題 5.1

WekaのNaiveBayesアルゴリズムを用いて,diabetes.arffのデータを識別するナイーブベイズ識別器を作成せよ.

解 ここで用いる diabetes.arff(図 5.5)は,ピマ・インディアンの女性の種々の検査結果と糖尿病検査結果の関係を示すデータです.血圧・年齢・BMIなどの値から,糖尿病であるかどうかを判定する識別器を作成するのが目標です.diabetesデータの特徴とその値の意味を表 5.1に示します.分類するクラスは,正(tested positive),負(tested negative)の 2クラスで,用いる特徴は 8次元の数値特徴です.ここでは,Wekaの Explorerインタフェースを用います.Preprocessタブで di-

abetes.arffデータを読み込んだ後,Classifyタブでの設定は classifier領域で bayes

→ NaiveBayesを選び,Test options領域で選ぶ評価方法は,Use training setとします.学習結果は以下のようになります.学習結果が,各特徴の平均値(mean)や標

準偏差(std. dev.)(すなわち,各次元の正規分布のパラメータ)になっていると

Page 30: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

935.2 数値特徴に対するベイズ識別

図 5.5 diabetesデータ(一部)

表 5.1 diabetesデータの特徴

attribute detail

preg 妊娠回数plas 糖負荷試験 2時間後の血糖値pres 最低血圧[mmHg]skin 上腕の皮膚の厚さ[mm]insu 血中インスリン濃度[µU/ml]mass BMI = 体重[kg]/(身長[m]× 身長[m])pedi 糖尿病家計の度合age 年齢class {tested positive, tested negative}(正例,負例)

ころに注目してください.なお,weight sumは,パラメータ推定に用いた事例数,precisionはその次元における隣接事例距離の平均です.いずれも推定されたパラメータの妥当性を検証するための補助的な情報で,これらの数値は識別の際には用いられません.

Class

Attribute tested_negative tested_positive

(0.65) (0.35)

===============================================

preg

mean 3.4234 4.9795

Page 31: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

94 5章 識別 ―生成モデルと識別モデル―

std. dev. 3.0166 3.6827

weight sum 500 268

precision 1.0625 1.0625

plas

mean 109.9541 141.2581

std. dev. 26.1114 31.8728

weight sum 500 268

precision 1.4741 1.4741

...

正解率は, Use training set,10-fold CVともに 76%程度になります.

5.2.2 生成モデルの考え方ここで,式 (4.2)に基づいて得られた事後確率の計算式を,記号を変えてもう一度

見直してみます.

P (ωi|x) =p(x|ωi)P (ωi)

p(x)(5.3)

=p(ωi, x)

p(x)(5.4)

式 (5.3)の分子は,生成モデルとよばれる考え方で解釈することができます.まず,あるクラス ωiが確率 P (ωi)で選ばれ,そのクラスから特徴ベクトル xが確率 p(x|ωi)

に基づいて生成されたという考え方です.これは,式 (5.4)の分子である特徴ベクトルとクラスの同時確率 p(ωi, x)を求めていることになります.この生成モデルアプローチは,事前確率がわかっていて,それを識別に取り入れた

い場合には有効です.しかし,推定するべきパラメータは,P (ωi|x)を直接推定するよりも増えてしまいます.次節では,P (ωi|x)を直接推定する方法について説明します.

5.3 ロジスティック識別

P (ωi|x)をデータから直接推定するアプローチは,識別モデルとよばれます.4章で説明したように,データから直接頻度を数えて事後確率 P (ωi|x)を求めることはできません.そこで,識別モデルでは,この事後確率を特徴値の組み合わせから求める

Page 32: 「ビヨヺセビテではじめる機械学 - morikita.co.jp · 「ビヨヺセビテではじめる機械学 習入門」 コヱフラヘヺザ この本の定価・判型などは,以下のurlからご覧いただけます.

著 者 略 歴荒木 雅弘(あらき・まさひろ)

1993 年 京都大学大学院工学研究科情報工学専攻博士後期課程研究指導認定退学

同 年 京都大学工学部助手1997 年 京都大学総合情報メディアセンター講師1998 年 博士号(工学)取得(京都大学)1999 年 京都工芸繊維大学工芸学部助教授2007 年 京都工芸繊維大学大学院工芸科学研究科准教授(職名変更)

現在に至る

編集担当 太田陽喬(森北出版) 編集責任 富井 晃(森北出版) 組 版 プレイン 印 刷 ワコープラネット 製 本 ブックアート

フリーソフトではじめる機械学習入門 c© 荒木雅弘 2014

2014 年 3月 28 日 第 1 版第 1 刷発行 【本書の無断転載を禁ず】

著 者 荒木雅弘発 行 者 森北博巳発 行 所 森北出版株式会社

東京都千代田区富士見 1-4-11(〒102-0071)電話 03-3265-8341 / FAX 03-3264-8709http://www.morikita.co.jp/日本書籍出版協会・自然科学書協会 会員

<(社)出版者著作権管理機構 委託出版物>

落丁・乱丁本はお取替えいたします.

Printed in Japan/ ISBN978-4-627-85211-2