スキップしてメイン コンテンツに移動

『ITエンジニアのための機械学習理論入門』中井 悦司 ☆4

機械学習の理論をごまかさずに数式で説明しきることがコンセプト(数式が分からなくても理論の内容は理解できる)。機械学習の基本的な考え方から、代表的なアルゴリズムまでコンパクトにまとまっています。サンプルコードを使って手を動かしながら学べる点もGood。

↑気になったらここからポチっと↑

見よう見まねで機械学習をやってきたので、きちんと理論を(概要レベルでもいいから)理解しておこうと思い、後付けで理論の学習第二弾。

この本を読むとわかること

最小二乗法:機械学習の第一歩

何回か紹介しているパーセプトロンの入力に対する重みを最小化する話です。f(x)=w0+w1x1+w2x2+...+wmxmというパーセプトロンの出力を解答データに近似させる重みwを決めます。元のデータで入力x(変数)と出力y(解答)が分かっているので、wの関数(上の例だとwのm次方程式)を解けばよいのです。このあたりの話が数式を交えて紹介されています。

他にもクロスバリデーション(交差検証法)というモデルの精度を上げる手法も解説されています。ソムリAIでもそうでしたが、一般的な機械学習では元のデータを訓練データと検証データ(テストデータ)に分け、訓練データでモデルを作成します。そして検証データでモデルの精度を測ります。訓練データに対する精度と検証データに対する精度がともに高ければ汎化能力が高く過学習が発生していないモデルと判断できます。

クロスバリデーションは、「訓練データ・検証データを複数用意することでモデルの精度をさらに上げる手法」です。例えば、データをa,b,c,d,eの塊で5分割し、aを訓練データとしたときのモデル・bを訓練データとしたときのモデル・・・eを訓練データとしたときのモデルという感じで、5つのモデルを作ってそれらを総合することでより精度の高いモデルを作るイメージです。

最尤推定法:確率を用いた推定理論

最尤推定法(さいゆうすいていほう)、言葉からして難しそうですが「最」も「尤」も訓読みは「もっとも」です。雑に言うと「もっともそれらしいものを推定しよう」という意味合いです。「それらしいものを推定する」ということで確率の概念が登場します。

数学的に言うと、「入力に使うデータの背後にはM次多項式の関数があり、さらに標準偏差σの誤差(確率的なぶれ)が含まれていると仮定する」ということだそうです。統計っぽく言うと、「それぞれの観測点が、背後の正規分布に従った観測値であると仮定する」とも言えます。正規分布とは釣鐘状の曲線です。

このあたりから確率・統計の考え方が必要となるため、解説に出てくる数式の難易度が一段階上がります。データのばらつきを表す「分散」や「標準偏差」「普遍分散」などが登場します。数学がつらくても、概念の理解は十分に可能です。

パーセプトロン:アルゴリズムの基礎

前述した最初の2章が機械学習における最適な重みの算出方法でした。ここからは機械学習のモデル(アルゴリズム)の紹介です。まずは機械学習の基礎となっているパーセプトロンからです。

最小二乗法のところでも少し触れましたが、入力に掛け合わせる重みを最適化します。最小二乗法では、「観測値(元データにある解答データ)とモデルの算出値の差の最小化」を目指します。単純な差(引き算)だけだと差がプラス・マイナスの両方になり、うまく比較できないので二乗してプラスに統一して比較します(二乗誤差と呼ばれます)。このあたりは統計を学んだ方であれば理解しやすいと思います。

二乗誤差が最小化されるポイントは、ベクトルで表現すると勾配ベクトルが0になるポイントと言えるのだそうです。以前読んだ機械学習の本にも出てきた確率的勾配降下法とは、「正しく分類されなかった点をランダムに選びながらパラメータを修正する方法」です。イメージはn次方程式のウネウネした形の器の上にボールがあって、器をゆすって一番低いところ(=重みが最適化されるポイント)である「底」を見つけるイメージなのです。言葉で書くと簡単に見えますが、ベクトルも出てくるので数学的にはまたまた難易度が上がるのです。

ロジスティック回帰とROC曲線:学習モデルの評価方法

