機械学習で必ず学ぶべき 10 のアルゴリズム

機械学習で必ず学ぶべき 10 のアルゴリズム

この記事では、線形回帰、ロジスティック回帰、線形判別分析、ナイーブベイズ、KNN、ランダムフォレストなど、よく使用される 10 個の機械学習アルゴリズムを紹介します。

1. 線形回帰

線形回帰は、おそらく統計学と機械学習の世界で最もよく知られ、最もよく理解されているアルゴリズムの 1 つです。

予測モデリングは、主にモデルエラーを最小限に抑えること、または解釈可能性を犠牲にして可能な限り最も正確な予測を行うことに重点を置いています。これらの目標を達成するために、他の多くの分野(統計学を含む)からアルゴリズムを借用して再利用します。

線形回帰モデルは、入力変数の特定の重み(つまり、係数 B)を求める方程式として表され、入力変数(x)と出力変数(y)の関係に最も適合する直線を記述します。

線形回帰

例えば: y = B0 + B1 * x

入力値 x が与えられた場合に y を予測し、線形回帰学習アルゴリズムの目的は係数 B0 と B1 の値を見つけることです。

データから線形回帰モデルを学習するには、通常の最小二乗法の線形代数解法や勾配降下法の最適化など、さまざまな手法を使用できます。

線形回帰は約 200 年の歴史があり、広範囲に研究されてきました。このような手法を使用する場合、いくつかの良い経験則があります。非常に類似した(相関のある)変数を削除し、データ内のノイズを可能な限り除去することができます。線形回帰は、非常に高速に実行されるシンプルな手法であり、初心者が試すための古典的なアルゴリズムです。

2. ロジスティック回帰

ロジスティック回帰は、機械学習が統計学の分野から借用したもう 1 つの手法です。これはバイナリ分類問題に最適な方法です。

線形回帰と同様に、ロジスティック回帰の目的は、各入力変数の重み係数値を見つけることです。しかし、違いは、ロジスティック回帰の出力予測結果が「ロジスティック関数」と呼ばれる非線形関数によって変換されることです。

ロジスティック関数は大きな「S」のような形をしており、任意の値を 0 ~ 1 の範囲に変換します。これは、ロジスティック関数の出力にルールを適用して 0 ~ 1 の間隔で値をキャプチャし (たとえば、しきい値を 0.5 に設定すると、関数の値が 0.5 未満の場合は値 1 が出力されます)、クラスの値を予測できるため、非常に便利です。

ロジスティック回帰

モデルの学習方法により、ロジスティック回帰からの予測は、特定のデータ インスタンスがクラス 0 またはクラス 1 に属する確率としても使用できます。これは、予測結果に対してより理論的な正当性を必要とする問題に役立ちます。

線形回帰と同様に、ロジスティック回帰は、出力変数に関連せず、互いに非常に類似している (相関している) 属性を削除すると、パフォーマンスが向上します。このモデルは学習が速く、バイナリ分類問題に非常に効果的です。

3. 線形判別分析

ロジスティック回帰は従来の分類アルゴリズムであり、その使用はバイナリ分類問題に限定されています。 2 つ以上のクラスがある場合、線形判別分析 (LDA) が最適な線形分類手法です。

LDA の表現は非常に簡単です。各クラスごとに計算されたデータの統計プロパティが含まれます。単一の入力変数の場合、これらのプロパティには次のものが含まれます。

  • 各クラスの平均。
  • すべてのクラスの分散。

線形判別分析

予測結果は、各クラスの判別値を計算し、判別値が最も高いクラスを予測することによって作成されます。この手法では、データがガウス分布(ベル型曲線)に従うと想定されるため、外れ値は事前にデータから除去されます。 LDA は、分類予測モデリングのためのシンプルでありながら効果的な方法です。

4. 分類木と回帰木

決定木は、機械学習予測モデリング アルゴリズムの重要なクラスです。

決定木はバイナリツリーとして表すことができます。このバイナリ ツリーは、アルゴリズム設計とデータ構造においてバイナリ ツリーと同じであり、特別な点はありません。各ノードは、入力変数 (x) と、その変数に基づく分岐ポイントを表します (変数が数値であると仮定)。

決定木

決定木のリーフ ノードには、予測を行うために使用される出力変数 (y) が含まれます。予測結果は、リーフ ノードに到達するまでツリーの各ブランチ パスに沿って進み、リーフ ノードのカテゴリ値が出力されることによって得られます。

決定木は素早く学習し、素早く予測を行います。これらは幅広い問題に対して正確である傾向があり、データの特別な準備は必要ありません。

5. ナイーブベイズ

ナイーブベイズはシンプルでありながら強力な予測モデリング アルゴリズムです。

モデルは、トレーニング データから直接計算できる 2 種類の確率で構成されます。1) データが各クラスに属する確率、2) x の各値が与えられた場合にデータが各クラスに属する条件付き確率。これら 2 つの確率が計算されると、ベイズの定理を使用して確率モデルで新しいデータに関する予測を行うことができます。データが実数値の場合、そのデータがガウス分布 (ベル曲線) に従うと想定するのが一般的であり、これによりこれらの確率を簡単に推定できます。

