概念から事例まで: 初心者向けの機械学習アルゴリズムトップ 10

概念から事例まで: 初心者向けの機械学習アルゴリズムトップ 10

この記事では、まず初心者が知っておくべき機械学習 (ML) アルゴリズムのトップ 10 を紹介し、いくつかの図と例を通じてこれらの基本的な機械学習の概念をわかりやすく説明します。この記事が、機械学習 (ML) アルゴリズムの基本概念をわかりやすく紹介するものとなることを願っています。

[[208007]]

1. 機械学習モデル

ハーバード・ビジネス・レビュー誌が「データサイエンティストは21世紀で最もセクシーな職業」を発表して以来、機械学習の研究は幅広い注目を集めています。そのため、機械学習の分野に不慣れな学習者のために、初心者限定ではありますが、人気のブログ記事「初心者が知っておくべき機械学習アルゴリズムのトップ 10」を公開しました。

機械学習アルゴリズムは、人間の介入なしにデータから学習し、経験によって改善する方法です。学習タスクには、入力から出力にマッピングする関数の学習、ラベルなしデータの暗黙的な構造の学習、またはメモリに保存されているトレーニング データと比較して新しいインスタンスのカテゴリ ラベルを生成する「インスタンス ベース学習」が含まれます。インスタンスベースの学習では、特定のインスタンスから抽象的な結果は生成されません。

機械学習アルゴリズムの種類

機械学習アルゴリズムには 3 つのカテゴリがあります。

1. 教師あり学習

教師あり学習は、ラベル付けされたトレーニング データを使用して、入力変数 (X) から出力変数 (Y) へのマッピング関数を学習することとして説明できます。

  1. Y = f (X)

2 つのタイプに分かれています。

  • 分類: 与えられた入力から出力を予測します。出力変数はカテゴリの形式で提示されます。たとえば、男性と女性の性別、病気と健康などです。
  • 回帰: 与えられた入力から出力を予測します。出力変数は実数の形式で表示されます。たとえば、降雨量や人の身長などの実際の値を予測します。

この記事で紹介する最初の 5 つのアルゴリズムは、教師あり学習に属し、線形回帰、ロジスティック回帰、CART、ナイーブ ベイズ、KNN です。

アンサンブル学習も教師あり学習法の一種です。複数の異なる弱学習モデルを組み合わせて新しいサンプルを予測することを意味します。この記事で紹介する 9 番目と 10 番目のアルゴリズムである Random Forest Bagging と AdaBoost は、アンサンブル学習手法です。

2. 教師なし学習

教師なし学習の問題は、入力変数 (X) のみを扱い、対応する出力 (つまり、ラベルなし) は扱いません。ラベルのないトレーニング データを使用して、データの潜在構造をモデル化します。

教師なし学習は 3 つのタイプに分けられます。

  • 関連付け: 同じデータ セット内で異なる項目が同時に発生する確率を見つけます。マーケットバスケット分析で広く使用されています。たとえば、顧客がパンを購入する場合、卵を購入する可能性は 80% です。
  • クラスタリング: 類似したオブジェクトを他のカテゴリではなく 1 つのカテゴリにグループ化します。
  • 次元削減: 名前が示すように、次元削減は重要な情報が失われないようにしながらデータ セットの変数を削減することです。次元削減は、特徴抽出と特徴選択の方法を使用して行うことができます。特徴選択法では、元の変数のサブセットを選択します。特徴抽出により、高次元空間から低次元空間へのデータ変換が完了します。たとえば、主成分分析 (PCA) は特徴抽出方法です。

この記事で紹介するアルゴリズム 6 ~ 8 はすべて教師なし学習の例であり、Apriori アルゴリズム、K 平均法クラスタリング、主成分分析 (PCA) が含まれます。

3. 強化学習

強化学習は、エージェントが報酬を最大化する行動を学習し、現在の状態に基づいて次に取るべき最善の行動を決定できるようにする学習方法です。

強化学習は、一般的に試行錯誤を通じて最適なアクションを学習します。強化学習はロボット工学で使用され、ロボットは障害物にぶつかった後に受け取る否定的なフィードバックを通じて衝突を回避することを学習します。また、ビデオゲームでは試行錯誤によってプレイヤーの報酬を大幅に増やす一連のアクションを発見します。エージェントはこれらの報酬を使用して、ゲーム内の最適な状態を理解し、次のアクションを選択できます。

