データマイニング分野における 10 の古典的なアルゴリズム - ナイーブ ベイズ アルゴリズム (コード付き)

データマイニング分野における 10 の古典的なアルゴリズム - ナイーブ ベイズ アルゴリズム (コード付き)

導入

ナイーブ ベイズ アルゴリズム (ナイーブ ベイズ アルゴリズムとも呼ばれます)。ナイーブ: 条件付き独立性を備えています。ベイズ: ベイズの定理に基づいています。これは、実装が簡単で、反復がなく、堅実な数学理論 (ベイズの定理など) によってサポートされている、教師あり学習の生成モデルです。サンプル数が多いほどパフォーマンスは向上しますが、入力ベクトルの特徴条件が関連しているシナリオには適していません。

基本的な考え方

(1)患者分類の例

次の表に示すように、ある病院では午前中に 6 人の外来患者を受け入れました。

今は7人目の患者、くしゃみをする建設作業員がいる。彼が風邪をひく確率はどれくらいですか?

ベイズの定理によれば:

したがって、くしゃみをした建設作業員が風邪をひいている確率は 66% です。同様に、患者がアレルギーや脳震盪を起こす確率も計算できます。これらの確率を比較することで、彼がどの病気にかかっている可能性が高いかを知ることができます。

これはベイズ分類器の基本的な方法です。統計データに基づいて、特定の特徴に従って各カテゴリの確率を計算し、分類を行います。

(2)ナイーブベイズ分類器の式

個体が n 個の特徴、つまり F1、F2、…、Fn を持っているとします。カテゴリは C1、C2、...、Cm の m 個あります。ベイズ分類器は、最高の確率、つまり次の式の最高値を計算するものです。

P(F1F2…Fn)はすべてのカテゴリで同じであり省略できるので、問題は

*** 価値。

ナイーブベイズ分類器はさらに一歩進んで、すべての特徴が互いに独立していると仮定します。

上記の式の等号の右側の各項は統計データから取得でき、そこから各カテゴリに対応する確率を計算して、最も確率の高いカテゴリを見つけることができます。

「すべての特徴は互いに独立している」という仮定は実際には当てはまらない可能性が高いですが、計算を大幅に簡素化することができ、分類結果の精度にほとんど影響を与えないことが研究で示されています。

(3)ラプラス平滑化

つまり、ベイズ推定のパラメータが 1 の場合、あるコンポーネントが全サンプル(観測サンプルライブラリ/トレーニングセット)の特定のカテゴリに一度も出現したことがなければ、インスタンス全体の計算結果は 0 になります。この問題を解決するために、ラプラス平滑化/add-1平滑化が使用されます。

考え方は非常にシンプルで、事前確率の分子(分割数)に 1 を加算し、分母にカテゴリの数を加算します。また、条件付き確率の分子に 1 を加算し、分母に対応する特徴の可能な値の数を加算します。これにより、ゼロ確率の問題が解決されるだけでなく、確率の合計が 1 のままになることも保証されます。

たとえば、テキスト分類に C1、C2、C3 の 3 つのクラスがあるとします。指定されたトレーニング サンプルでは、​​特定の単語 F1 は各クラスで観測数が 0、990、10 であり、つまり確率は P(F1/C1)=0、P(F1/C2)=0.99、P(F1/C3)=0.01 です。ラプラス平滑化を使用したこれら 3 つの量の計算方法は次のとおりです。

  1. 1/1003 = 0.001、991/1003 = 0.988、11/1003 = 0.011

実際の応用シナリオ

  • テキスト分類
  • スパムフィルタリング
  • 患者の分類
  • スペルチェック

ナイーブベイズモデル

一般的に使用される Naive Bayes モデルは次の 3 つです。

  • ガウスモデル: 特徴が連続変数である場合の処理
  • 多項式モデル: 最も一般的で、特徴が離散データであることを必要とする
  • ベルヌーイモデル: 特徴は離散的かつブール型、つまり真と偽、または1と0である必要があります。

コードの実装

多項式モデルに基づくナイーブベイズアルゴリズム(github から入手)

テストデータセットはMNISTデータセットです。アドレスtrain.csvを取得します。

運用結果

<<:  無人タクシーが登場します。準備はできていますか?

>>:  【受賞討論会】「スマート運用・保守」がトレンドに。運用・保守エンジニアは人工知能に置き換えられるのか?

推薦する

優れたオープンソース画像背景除去プログラム8選

画像背景除去プログラムは、画像内の被写体と背景を自動的に分割し、背景を除去することによって機能します...

ディープラーニングをもっと有効活用するにはどうすればいいでしょうか?

企業向けにディープラーニングを実装する前に、ビジネスリーダーがこの画期的なテクノロジーの機能と特徴...

AI を使って「手を洗ってください」を 500 の言語に翻訳する方法

[[322940]]人間による翻訳と機械による翻訳の両方を使用することで、健康に関する重要なフレーズ...

スマートフォンの代替品?元アップルデザイナーが699ドルの人工知能ブローチ「AI Pin」を発売

海外メディアの報道によると、元アップルのデザイナー、イムラン・チャウドリ氏とベサニー・ボンジョルノ氏...

ソニー、AI製品の倫理審査を実施へ

日経新聞によると、ソニーは早ければ2021年春にも、倫理的リスクのスクリーニングに人工知能を活用した...

...

最初のRISC-Vラップトップが公開される、またはWindowsシステムが搭載されると思われますが、年末までに利用可能になりますか

チップ業界では、Armとx86が現在の主流のアーキテクチャであり、オープンなRSIC-Vが将来の方向...

清華大学がJittorをオープンソース化:国内初の大学開発のディープラーニングフレームワーク、PyTorchへのワンクリック変換が可能

Theano、Caffeに続き、大学主導のディープラーニングフレームワークがオープンソース化され、国...

...

...

素晴らしい瞬間を振り返りましょう! IEEE Spectrumが2023年の最もホットなAIストーリーをレビュー

また冬が来て、終わりに近づいています。気温も少し上がり、広大な空と大地にはまだ溶けきれない白が残って...

...

ドローン技術の最新動向

ドローン分野へと私たちを導いた技術開発はそこで止まりませんでした。ドローンが軍事目的以外の目的で使用...

AI アバターが CES に登場! Samsung の Neon チャットボットは学習、進化、記憶が可能です!

サムスンの待望のスマートヒューマンプロジェクト「Neon」が、ついにCES 2020でデビューしまし...

人工直感は人工知能の次の発展方向となるだろう

AI はこれまでに開発された最も強力なテクノロジーの 1 つですが、すでに 4 回の進化を経ています...