ベイズの定理

ナイーブベイズは、各入力変数が互いに独立していると仮定するため、「ナイーブ」と呼ばれます。これは、実際のデータには現実的ではない強力な仮定です。ただし、このアルゴリズムは、広範囲にわたる複雑な問題に対して非常にうまく機能します。

6. K近傍アルゴリズム

K 最近傍法 (KNN) アルゴリズムは非常にシンプルですが効果的です。 KNN のモデル表現は、トレーニング データ セット全体です。簡単ですよね?

新しいデータ ポイントの予測結果は、トレーニング セット全体でデータ ポイントに最も類似した K 個のインスタンス (近傍) を検索し、これらの K 個のインスタンスの出力変数を要約することによって得られます。回帰問題の場合、予測は出力変数の平均になる可能性があります。分類問題の場合、予測は多数派(または最も一般的な)クラスの値になる可能性があります。

鍵となるのは、データインスタンス間の類似性をどのように判断するかです。データ機能がすべて同じスケール (たとえば、すべてインチ単位) である場合、最も簡単な測定手法はユークリッド距離を使用することです。これは、入力変数間の差に基づいて直接計算できます。

K 最近隣

KNN では、すべてのデータを格納するために大量のメモリまたはスペースが必要になる場合がありますが、計算 (または学習) は予測が必要な場合にのみリアルタイムで実行されます。また、予測の正確性を維持するために、トレーニング インスタンスを時間の経過とともに更新および管理することもできます。

距離または近接メトリックを使用する方法は、非常に高い次元(多くの入力変数)で機能しなくなる可能性があり、問題に対するアルゴリズムのパフォーマンスに悪影響を与える可能性があります。これは次元の呪いと呼ばれます。これは、出力変数を予測するのに最も関連性の高い入力変数のみを使用する必要があることを示しています。

7. ベクトル量子化の学習

KNN アルゴリズムの欠点の 1 つは、トレーニング データセット全体を処理する必要があることです。学習ベクトル量子化 (LVQ) アルゴリズムを使用すると、必要な数のトレーニング例を選択し、それらの例を正確に学習できます。

ベクトル量子化の学習

LVQ の表現はコードブック ベクトルのセットです。これらは最初にランダムに選択され、学習アルゴリズムの複数回の反復の後、最終的にトレーニング データ セットの包括的な概要が作成されます。学習を通じて、コードブック ベクトルを使用して、K 最近傍のような予測を実行できます。各コードブック ベクトルと新しいデータ インスタンス間の距離を計算することで、最も類似した近傍 (最も一致するコードブック ベクトル) を見つけることができます。最も一致するユニットのカテゴリ値 (分類) または実際の値 (回帰) が予測結果として返されます。データを同じ範囲(たとえば、0 ~ 1 の間)に再スケールすると、最良の予測結果が得られます。

KNN がデータセットで良好な予測結果を得られることがわかった場合は、メモリ空間の要件を削減でき、KNN のようにトレーニング データセット全体を保存する必要がない LVQ テクニックを試してみるとよいでしょう。

8. サポートベクターマシン

サポート ベクター マシン (SVM) は、おそらく現在利用可能な機械学習アルゴリズムの中で最も人気があり、議論されているものの 1 つです。

超平面は、入力変数の空間を分割する「線」です。サポート ベクター マシンは、入力変数空間内のポイントをクラス (クラス 0 またはクラス 1) に最適に分離する超平面を選択します。 2 次元空間では、すべての入力ポイントがこの線で完全に分割できると仮定して、これを直線として想像できます。 SVM 学習アルゴリズムは、超平面を通じて最終的に最適なクラス分離を実現する係数を見つけることを目的としています。

サポートベクターマシン

超平面と最も近いデータ ポイント間の距離をマージンと呼びます。 2 つのクラスを分離できる最適な超平面は、マージンが最適な直線です。これらの点だけが、超平面の定義と分類器の構築に関連します。これらの点はサポート ベクトルと呼ばれ、超平面をサポートまたは定義します。実際のアプリケーションでは、最適化アルゴリズムを使用して、間隔を最適化する係数値を見つけます。

サポート ベクター マシンは、おそらく現在直接使用できる最大の分類器の 1 つであり、独自のデータセットで試してみる価値があります。

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

ランダム フォレストは、最大の機械学習アルゴリズムの 1 つであり、統合された機械学習アルゴリズムです。

ブートストラップは、データのサンプルから量 (平均など) を推定するための強力な統計手法です。すべてのデータの真の平均をより正確に推定するには、データから多数のサンプルを取り出し、平均を計算し、各サンプルに対して計算された平均を平均する必要があります。

バギングでも同じアプローチが使用されます。しかし、完全な統計モデルを推定するのではなく、決定木を使用するのが最も一般的です。バギングは、トレーニング データから複数のサンプルを取得し、各データ サンプルのモデルを構築します。新しいデータの予測を行う必要がある場合、各モデルは予測結果を生成し、バギングはすべてのモデルの予測結果を平均して、実際の出力値をより正確に推定します。