3. 教師あり学習

1. 線形回帰

機械学習では、入力変数 x を使用して出力変数 y を決定します。入力変数と出力変数の間には関係があります。機械学習の目的は、この関係を定量的に記述することです。

図1: 直線で示される線形回帰: y = ax +b

線形回帰では、入力変数 x と出力変数 y の関係は、y=ax+b という式の形式で表すことができます。したがって、線形回帰の目的は、パラメータ a と b の値を見つけることです。ここで、a は直線の傾き、b は直線の切片です。

図 1 は、データ セット内の x と y のグラフを示しています。図に示すように、ここでの目標は、ほとんどの点に最も近い直線を見つけることです。これは、データ ポイントの y 値と線の間の距離を短縮するために行われます。

2. ロジスティック回帰

線形回帰は連続値(センチメートル単位の降雨量など)を予測しますが、ロジスティック回帰は変換関数を使用した後に離散値(学生が試験に合格したかどうかなど)を予測します。

ロジスティック回帰は、バイナリ分類問題に最適です (データ セットでは、y=0 または 1、1 はデフォルトのクラスを表します。たとえば、イベントが発生するかどうかを予測する場合、発生は 1 です。人が病気かどうかを予測する場合、病気は 1 です)。このアルゴリズムは、ロジスティクス関数 (ロジスティック関数、h(x) = 1/ (1 + e^x)) と呼ばれる変換関数にちなんで名付けられ、そのグラフは S 字型の曲線になります。

ロジスティック回帰では、出力はデフォルト クラスの確率です (出力が直接生成される線形回帰とは異なります)。確率なので出力値の範囲は[0,1]になります。出力値yは、入力値xの対数変換h(x) = 1/(1 + e^ -x)によって得られます。次に、しきい値を使用して、出力を強制的にバイナリ分類問題にします。

図 2: 腫瘍が悪性か良性かを判断するための回帰分析。確率h(x)>0.5の場合、悪性である

図 2 では、腫瘍が悪性かどうかを判断するために、デフォルトの変数が y = 1 (腫瘍は悪性) に設定されています。変数 x は、腫瘍のサイズなど、腫瘍の検出結果になります。図に示すように、ロジスティクス関数は変数 x の値を 0 から 1 の間で変換します。確率が 0.5 を超える場合 (図の水平線で囲まれている)、腫瘍は悪性であると分類されます。

ロジスティック回帰方程式 P(x) = e ^ (b0 + b1*x) / (1 + e^(b0 + b1*x)) は、対数形式 ln(p(x) / 1-p(x)) = b0 + b1*x に変換できます。

ロジスティック回帰の目的は、トレーニング データを使用してパラメーター b0 と b1 の値を見つけ、予測結果と実際の値の間の誤差を最小限に抑えることです。これらのパラメータは、最大尤度推定法を使用して推定されました。

3. 分類木と回帰木

分類および回帰ツリー (CART) は、決定木を補完するものです。

非終端ノードには、ルートノードと内部ノードが含まれます。各非終端ノードは単一の入力変数 x とこの変数のブランチノードを表します。リーフノードは出力変数 y を表します。モデルは次のルールに従って予測を行います。

図3: 決定木の一部

4. ナイーブベイズ

ベイズの定理を使用して、すでに発生したイベントの確率に基づいて、イベントが発生する確率を計算します。また、ベイズの定理を使用して、いくつかの変数の値が与えられた場合の結果の確率、つまり、事前の知識 (d) に基づいて仮説 (h) が真である確率を計算します。計算方法は以下の通りです。

  1. P(h|d) = (P(d|h) * P(h)) / P(d)

で、

  • P(h|d) = 事後確率。つまり、h が真の確率であると仮定すると、与えられたデータは事前​​知識 d に相当します。ここで、P(h|d)= P(d1|h)* P(d2|h)*....*P(dn|h)* P(d)です。
  • P(d|h) = 尤度。 h が正しいと仮定した場合のデータ d の確率。
  • P(h) = クラスの事前確率。仮説 h が正しい確率。 (無関係なデータ)
  • P(d) = 予測子の事前確率。データの確率(仮定に関係なく)

