ナイーブベイズの説明:機能、長所と短所、2022年のアプリケーション

公開: 2021-01-05

Naive Bayesは、分類問題を解決するために使用する機械学習アルゴリズムです。 これはベイズの定理に基づいています。 これは、使用されている最も単純で強力なMLアルゴリズムの1つであり、多くの業界でアプリケーションを見つけます。

分類問題を解決し、特徴を作成して仮説を生成したが、上司がモデルを見たいと考えているとします。 多数のデータポイント(数十万のデータポイント)と、データセットをトレーニングするための多くの変数があります。 この状況に対する最善の解決策は、他の分類アルゴリズムと比較して非常に高速な単純ベイズ分類器を使用することです。

この記事では、このアルゴリズムについて詳しく説明し、その仕組みを確認します。 また、このアルゴリズムがいかに重要であるかを理解するために、実際のアプリケーションとともにその長所と短所についても説明します。

世界のトップ大学であるマスター、エグゼクティブ大学院プログラム、ML&AIの高度な証明書プログラムからオンラインでディープラーニングコースに参加して、キャリアを早急に進めましょう。

始めましょう:

目次

ナイーブベイズの説明

ナイーブベイズはベイズの定理を使用し、すべての予測子が独立していることを前提としています。 つまり、この分類子は、クラス内の特定の機能の存在が別の機能の存在に影響を与えないことを前提としています。

例を次に示します。果物が丸く、オレンジ色で、直径が約3.5インチの場合、果物はオレンジ色であると見なします。 さて、これらの機能がお互いに存在する必要があるとしても、これらはすべて、この特定の果物がオレンジ色であるというあなたの仮定に独立して貢献します。 そのため、このアルゴリズムの名前には「ナイーブ」が含まれています。

ナイーブベイズモデルの構築は非常に簡単で、膨大なデータセットを操作するのに役立ちます。 さらに、この方程式は、パフォーマンスの点で多くの高度な分類手法を打ち負かすために人気があります。

ナイーブベイズの方程式は次のとおりです。

P(c | x)= P(x | c)P(c)/ P(x)

P(c | x)= P(x1 | c)x P(x2 | c)x…P(xn | c)x P(c)

ここで、P(c | x)は、クラス(c)の予測子(x)による事後確率です。 P(c)はクラスの事前確率、P(x)は予測子の事前確率、P(x | c)は特定のクラス(c)の予測子の確率です。

すべての機能の独立性を考慮することは別として、ナイーブベイズはそれらが等しく貢献するとも想定しています。 これは覚えておくべき重要なポイントです。

ナイーブベイズはどのように機能しますか?

ナイーブベイズがどのように機能するかを理解するには、例について説明する必要があります。

盗難車を見つけて、次のデータセットがあるとします。

シリアル番号。 タイプ盗まれましたか?
1 スポーツ国内のはい
2 スポーツ国内の番号
3 スポーツ国内のはい
4 スポーツ国内の番号
5 スポーツインポートはい
6 SUV インポート番号
7 SUV インポートはい
8 SUV 国内の番号
9 SUV インポート番号
10 スポーツインポートはい

私たちのデータセットによると、私たちのアルゴリズムは次の仮定をしていることが理解できます。

  • すべての機能が独立していることを前提としています。 たとえば、車の「黄色」の色は、その起源やタイプとは関係ありません。
  • すべての機能に同じレベルの重要性を与えます。 たとえば、色と原点だけを知っていると、結果が正しく予測されます。 そのため、すべての機能が等しく重要であり、結果に等しく貢献します。

ここで、データセットを使用して、泥棒が車を盗んだかどうかをその特徴に従って分類する必要があります。 各行には個別のエントリがあり、列はすべての車の機能を表しています。 最初の列には、国産の赤いスポーツカーが盗まれています。 泥棒がレッドドメスティックSUVを盗むかどうかを調べます(私たちのデータセットにはレッドドメスティックSUVのエントリがありません)。

