漫画解釈: よく使われる機械学習アルゴリズムのトップ 10 を簡単に理解する

漫画解釈: よく使われる機械学習アルゴリズムのトップ 10 を簡単に理解する

この記事を通じて、ML でよく使用されるアルゴリズムについて常識的に理解することができます。コードや複雑な理論的導出はなく、これらのアルゴリズムが何であるか、どのように適用されるかを知るための図表だけです。例は主に分類問題です。

[[213560]]

機械学習でよく使用される上位 10 のアルゴリズムは次のとおりです。

  • 決定木
  • ランダムフォレストアルゴリズム
  • ロジスティック回帰
  • SVM
  • ナイーブベイズ
  • K近傍アルゴリズム
  • K平均法アルゴリズム
  • アダブーストアルゴリズム
  • ニューラルネットワーク
  • マルコフ

決定木

いくつかの特徴に従って分類し、各ノードで質問し、判断によってデータを 2 つのカテゴリに分割し、質問を続けます。

これらの質問は既存のデータに基づいて学習され、新しいデータが入力されると、ツリー上の質問に応じて適切な葉にデータが分割されます。

ランダムフォレスト

以下に示すように、ソース データからデータをランダムに選択して、複数のサブセットを形成します。

S マトリックスはソース データであり、1 ~ N のデータ、ABC は特徴、最後の列 C はカテゴリです。

S から M 個のサブ行列をランダムに生成します。

これらの M 個のサブセットにより、M 個の決定木が生成されます。

新しいデータをこれらの M 個のツリーに入れて、M 個の分類結果を取得します。どのカテゴリに最も多くの予測があるかを数えて確認し、このカテゴリを最終的な予測結果として使用します。

ロジスティック回帰

予測対象が確率の場合、値の範囲は 0 以上 1 以下である必要があります。このとき、ドメインが一定の範囲内にない場合、値の範囲も指定された間隔を超えてしまうため、単純な線形モデルでは実現できません。

なので現時点ではこの形状のモデルの方が良いでしょう。

では、どうすればそのようなモデルが得られるのでしょうか?このモデルは次の 2 つの条件を満たす必要があります。

  • 0 以上。
  • 1 以下。

0 以上のモデルの場合、絶対値または平方値を選択できます。ここでは、0 より大きく 1 以下でなければならない指数関数を使用します。分子がそれ自体で、分母がそれ自体に 1 を加えた値である除算を使用します。結果は 1 未満でなければなりません。

さらに変換すると、ロジスティック回帰モデルが得られます。

対応する係数は、ソースデータを計算することによって取得できます。

最後に、ロジスティック グラフを取得します。

SVM

SVM はサポート ベクター マシンの略です。2 つのカテゴリを分離するには、超平面を取得する必要があります。最適な超平面は、2 つのカテゴリ間のマージンが最大になる超平面です。マージンとは、超平面とそれに最も近い点の間の距離です。

下の図に示すように、Z2>Z1 なので、緑色の超平面の方が優れています。

この超平面を線形方程式として表します。線の上のカテゴリは 1 以上であり、他のカテゴリは -1 以下です。

点から面までの距離は、図の式に従って計算されます。

したがって、総マージンの式は次のようになります。目標はこのマージンを最大化することなので、分母を最小化する必要があり、これは最適化問題になります。

たとえば、3 つの点の場合、最適な超平面を見つけるには、重みベクトル = (2, 3) - (1, 1) を定義します。

重みベクトルは(a、2a)です。2つの点を方程式に代入し、(2、3)を代入してその値を1にし、(1、1)を代入してその値を-1にし、aの値と切片w0について解き、超平面の式を取得します。

a が見つかったら、それを (a, 2a) に代入してサポート ベクトルを取得します。

超平面の方程式に a と w0 を代入すると、サポート ベクター マシンになります。

ナイーブベイズ

NLP アプリケーションの例を見てみましょう。テキストが与えられると、感情の分類を返します。テキストの態度は肯定的でしょうか、否定的でしょうか?

これを修正するには、一部の単語だけを確認します。

このテキストは、いくつかの単語とその数のみで表されます。

元々の質問は、「文が与えられた場合、その文はどのカテゴリに属する​​か?」です。ベイズの定理により、これは比較的単純で簡単に解決できる問題になります。

問題は、この文がこのカテゴリに現れる確率はどれくらいか、ということになります。もちろん、式内の他の 2 つの確率も忘れないでください。

例: 肯定的な場合に「love」という単語が出現する確率は 0.1 で、否定的な場合に出現する確率は 0.001 です。

K 最近隣

K 最近傍とは、k 個の最近傍を意味します。新しいデータが与えられた場合、そのデータは、最も近い k 個のポイントのうち、より多くのポイントを持つカテゴリに属します。

例えば、猫と犬を区別するために、爪と音の特徴で判断すると、円と三角形は既知のカテゴリですが、この星はどのカテゴリを表しているのでしょうか。

k=3 の場合、3 本の線で結ばれた点は最も近い 3 つの点なので、円の数が多くなり、この星は猫のものです。

K平均法

データセットを 3 つのカテゴリに分割し、ピンクの値を大きく、黄色の値を小さくします。最初に、それらを初期化し、各カテゴリの初期値として最も単純な 3、2、1 を選択します。

残りのデータについては、それぞれ3つの初期値との距離を計算し、それに最も近い初期値のカテゴリに分類されます。

分類後、各カテゴリーの平均値を新しいラウンドの中心点として計算します。