ランダムフォレスト

ランダム フォレストは、このアプローチを改良したもので、決定木を作成し、完璧な分割ポイントを選択する代わりに、ランダム性を導入して最適ではない分割を行います。

したがって、各データ サンプルに対して作成されたモデルは、他のケースで作成されたモデルよりも一意になりますが、この一意性によって高い精度が保証されます。それらの予測を組み合わせることで、実際の出力値をより正確に推定できます。

分散の大きいアルゴリズム (決定木など) を使用して良好な結果が得られた場合は、そのアルゴリズムでバギングを実行すると、より良い結果が得られる場合がよくあります。

10. ブースティングとAdaBoost

ブースティングは、多数の弱い分類器を使用して強い分類器を作成しようとするアンサンブル手法です。ブースティング メソッドを実装するには、まずトレーニング データを使用してモデルを構築し、次に 2 番目のモデル (最初のモデルのエラーを修正しようとするモデル) を作成する必要があります。最良のモデルがトレーニング セットに対して最良の予測を行えるようになるか、追加されたモデルの数が上限に達するまで、新しいモデルの追加は停止されません。

AdaBoost は、バイナリ分類問題向けに開発された最初の真に成功したブースティング アルゴリズムです。これは、人々がブースティングを理解するための最良の出発点です。現在のブースティング方法は AdaBoost に基づいており、その中で最も高度なのは確率的勾配ブースティング マシンです。

アダブースト

AdaBoost は浅い決定木を使用します。最初のツリーが作成された後、各トレーニング インスタンスでのそのツリーのパフォーマンスを使用して、次のツリーが各トレーニング インスタンスに与える重みを測定します。予測が難しいトレーニング データには大きな重みが付けられ、予測が容易なインスタンスには小さな重みが付けられます。モデルは次々に作成され、各モデルはトレーニング インスタンスの重みを更新し、シーケンス内の次のツリーの学習に影響を与えます。すべてのツリーが構築された後、トレーニング データに対する精度に応じて各ツリーのパフォーマンスに重みを付け、新しいデータに対して予測を実行できます。

アルゴリズムはエラーの修正に多大な労力を費やすため、データ内の外れ値を除去することはデータクリーニング プロセスにおいて非常に重要です。

オリジナルリンク:

https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Fblog.goodaudience.com%2Ftop-10-machine-learning-algorithms-2a9a3e1bdaff

[この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  ビッグデータアルゴリズムとアプリケーションシナリオパート1: 統計と分布

>>:  顧客体験を改善できませんか? AIを試してみませんか?

ブログ    
ブログ    
ブログ    

推薦する

WeChat JS-SDK-使用許可署名アルゴリズム

jsapi_チケット署名を生成する前に、まず jsapi_ticket を理解する必要があります。j...

人工知能の導入は、より費用対効果の高い臨床試験の新しい時代を告げるだろう

臨床試験はここ数年で大きく変化しました。医薬品や医療機器、そしてそれらが影響を与える対象となる症状が...

会話型AIとその技術コンポーネントの機能を探る

今日では、自動化、人工知能 (AI)、自然言語処理 (NLP) の進歩により、コスト効率の高いデジタ...

エッジAIはIoTのメリットを高める

今日のデジタル世界では、人工知能とモノのインターネットが私たちの生活のあらゆる側面に大きな変化をもた...

人工知能は商業ディスプレイの将来の発展の傾向を混乱させる可能性がある

[[412444]]商業用ディスプレイは日常生活でますます広く使用されるようになり、買い物、仕事、旅...

ゼロサンプルのパフォーマンスが小サンプルのパフォーマンスを上回り、Google の新しい 1370 億パラメータ モデルは GPT-3 よりも強力

[[422681]] NLP の分野では、事前トレーニングの微調整とプロンプトチューニングの手法に...

2021年:AIが普及する年

リン・ジエル科学技術の継続的な進歩と発展に伴い、人工知能の発展は時代の必然的な流れであり、我が国の経...

現在、CIOは企業におけるGenAIの応用価値を慎重に検討している。

ほとんどの CIO は、自社のビジネスがテクノロジーのトレンドに追いつくために GenAI の検討を...

ディープラーニングフィードフォワードニューラルネットワークの簡単な紹介

索引多層パーセプトロン (MLP) 入門ディープニューラルネットワークの活性化関数ディープニューラル...

百度文心ビッグモデル4.0速報:万華訓練史上最大のパラメータ、早くても来週にお会いしましょう

昨日10月9日、財連社は、百度の文心ビッグモデル4.0が集中的なトレーニングを受けており、リリースの...

スタートアップ企業がAIを活用して声優の「デジタルツイン」を開発し、声優自身の声を使ったコンテンツを生成する

ブルームバーグが14日に報じたところによると、声優のシッキー・ジョーンズがAIスタートアップ企業モー...

...

フラッシュは廃止されるが、5G時代の新技術は過去を思い出す暇を与えないだろう

Adobe が 2020 年 12 月 31 日をもって有名な Flash ソフトウェアのサポートを...

...