この例のベイズの定理は、次のように書き直すことができます。

P(y | X)= [P(X | y)P(y)P(X)] / P(X)

ここで、yはクラス変数(Was it Stolen?)を表し、泥棒が条件に従わずに車を盗んだかどうかを示します。 Xは機能を表します。

X = x1、x2、x3、…。、xn)

ここで、x1、x2、…、xnは機能を表します。 タイプ、オリジン、カラーにマッピングできます。 ここで、Xを置き換え、チェーンルールを展開して、次のようにします。

P(y | x1、…、xn)= [P(x1 | y)P(x2 | y)…P(xn | y)P(y)] / [P(x1)P(x2)…P(xn )]

データセットを使用し、それらの値を方程式に入れることで、それぞれの値を取得できます。 分母は、データセット内のすべてのエントリに対して静的なままで、データセットを削除して比例関係を挿入します。

P(y | x1、…、xn)∝ P(y)i = 1nP(xi | y)

この例では、yの結果はyesまたはnoの2つだけです。

y = argmaxyP(y)i = 1nP(xi | y)

度数分布表を作成して、すべての特徴の事後確率P(y | x)を計算できます。 次に、度数分布表を尤度表に成形し、単純ベイズ方程式を使用して、すべてのクラスの事後確率を見つけます。 予測の結果は、事後確率が最も高いクラスになります。 可能性と度数分布の表は次のとおりです。

色の度数分布表:

盗まれましたか(はい) 盗まれた(いいえ)
3 2
2 3

色の尤度表:

盗まれたのか[P(はい)] 盗まれたのか[P(No)]
3/5 2/5
2/5 3/5

タイプの度数分布表:

タイプ盗まれましたか(はい) 盗まれた(いいえ)
スポーツ4 2
SUV 1 3

タイプの尤度テーブル:

タイプ盗まれたのか[P(はい)] 盗まれたのか[P(No)]
スポーツ4/5 2/5
SUV 1/5 3/5

起源の度数分布表:

盗まれましたか(はい) 盗まれた(いいえ)
国内の2 3
インポート3 2

原産地の可能性表:

盗まれたのか[P(はい)] 盗まれたのか[P(No)]
国内の2/5 3/5
インポート3/5 2/5

私たちの問題にはXの3つの予測子があるため、前に見た方程式によれば、事後確率P(Yes | X)は次のようになります。

P(はい| X)= P(赤|はい)* P(SUV |はい)* P(国内|はい)* P(はい)

=⅗x⅕x⅖x1

= 0.048

P(No | X)は次のようになります:

P(No | X)= P(Red | No)* P(SUV | No)* P(Domestic | No)* P(No)

=⅖x⅗x⅗x1

= 0.144

したがって、事後確率P(No | X)は事後確率P(Yes | X)よりも高いため、Red国内SUVの「盗難」には「No」が含まれます。 セクション。

この例は、単純ベイズ分類器がどのように機能するかを示しているはずです。 ナイーブベイズの説明をよりよく理解するために、ここでその長所と短所について説明する必要があります。

ナイーブベイズの長所と短所

利点

  • このアルゴリズムは迅速に機能し、多くの時間を節約できます。
  • ナイーブベイズは、マルチクラス予測問題の解決に適しています。
  • 機能の独立性の仮定が当てはまる場合、他のモデルよりもパフォーマンスが向上し、必要なトレーニングデータがはるかに少なくなります。
  • ナイーブベイズは、数値変数よりもカテゴリ入力変数に適しています。

短所

  • ナイーブベイズは、すべての予測子(または機能)が独立しており、実際にはめったに発生しないことを前提としています。 これにより、実際のユースケースでのこのアルゴリズムの適用性が制限されます。
  • このアルゴリズムは、テストデータセットのカテゴリがトレーニングデータセットで利用できなかったカテゴリ変数にゼロ確率を割り当てる「ゼロ頻度問題」に直面しています。 この問題を解決するために平滑化手法を使用するのが最善です。
  • その推定は場合によっては間違っている可能性があるため、確率の出力をあまり真剣に受け止めるべきではありません。