まずはソムリAIでも登場したロジスティック回帰です。確率の概念を含む最尤推定法を使う点がパーセプトロンとの違いです。

また、真陽性と偽陽性のトレードオフについても紹介されています。真陽性とは「陽性と判定されて本当に陽性だった場合(病気と診断されて本当に病気だった場合)」で、偽陽性とは「陽性と判断されたけど実際は陰性だった場合(病気と診断されたけど病気じゃなかった場合)」です。ざっくり言うと、真陽性を高めようとすると(病気の人の見落としを減らそうとすると)、偽陽性も高まる(間違って病気と判断される人も増える)ということです。ファーマ系の仕事の方にはなじみのある考え方かもしれません。


真陽性率と偽陽性率の関係を表したのがROC (Receiver Operating Characteristic)曲線であり、複数のアルゴリズムの優劣を比較するのに使われます。両者のトレードオフを可視化した曲線です。ROC曲線で囲まれた右下のエリアの面積をAUC (Area under the curve)と呼び、これが大きいほど良いモデルということになります。

k平均法:教師なし学習モデルの基礎

ロジスティック回帰はモデルが予測した値と元のデータに含まれる解答データ(教師データ)を比較する「教師あり学習」という機械学習アルゴリズムでした。k平均法は、「与えられたデータからアルゴリズムがグループ分け(クラスタリング)を行う教師なし学習」の手法なのです。

理屈は割りとシンプルで、例えば2つに分類する場合、データの中からランダムに2つを選び、他のデータがどちらに近いか距離を計測し分類します。暫定的に分類された2つのグループの重心を計算し、その重心に対してすべてのデータがどちらに属するか分類することを繰り返して、データの並び替えが行われなくなったポイントが最適点とみなします。適当に選んだポイントを基準にグルーピングを行い、そのグループの真ん中で再度分類して・・・を繰り返して分類されなくなったらきれいに分けられたというイメージです。

応用すると、画像ファイルに含まれる代表色(その画像で多く使われている色)を抽出したり、単語の出現頻度や専門用語の出現頻度を使って文書データをグルーピングすることも可能だそうです。

k平均法と似たモデルとして、教師あり学習のk近傍法についても触れられています。推定すべき変数に対して毎回学習し直すk近傍法は怠惰学習モデルとも呼ばれるそうです。

EMアルゴリズム:最尤推定法による教師なし学習

手書き文字の判定などで使われるアルゴリズムです。EMとは、「Expectation Maximization」の略で、「期待値の最大化」的な意味合いです。手書き文字判定では元の白黒画像の各ピクセルの色(白・黒)を0・1で横に1次元で並べたmnistと呼ばれるデータを使います(mnistとはMixed National Institute of Standards and Technology databaseの略だそうです)。
たとえばこんなの↓

機械は右の表のような数字の羅列として手書き文字データを扱う(白が0、黒が1)
【ソース】

EMアルゴリズムを搭載した画像生成器(機械学習のモデル)は元データから、各ピクセルが黒になる確率(白になる確率)を算出し、ランダムに描画します。手書きデータのトレーニングセットから画像生成器(モデル)を作って、正しい画像を生成できる確率を考えるようなイメージです。数学的には、代表点や重心を算出するような数式が出てくるので、k平均法と近しいアルゴリズム・数式になるそうです。EMアルゴリズムは与えられたデータから機械が自分でモデルを作る「教師なし学習」であり、特徴量に基づいたクラスタリングであるため、例えば手書き文字が「0」であっても字の字形によっては「3」に分類されたりするのです。

ベイズ推定:データを元に「確信」を高める手法

ベイズ推定は「観測データが特定の正規分布から得られる」ことを前提にしており、条件付確率のように前提条件によって範囲を限定すると確率の値が変化するという性質を活かして確率の値を変えていく(確信度を高めていく)手法だそうです。算数の確率の問題であったような、「赤白二色のボールが何個か袋に入っていて、1個とったボールが赤かったときに次に白が出る確率を求めなさい」みたいな、条件をつけて確率の範囲を狭めていくようなイメージです。最終的に導かれた確率分布の平均値が最適な重みwに相当するのだそうです。

