この記事では、まず初心者が知っておくべき機械学習 (ML) アルゴリズムのトップ 10 を紹介し、いくつかの図と例を通じてこれらの基本的な機械学習の概念をわかりやすく説明します。この記事が、機械学習 (ML) アルゴリズムの基本概念をわかりやすく紹介するものとなることを願っています。
1. 機械学習モデル ハーバード・ビジネス・レビュー誌が「データサイエンティストは21世紀で最もセクシーな職業」を発表して以来、機械学習の研究は幅広い注目を集めています。そのため、機械学習の分野に不慣れな学習者のために、初心者限定ではありますが、人気のブログ記事「初心者が知っておくべき機械学習アルゴリズムのトップ 10」を公開しました。 機械学習アルゴリズムは、人間の介入なしにデータから学習し、経験によって改善する方法です。学習タスクには、入力から出力にマッピングする関数の学習、ラベルなしデータの暗黙的な構造の学習、またはメモリに保存されているトレーニング データと比較して新しいインスタンスのカテゴリ ラベルを生成する「インスタンス ベース学習」が含まれます。インスタンスベースの学習では、特定のインスタンスから抽象的な結果は生成されません。 機械学習アルゴリズムの種類 機械学習アルゴリズムには 3 つのカテゴリがあります。 1. 教師あり学習 教師あり学習は、ラベル付けされたトレーニング データを使用して、入力変数 (X) から出力変数 (Y) へのマッピング関数を学習することとして説明できます。
2 つのタイプに分かれています。
この記事で紹介する最初の 5 つのアルゴリズムは、教師あり学習に属し、線形回帰、ロジスティック回帰、CART、ナイーブ ベイズ、KNN です。 アンサンブル学習も教師あり学習法の一種です。複数の異なる弱学習モデルを組み合わせて新しいサンプルを予測することを意味します。この記事で紹介する 9 番目と 10 番目のアルゴリズムである Random Forest Bagging と AdaBoost は、アンサンブル学習手法です。 2. 教師なし学習 教師なし学習の問題は、入力変数 (X) のみを扱い、対応する出力 (つまり、ラベルなし) は扱いません。ラベルのないトレーニング データを使用して、データの潜在構造をモデル化します。 教師なし学習は 3 つのタイプに分けられます。
この記事で紹介するアルゴリズム 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) が真である確率を計算します。計算方法は以下の通りです。
で、
このアルゴリズムが「ナイーブ」と呼ばれる理由は、すべての変数が互いに独立していると仮定しているためであり、これは現実世界でも行われるナイーブな仮定でもあります。 図4: ナイーブベイズを使用して変数「天気」の変化状態を予測する 図 4 を例にとると、天気が晴れの場合、出力はどうなりますか? 変数 weather = 晴れ の場合、結果が「はい」か「いいえ」かを判断するには、P(はい|晴れ) と P(いいえ|晴れ) を計算し、確率の大きい結果を選択する必要があります。 計算プロセスは次のとおりです。
したがって、天気が晴れの場合、結果は「はい」になります。 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平均法の初期化
ステップ2: 各観測値をクラスターに関連付ける
ステップ3: 中心点を再計算する
ステップ4: データポイントが属するクラスターが変更されていない場合は、プロセスを反復して終了します。
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: 次の決定山に進み、別の入力変数について決定を下す
ステップ 3: 次の入力変数について決定を行うために別の決定スタブをトレーニングします。
ステップ4: 決定事項の山を組み合わせる
VI. 結論 この記事から学んだ主な点を振り返ってみましょう。
要約すると、機械学習の基本的な特性は次のようにまとめることができます。
|
<<: 平安生命保険の謝家彪氏: ビッグデータでの機械学習に Microsoft R Server を使用する
>>: Kerasで最もよく使われるディープラーニングAPI
[[383176]]今日、人工知能 (AI) は、これまで以上に高速にデータを収集、処理、分析する...
[[394293]]マイクロソフトは最近、音声認識と人工知能による会話サービスを主に提供するNuan...
馬氏は数日前にAIを使って宇宙の本質を探究することを目的としたAI企業xAIを発表したばかりだ。幸運...
データの不足から現在では大量のデータが存在するまで、近年では利用可能なデータの量が飛躍的に増加し、ビ...
実装のアイデアと手順軽量 LLM モデル推論フレームワーク InferLLM を OpenHarmo...
勉強すると、学んだことを忘れてしまい、忘れた後にまた学ぶという悪循環に陥ってしまう、そんな気持ちにな...
人工知能は、SFの世界のものから、私たちの日常生活に影響を与える重要な技術へと変化しました。現在、多...
マーク・アンドリーセンはかつてウォール・ストリート・ジャーナルに「なぜソフトウェアが世界を席巻してい...