このアルゴリズムが「ナイーブ」と呼ばれる理由は、すべての変数が互いに独立していると仮定しているためであり、これは現実世界でも行われるナイーブな仮定でもあります。

図4: ナイーブベイズを使用して変数「天気」の変化状態を予測する

図 4 を例にとると、天気が晴れの場合、出力はどうなりますか?

変数 weather = 晴れ の場合、結果が「はい」か「いいえ」かを判断するには、P(はい|晴れ) と P(いいえ|晴れ) を計算し、確率の大きい結果を選択する必要があります。

計算プロセスは次のとおりです。

  1. - > P(はい|晴れ) = (P(晴れ|はい) * P(はい)) / P(晴れ)
  2. = (3/9 * 9/14) / (5/14)
  3. = 0.60
  4. - > P(いいえ|晴れ) = (P(晴れ|いいえ) * P(いいえ)) / P(晴れ)
  5. = (2/5 * 5/14) / (5/14)
  6. = 0.40

したがって、天気が晴れの場合、結果は「はい」になります。

5. ケーエヌエヌ

KNN は、データセットをトレーニング セットとテスト セットに分割するのではなく、データセット全体をトレーニング セットとして使用します。

データ インスタンスが与えられると、KNN アルゴリズムは、データ セット全体で新しいサンプルに最も近い k、または新しいサンプルに最も類似した k を見つけ、回帰問題の場合は結果の平均を出力し、分類問題の場合は頻度が最も高いクラスを出力します。 k の値はユーザーが定義します。

サンプル間の類似性は、ユークリッド距離またはハミング距離を使用して計算されます。

4. 教師なし学習アルゴリズム

6. アプリオリアルゴリズム

Apriori アルゴリズムは、トランザクション データベース内の頻繁なサブセットをマイニングし、関連ルールを生成するために使用されます。マーケット バスケット分析でよく使用され、データベース内で最も頻繁に同時発生するトランザクションを分析します。通常、顧客が製品 X を購入し、次に製品 Y を購入した場合、関連ルールは X -> Y と記述できます。

たとえば、顧客がミルクと甘味料を購入した場合、コーヒー粉も購入する可能性が高いです。これは、次のような関連ルールとして記述できます: {ミルク、砂糖} -> コーヒー粉。関連ルールは、サポートと信頼度のしきい値を超えることによって生成されます。

図 5: 関連ルール X→Y のサポート、信頼度、リフトの数式表現。

サポートの度合いは、頻繁なアイテムセットで使用される候補アイテムセットの数を変更するのに役立ちます。このサポート測定は、Apriori 原則に従って行われます。アプリオリ原理は、アイテムセットが頻繁である場合、そのすべてのサブセットも頻繁であると述べています。

7. K平均法クラスタリングアルゴリズム

K-means は類似したデータをクラスタリングするための反復アルゴリズムです。 k 個のクラスターの中心点を計算し、中心点に最も近いデータ ポイントを特定のクラスのクラスターに割り当てます。

図6: K平均法アルゴリズムの手順

ステップ1: K平均法の初期化

  • k の値を選択します。ここではk=3に設定します。
  • データ ポイントは 3 つのクラスターにランダムに割り当てられます。
  • 各クラスターの中心点を計算します。図中の赤、青、緑の星はそれぞれ 3 つのクラスターの中心点を表しています。

ステップ2: 各観測値をクラスターに関連付ける

  • 各データ ポイントを、それに最も近いクラスター センターに再割り当てします。図に示すように、上記の 5 つのデータ ポイントは、青い星で表されるクラスターに割り当てられます。同じ手順に従って、赤と緑の星で表されるクラスター センターにデータ ポイントを割り当てます。

ステップ3: 中心点を再計算する

  • 新しいクラスターの重心を計算します。図に示すように、古い中心点は灰色で、新しい中心点は赤、青、緑です。

ステップ4: データポイントが属するクラスターが変更されていない場合は、プロセスを反復して終了します。

  • クラスター内のポイントが別のクラスターに再割り当てされなくなるまで、手順 2 ~ 3 を繰り返します。 2 つの連続するステップで変化が発生しない場合、K 平均アルゴリズムは終了します。

8. 主成分分析(PCA)