お気づきかもしれませんが、EMアルゴリズム・ベイズ推定あたりで僕の数学理解力は限界を迎え、概念レベルで理解するのがやっとでした。なので、興味のある方・数学的に理解したい方はこの本を直接読んでいただくと幸せになれるかもしれません。

↓気になったらここからポチっと↓

関連情報

AI(機械学習)やってみた

AI(機械学習)関連書籍


ビッグデータ解析やってみた

ベストビュー(過去1カ月)

【番外編】ボストン旅行記(UMASS Lowell卒業式編)【Day 4:卒業式】

UMASS Lowellの卒業式@Boston。4 日目は卒業式本番です。とても賑やかでアメリカンな式典でした。ただしあいにくの雨、僕曇り男なのに。。

『九龍城探訪 魔窟で暮らす人々 - City of Darkness』 ☆4

魔窟とも言われた香港の九龍城の住人へのインタビューや、在りし日の写真集。香港の本土返還に伴い取り壊されてしまっているけど、その怪しさに妙に惹かれるのです。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day2:晩餐会】

UMASS Lowellの卒業式@Boston。 2日目は午前中はボストン観光、夕方から Hooding ceremonyという卒業生(大学院生)向けの晩餐会です。卒業式で被るHoodをもらいました。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day0:渡米前にやっておくこと】

UMASS Lowellの卒業式@Bostonについて、計画の立て方やら行く前にやっておくことやらをまとめておきます。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day5:帰国】

UMASS Lowellの卒業式@Boston。5 日目にして帰国なのです。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day3:終日観光】

UMASS Lowellの卒業式@Boston。3 日目は終日フリーなので、ゆっくりボストンを観光しました。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day1:ボストンへ】

UMASS Lowellの卒業式@Boston。 1日目は移動だけで終わりました。

『女たちの王国 「結婚のない母系社会」中国秘境のモソ人と暮らす』☆3

雲南省と四川省の境にある「世界で最後の母系社会を営むモソ族」の社会に入り込んだ中華系シンガポール人女性の手記。結婚という概念がない・一夫一妻制でもないなど、父系社会が当たり前の我々にはイメージしづらい世界ですが、命をはぐくむ女性を中心とした母系社会のほうが生物としては正しい在り方なのかもしれません。

【番外編】AI(機械学習)やってみた。【第3回】ソムリAI ~ニューラルネットワーク編~

AI(機械学習)やってみた、第3弾です。「ニューラルネットワーク(Neural Network)」を使ったソムリAIを作ってみようと思います。”ニューラルネットワーク”、見るからにAIっぽい名前ですよね。

【番外編】AI(機械学習)やってみた。【第4回】ソムリAIの改良(正規化)

ソムリAI(ワインの評価を機械学習で当てる「ソムリエ+AI」)はもういいかなと思っていたのですが、機械学習の教科書的な本を読んでいるといくつか改良ポイントが見えてきたので、実際に適用してみようと思います。 まずは データの正規化 という手法を試してみました。結論から言うと、 あまり効果はなかった のです。。 ソムリAIの振り返り ワインの成分とランクのデータに対して、決定木・ロジスティック回帰・ニューラルネットワークの3通りのモデルを使って機械学習 を行い、モデルの精度を検証してきました。それぞれのソムリAIの性能はこんな感じでした。 どのモデルも概ね60%程度の精度 でした。 改良その1:正規化 正規化とは まずは 正規化 という手法を試してみます。標準化とも呼ばれます。正規化を行うことで 尺度の異なるデータを比べやすくする とともに、 はずれ値の影響を小さくする ことができます。正規化には 各データを平均0・標準偏差1に成形する手法 と、各データを 0から1の範囲に成形する手法 の2つがあります。 前者は標準偏差が出てくることからも分かるように、 データが正規分布に従うことを前提にした正規化手法 です。 元のデータが釣鐘型の分布になっている場合に有効 です。後者は単純に データの範囲を0から1の範囲に狭める手法 であり、 元のデータが一様分布の場合 (規則性が無くランダムなように見える場合) に有効 です。 どちらの手法でもデータの範囲を一定のレンジに狭めており、そうすることで異なる尺度のデータを比べやすくしつつ、はずれ値の影響を下げるのです。 正規化してみる 元データの分布を確認 前回同様のワインのデータを使って正規化してみます。まずはワインのデータを読み込んで表示してみます。ついでに機械学習で使うワインの成分と、ワインの評価にデータを分割しておきます。 【オリジナルのワインデータ】 UCI(University of California, Irvine:カリフォルニア大学アーバイン校) http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv #入力データセットを読み込み i