チェックアウト:機械学習モデルの説明

ナイーブベイズのアプリケーションの説明

このアルゴリズムがアプリケーションを見つけるいくつかの領域は次のとおりです。

テキスト分類

ほとんどの場合、Naive Bayesは、マルチクラス問題の解決における独立性と高性能を前提としているため、テキスト内分類を使用しています。 その速度と効率により、他のアルゴリズムよりも高い成功率を享受しています。

感情分析

機械学習の最も重要な分野の1つは感情分析であり、このアルゴリズムはそこでも非常に役立ちます。 感情分析は、顧客が特定のトピック(製品またはサービス)について肯定的または否定的に考えているかどうかを識別することに焦点を当てています。

レコメンダーシステム

協調フィルタリングの助けを借りて、単純ベイズ分類器は、ユーザーが特定の製品(またはリソース)を希望するかどうかを予測するための強力なレコメンダーシステムを構築します。 Amazon、Netflix、およびFlipkartは、レコメンダーシステムを使用して顧客に製品を提案する著名な企業です。

詳細機械学習アルゴリズム

Naive Bayesは、マルチクラスの問題を解決するためのシンプルで効果的な機械学習アルゴリズムです。 感情分析やテキスト分類など、機械学習アプリケーションの多くの著名な分野で使用されています。

機械学習とクラウドの高度な認定プログラムをチェックしてください。IITマドラスは、機械学習だけでなく、クラウドインフラストラクチャを使用した機械学習の効果的な展開を教えるプログラムを作成するための国内最高のエンジニアリングスクールです。 このプログラムの目的は、国内で最も厳選された機関の扉を開き、学習者が高度で成長しているスキルを習得するために素晴らしい能力とリソースにアクセスできるようにすることです。

単純ベイズアルゴリズムとは何ですか?

分類の難しさを処理するために、NaiveBayesの機械学習手法を採用しています。 ベイズの定理がそれを支えています。 これは、さまざまな業界で使用されている、最も基本的でありながら強力な機械学習アルゴリズムの1つです。 分類の問題に取り組んでいて、機能と仮説をすでに確立しているが、上司がモデルを見たいと思っているとします。 データセットをトレーニングするには、多数のデータポイント(数千のデータポイント)と多数の変数があります。 この状況では、他の分類アルゴリズムよりもはるかに高速な単純ベイズ分類器が最適なオプションです。

ナイーブベイのいくつかの長所と短所は何ですか?

マルチクラス予測の問題には、ナイーブベイズが適しています。 機能の独立性の前提が真実である場合、はるかに少ないトレーニングデータを使用しながら、他のモデルよりもパフォーマンスが向上する可能性があります。 カテゴリ入力変数は、数値入力変数よりもナイーブベイズに適しています。

ナイーブベイズでは、すべての予測子(または特性)が独立していると見なされますが、これは実際の生活ではめったにありません。 これにより、実際のシナリオでのアルゴリズムの使いやすさが制限されます。 場合によっては推定がずれている可能性があるため、確率の出力を真剣に受け止めるべきではありません。

単純ベイズの実際のアプリケーションは何ですか?

マルチクラス問題に対処する際の自律性と高性能を前提としているため、NaiveBayesはテキスト内分類で頻繁に使用されます。 感情分析は、機械学習の最も一般的なアプリケーションの1つであり、この手法はそれにも役立ちます。 感情分析の目的は、顧客が特定の問題(製品またはサービス)について好意的か否定的かを判断することです。 Naive Bayes Classifierは、協調フィルタリングを使用して、ユーザーが特定の製品(またはリソース)を楽しむかどうかを予測できる高度なレコメンダーシステムを作成します。