CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
今回と次回では前後編に分けて、統計においてもっともよく使われる確率分布である「正規分布」のお話をします。 第2回・第3回の復習 最初に、前回までのおさらいを簡単にしておきましょう。 まず確率を定義するものとして、確率変数 X と確率分布 p(X) を紹介しました。これが「確率」であるためには、以下の2つの重要な条件を満たしている必要がありました。 確率の値は0以上1以下 すべての取り得る値の確率の合計は1 これらの条件は、今後機械学習を学んでいく上で、常に意識しておかないといけません。今回も使いますよ。 それから、確率変数が複数ある場合の「同時確率」「条件付き確率」「周辺確率」、そして「事後確率」を導入し、「確率の加法定理と乗法定理」という2つの定理と、「ベイズの公式」を導きました。加法定理と乗法定理については、今回も使いますのでその時に確認しましょう。 最後に、「条件付き独
さらに詳細な利用方法が知りたい方は、Yahoo!デベロッパーズネットワークのマニュアルを参照してください。 ベイジアンフィルタの実装 ここから本格的にベイジアンフィルタの実装に入っていきます。 その前に、まずは先程のリスト1のコードを利用して入力された文章をわかち書きし、単語の集合を返す関数を作成しnaivebayes.pyとして保存しましょう。こちらも先程のmorphological.pyと同様にutf-8で保存してください。 リスト2 文章の分割をする関数(naivebayes.py) # -*- coding: utf-8 -*- import math import sys #yahoo!形態素解析 import morphological def getwords(doc): words = [s.lower() for s in morphological.split(doc)
今回は、機械学習で使う「確率」のお話です。 確率は、統計的な機械学習のもっとも重要な基礎知識です。とはいえ、確率についてゼロから説明するというのは紙数的にも厳しいため、高校の確率を少し憶えているくらい(期待値や標準偏差など)を前提とし、「高校の確率」と「機械学習の確率」の本質的な相違点について、少し丁寧に見ていく、という形で進めていきます。 機械学習と確率 最初に、機械学習にとって確率はどういう役割なのかを確認しておきましょう。 実のところ、機械学習に確率が必須というわけではありません。ニューラルネットワークやサポートベクターマシンなどの有名な手法も「確率を用いない機械学習」ですし、その他にも数多くの手法があります。しかし、「確率を用いない機械学習」の多くは、「結果のランキングを作りづらい(評価値の大小に意味がない)」「条件が異なる場合の結果を比較できない」などの欠点がありま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く