主成分分析 (PCA) を使用すると、変数の数を減らすことで、データの探索と視覚化が容易になります。これは、最も大きな分散を持つデータを「主成分」と呼ばれる新しい座標系に抽出することによって行われます。各コンポーネントは、元の変数の新しい線形結合であり、ペアごとに統計的に独立しています。統計的独立性とは、これらのコンポーネント間の相関係数が 0 であることを意味します。

最初の主成分は、データ内の最大の分散を捉えます。 2 番目の主成分は、残りのデータの中で最大の分散を持つデータを捕捉しますが、最初の主成分とは独立しています。同様に、後続の主成分 (PC3、PC4 など) は、残りのデータの中で分散が最も大きいデータですが、前の主成分からは独立しています。

図7: 主成分分析(PCA)を使用すると、3つの元の変数(遺伝子)が2つの新しい変数に削減されます

5. アンサンブル学習技術

アンサンブルとは、複数の学習者 (分類器) を組み合わせて、投票や平均を取ることで結果を改善することを意味します。分類中に投票が実行され、回帰中に平均化が実行されます。中心となる考え方は、複数の学習者を統合して、単一の学習者よりも優れたパフォーマンスを達成することです。アンサンブル学習法には、バギング、ブースティング、スタッキングの 3 つがあります。この記事ではスタッキングについては扱いません。

9. ランダムフォレストバギング

ランダム フォレスト (複数の学習者) は、バッグ化された決定木 (単一の学習者) よりも改良されています。

バギング: バギングの最初のステップは、ブートストラップ サンプリング方法を使用して取得したデータベース上に複数のモデルを作成することです。ここで、生成される各トレーニング セットは元のデータセットのサブセットになります。各トレーニング セットのサイズは同じですが、サンプルの中には複数回出現するものもあれば、一度も出現しないものもあります。次に、元のデータセット全体がテスト セットとして使用されます。したがって、元のデータセットのサイズが N の場合、生成される各トレーニング セットのサイズも N になり、一意の (重複のない) サンプルのサイズは約 2 * N/3 になります。テスト セットのサイズも N になります。

バギングの 2 番目のステップは、同じアルゴリズムを使用して、異なるデータ セットで複数のモデルを生成することです。次に、ランダムフォレストについて説明します。各ノードがエラーを最小限に抑える最適な特徴に分岐する決定木とは異なり、ランダム フォレストはランダムに分岐する特徴を選択して最適な分岐を構築します。ランダム化を行う理由は、バギングを使用しても、決定木が分岐する最適な機能を選択するときに、同様のモデルと関連する予測が最終的に生成されるためです。しかし、特徴のランダムなサブセットに分岐すると、サブツリーによって行われた予測の関連性が低くなります。

10. アダブースト

a) バギングは、各モデルが独立して構築されるため、並列アンサンブルです。ただし、ブースティングは、各モデルが前のモデルの誤分類を修正する順次的なアンサンブルです。

b) バギングは主に「単純投票」を伴い、各分類器が最終結果を得るために投票し、並列モデル内の大多数のモデルによって決定されます。一方、ブースティングは「加重投票」を使用します。各分類器は多数派モデルによって生成された結果に投票しますが、これらの順次モデルを構築する場合、以前に例を誤分類したモデルに大きな重みが与えられます。

Adaboost はアダプティブブースティングを指します。

図9: 決定木のAdaboost

図 9 のステップ 1、2、3 は、決定スタンプ (1 つの入力のみに基づいて決定を行うレベル 1 の決定木、ルート ノードがリーフ ノードに直接接続されている決定木) と呼ばれる弱い学習器を参照しています。決定木を構築するプロセスは、ユーザーがいくつかの弱い学習者を定義するまで、またはトレーニング中にそれ以上の改善が見られなくなるまで継続されます。ステップ 4 では、前のモデルの 3 つの決定パイルを結合します (したがって、この決定ツリーには 3 つの分岐ルールがあります)。

ステップ1: 1つの入力変数に基づいて決定を下すための1つの決定スタブから開始する

  • データ ポイントのサイズは、円または三角形として分類するために等しい重みを適用したことを示しています。決定パイルは、グラフの上半分の水平線でこれらのポイントを分類します。 2 つの円が三角形として誤って分類されていることがわかります。したがって、これら 2 つの円に大きな重みを与え、別の決定スタンプを使用します。