数ラウンド後、グループ分けは変わらなくなり、停止できます。

アダブースト

Adaboost はブースティング手法の 1 つです。ブースティングとは、分類効果の低い複数の分類器を組み合わせて、より良い結果をもたらす分類器を取得することです。

下の図のように、左右の 2 つの決定木は、個別に見るとあまりうまく機能しませんが、同じデータを入れて 2 つの結果を足し合わせると、信頼性が高まります。

たとえば、手書き認識では、開始点の方向、開始点と終了点の間の距離など、描画ボード上の多くの特徴をキャプチャできます。

トレーニング中に、各特徴の重みを取得します。たとえば、2 と 3 の最初の部分は非常に似ています。この特徴は分類で小さな役割を果たすため、重みは小さくなります。

アルファ角度は認識能力が強いため、この特徴の重みは大きくなり、最終的な予測結果はこれらの特徴を総合的に考慮した結果になります。

ニューラルネットワーク

ニューラル ネットワークは、少なくとも 2 つのカテゴリに分類される入力に適合します。NN は、複数のニューロン層とそれらの間の接続で構成されます。最初の層は入力層で、最後の層は出力層です。隠れ層と出力層の両方に独自の分類器があります。

入力はネットワークに送られ、アクティブ化され、計算されたスコアが次の層に渡され、後続のニューラル層がアクティブ化されます。最後に、出力層のノード上のスコアは、各クラスに属するスコアを表します。以下の例では、分類結果がクラス 1 であることを示しています。

同じ入力が異なるノードに送信され、異なる結果が得られるのは、各ノードが異なる重みとバイアスを持っているためです。これは順方向伝播です。

マルコフ

マルコフ連鎖は状態と遷移で構成されます。たとえば、「素早い茶色のキツネは怠け者の犬を飛び越える」という文によると。

マルコフ連鎖を取得したい場合、まず各単語を状態に設定し、次に状態間の遷移の確率を計算します。

これは文に対して計算された確率です。大量のテキストを使用して統計を行うと、the の後に接続できる単語や対応する確率など、より大きな状態転送行列が得られます。

現実世界では、キーボード入力方法の代替結果は同じ原理に従い、モデルはさらに高度になります。

[[213578]]

【編集者のおすすめ】

  1. セキュリティにおける AI の必要性: 機械学習から機械の作成まで
  2. 機械学習コードを単体テストするにはどうすればいいですか?
  3. 将来有望な機械学習はどこへ向かうのでしょうか?将来に関する5つの予測
  4. 人工知能がとても人気ですが、機械学習とディープラーニングの違いがわかりますか?
  5. 内部テスト中です! Word、Excel、Outlookに機械学習が搭載される

<<:  SaaS アプリケーションで AI スノーボールはどのように大きくなるのでしょうか?

>>:  人工知能に関する3カ年国家戦略が発表されました。8つの主要分野が注目されます。

ブログ    
ブログ    

推薦する

毎日のアルゴリズム: バランスのとれた二分木

[[426529]]この記事はWeChatの公開アカウント「3分でフロントエンドを学ぶ」から転載した...

NASA、宇宙飛行士が宇宙船と自由に通信できるようにするChatGPTスタイルのAIを開発

6月26日のニュースでは、SF映画「2001年宇宙の旅」の中で、AIスーパーコンピュータHAL900...

Google MITの最新の研究は、高品質のデータを入手することは難しくなく、大規模なモデルが最適な方法であることを証明しています。

高品質なデータの取得は、現在の大規模モデルのトレーニングにおける大きなボトルネックとなっています。数...

人工知能プロジェクトのための 10 のヒント - ガイド

昨日の人工知能プロジェクトに関する 10 の提案 - 理論に続き、今日は人工知能プロジェクトの 10...

インテルがコードの類似性を評価するAIシステムを開発、コンピューターのセルフコーディング性能を40倍向上

[[335747]]コンピュータプログラミングはかつてないほど簡単になりました。当初、プログラマー...

機械学習におけるデータ不均衡の問題を解決する方法

[[186778]]近年、機械学習やデータマイニングは非常に人気があり、徐々に世界に実用的な価値をも...

AI言語モデルのオープンソース化による10のプラスとマイナスの影響

GPT や PaLM などの独自のソフトウェアが市場を支配していますが、多くの開発者は依然としてオー...

クラウド AI とエッジ AI: 2022 年にはどちらがより良い選択でしょうか?

エッジ AI とクラウド AI は、現在企業が使用している最も重要なテクノロジーの一部であることがわ...

ディープラーニングを始めるために理解すべき25の概念

[[245072]] 1. ニューロン- 脳の基本要素を形成するニューロンと同様に、ニューロンはニュ...

ヘルスケアにおける機械学習の悪影響

Marzyeh Ghassemi 助教授は、医療データに隠れたバイアスが人工知能のアプローチにどのよ...

建設現場での死傷者を減らすには? 10のAI手法をご紹介します

この記事の結論から始めましょう。AI と機械学習は、ビデオ信号を 24 時間 365 日リアルタイム...

生成AIとクラウドの相互利益を探る

近年、生成 AI とクラウドの融合に関心が集まっているのには理由があります。人工知能 (AI) とク...

...

Pythonを学ぶときは、学習の方向性と開発ツールの選択を明確に知っておく必要があります。

Python はスクリプト言語であり、さまざまな他のプログラミング言語で記述されたモジュールを結合...