Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

第8回 ビッグデータを「使う」ための技術、「機械学習」とは?

edited by DB Online   2012/02/17 00:00

「ビッグデータをどう使っていく?」というテーマでおそらく今年話題になってくるであろう技術として「機械学習」があるのではないでしょうか。溜まったデータを使って、ワーっと解析するHadoopも昨年から話題に上がってきています。今日はたぶんもっとも身近な所で使われている「機械学習」である迷惑メールフィルタの話をしながら、機械学習というものについて知ってもらえればと思います。

もっとも身近なビッグ(?)データ

迷惑メールフィルタは非常に簡単な理論でできていて、いつの間にか利用している機械学習のよいサンプルです。迷惑メールフィルタといっても、携帯電話のキャリアが提供しているようなドメインを指定して受信するかどうかを決めるような、迷惑メールフィルタではありません。Gmailに付いている自動で振り分けをしてくれる迷惑メールフィルタです。

今回は、迷惑メールフィルタがどのように判別するのか、そして機械学習とどう関係しているのかを解説してみたいと思います。 実際にはパラメータの推定には最尤法を使っていたり、 今日話すことよりももっともっと複雑なことをしているはずですが、シンプルな最小構成での例として聞いていて下さい。

この原理を理解するにはベイズの定理というのがわかるとなおよいです。ベイズの定理については軽くだけ触れておきましょう。

ベイズの定理

非常に古くからある理論で、250年程前に発表されました。日本では「すずめの子 そこのけそこのけ お馬が通る」で有名な小林一茶が生まれたとされている年です。そんな頃に発表された理論がいまも現役で生きている、そんなにもシンプルな理論です。

Wikipediaによると、

P(B) = 事象Bが発生する確率(事前確率, prior probability)
P(B|A) = 事象Aが起きた後での、事象Bの確率(事後確率,条件付き確率, posterior prob
ability,conditional probability)
とする。 ベイズの定理によれば、P(A) > 0 の条件の下、

         p(B|A) = P(A|B) P(B) / P(A)

が成り立つ

(出展:Wikipedia

こんな数式で書かれてもよくわからないですね。

この定理で注目すべきは、「今あるデータでの統計からするにどうこう」ということではなく、「これまでの確率から言ってこれはこんな感じだろう」というような、人間の経験則に近いものを表しているところです。

迷惑メールフィルタへの適用

ベイズの定理を迷惑メールに当てはめてみると、このメールにはこんな単語が入ってるから多分迷惑メールだろうな。というような感じになります。

それを判断させるために、迷惑メールに含まれる単語と、迷惑メールじゃないメール(以下普通メールとします。)に含まれる単語がそれぞれ何回ずつ出てきたかなどを覚えさせます。ある程度のデータが溜まってくるとこの単語が含まれているのは迷惑メールだな、とか普通メールだなという判断が正確になってきます。なんだか人間と似ていますね。

迷惑メールをよく受信してしまう人は、なんとなく迷惑メールには「無料」とか「援助」ってコトバとか、他にもここには書けないような単語が入ってるんだろうなというのは想像できると思います。そのような単語が入っていたり、普段から仕事で使うような会社名や、「御見積」、と言ったような言葉が入っていたりする文章を総合的に判断して、これは迷惑メールだなとか、これは営業のメールだなという判断をしているはずです。

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 得上竜一(トクガミリュウイチ)

    株式会社マイニングブラウニー代表。 高校卒業後、電力会社の通信部門へ。社内にいくつもASがあるようなIP網やPDH,HDLCなどのL2以下のネットワークの保守を担当。その後パソコン・家電の激安店で価格調査と価格設定のシステムを開発。現在は進化させたそのシステムでインターネットの情報を集...

バックナンバー

連載:クラウド時代のデータストア

もっと読む

All contents copyright © 2007-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5