ステップ2: 次の決定山に進み、別の入力変数について決定を下す

  • 前のステップで誤分類された 2 つの円が、残りのデータ ポイントよりも大きいことがわかります。ここで、2 番目の決定パイルは、両方の円を正しく予測しようとします。
  • より大きな重みを割り当てた結果、2 つの円は左側の垂直線によって正しく分類されます。しかし、これにより、上にある 3 つの小さな円が誤分類されることになります。したがって、別の決定山でこれらの 3 つの円にさらに重点を置く必要があります。

ステップ 3: 次の入力変数について決定を行うために別の決定スタブをトレーニングします。

  • 前の手順で誤分類された 3 つの円は、他のデータ ポイントよりも大きくなっています。これで、三角形と円を分類するための垂直線が右側に生成されます。

ステップ4: 決定事項の山を組み合わせる

  • 前の 3 つのステップからの決定の山を組み合わせて、データ ポイントを正しく分類し、弱い学習者よりも優れたパフォーマンスを発揮する複雑なルールを見つけました。

VI. 結論

この記事から学んだ主な点を振り返ってみましょう。

  • 5 つの教師あり学習手法: 線形回帰、ロジスティック回帰、CART (分類と決定木)、ナイーブ ベイズ、KNN。
  • 3 つの教師なし学習手法: Apriori アルゴリズム、K 平均法クラスタリング、主成分分析 (PCA)。
  • 2 つのアンサンブル学習方法: バギング ランダム フォレストと AdaBoost。

要約すると、機械学習の基本的な特性は次のようにまとめることができます。

  • 機械学習は、サンプルを使用して関数を近似する統計学の分野です。データを生成する理論的な関数または分布は存在しますが、それが何であるかは現時点ではわかりません。この関数をサンプリングすることができ、これらのサンプルはトレーニング セットから選択されます。
  • 画像の説明タスクを例に挙げます。関数: f⋆(画像)→画像の説明、サンプル: データ∈(画像、説明)。注: オブジェクトには有効な説明が多数あるため、説明はテキスト空間での分布 (画像の説明 ~ テキスト) になります。
  • マシンの目標は、真の関数を近似するのに十分な表現力を持つモデルを見つけ、トレーニング データを使用して関数の最適なソリューションを見つける効率的なアルゴリズムを見つけることです。さらに、この最適解は未知の入力に対して優れた一般化能力を備えている必要があります。

<<:  平安生命保険の謝家彪氏: ビッグデータでの機械学習に Microsoft R Server を使用する

>>:  Kerasで最もよく使われるディープラーニングAPI

ブログ    
ブログ    

推薦する

...

AI はデータセンターをよりスマートにするためにどのように役立ちますか?

[[383176]]今日、人工知能 (AI) は、これまで以上に高速にデータを収集、処理、分析する...

...

マイクロソフトによるニュアンスの買収が大きな意味を持つ理由

[[394293]]マイクロソフトは最近、音声認識と人工知能による会話サービスを主に提供するNuan...

Nature の論文が xAI の目標を検証、人間の認知 AI が宇宙の本質を探る、マスク氏: 黙ってろ、金やるぞ!

馬氏は数日前にAIを使って宇宙の本質を探究することを目的としたAI企業xAIを発表したばかりだ。幸運...

人工知能とビッグデータの隠れた危険性とは何でしょうか?

データの不足から現在では大量のデータが存在するまで、近年では利用可能なデータの量が飛躍的に増加し、ビ...

2GBのDAYU200に大規模な言語モデルをローカルにデプロイする

実装のアイデアと手順軽量 LLM モデル推論フレームワーク InferLLM を OpenHarmo...

7つの主要カテゴリ、40を超える主要概念、機械学習を始める際に習得する必要があるすべての概念がここにあります

勉強すると、学んだことを忘れてしまい、忘れた後にまた学ぶという悪循環に陥ってしまう、そんな気持ちにな...

AIは教育業界にどのような影響を与えるのでしょうか?これら6つの側面について学ぶ

人工知能は、SFの世界のものから、私たちの日常生活に影響を与える重要な技術へと変化しました。現在、多...

...

...

...

インテリジェントなクラウドネイティブアプリケーションの台頭

マーク・アンドリーセンはかつてウォール・ストリート・ジャーナルに「なぜソフトウェアが世界を席巻してい...

...

...