ベストビュー(全期間)

Malaysia Quarantine Premium Package 【番外編】Malaysia赴任記 隔離ホテル情報

Once entering Malaysia, we need to be quarantined for 14days. At the beginning of COVID-19 spread, the hotel for quarantine have been determined randomly. In these days, we can choose "premium quarantine stay package" in advance . This article is summary of premium packages which I asked each hotel. Note: Information in this article might be old. It's better to confirm the latest plan to the hotel. Note: Only Hotel Istana can be booked via its homepage so far. As the other hotels don't show their premium package plans on their homepage, you need to contact them through their reservation E-mail address or "Contact us". マレーシア入国とともに14日間ホテルで隔離されます。当初は滞在ホテルがランダムに割り振られていたようですが、より快適なプレミアムプランが追加されました。各ホテルにどんなプランがあるのか聞いてみたので、聞いた内容をまとめます。 ※情報が古い可能性があるので、念のため最新情報を各ホテルに確認したほうがよいかもしれません。

【番外編】AI(機械学習)やってみた。【第1回】ソムリAI ~決定木編~

最近ブームのAI(機械学習)に手を出しました。まずは、決定木(Decision Tree)というモデルを使って「ソムリAI(ワインソムリエAI)」を作ってみようと思います。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day0:渡米前にやっておくこと】

UMASS Lowellの卒業式@Bostonについて、計画の立て方やら行く前にやっておくことやらをまとめておきます。

【番外編】AI(機械学習)やってみた。【第6回】乳がん診断AI その1

ソムリAI(ワインソムリエAI)で使った手法で乳がん診断AIを作ってみます。まずは決定木とニューラルネットワークの2つのモデルを試してみます。かなり高性能なモデルができました。名医誕生かもしれません 笑

【番外編】AI(機械学習)やってみた。【第3回】ソムリAI ~ニューラルネットワーク編~

AI(機械学習)やってみた、第3弾です。「ニューラルネットワーク(Neural Network)」を使ったソムリAIを作ってみようと思います。”ニューラルネットワーク”、見るからにAIっぽい名前ですよね。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day5:帰国】

UMASS Lowellの卒業式@Boston。5 日目にして帰国なのです。

【番外編】ボストン旅行記(UMASS Lowell卒業式編)【Day 4:卒業式】

UMASS Lowellの卒業式@Boston。4 日目は卒業式本番です。とても賑やかでアメリカンな式典でした。ただしあいにくの雨、僕曇り男なのに。。

【番外編】AI(機械学習)やってみた。【第2回】ソムリAI ~ロジスティック回帰編~

AI(機械学習)やってみた、第2弾です。前回は決定木(Decision Tree)を使ったソムリAI(ワインソムリエAI)を作りました。今回は「ロジスティック回帰(Logistic Regression)」というモデルを使ったソムリAIを作ってみようと思います。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day2:晩餐会】

UMASS Lowellの卒業式@Boston。 2日目は午前中はボストン観光、夕方から Hooding ceremonyという卒業生(大学院生)向けの晩餐会です。卒業式で被るHoodをもらいました。

『深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト』 ☆5

一般社団法人日本ディープラーニング協会が実施している「Deep Learning for GENERAL (通称G検定 ) 」 の公式テキスト 。 ディープラーニングについて1冊で網羅的によくまとめられているので 、 ディープラーニングの入門書としてもおすすめです 。 ついでに勢いで資格も取ってしまいました 。 AI人材への第一歩なのです 笑