機械学習モデルは全部でいくつありますか?分かりません。誰も数えたことがありません。すべての変種を含めると、さらに多くなります。これを考えると頭が痛くなりますか?それは、すべてを学び、理解しなければならないという意味ですか?もちろん違います。ただし、初心者の場合は、次の 10 個のアルゴリズムを注意深く学習する必要があります。これらを理解すれば、残りは簡単に適用できます。 機械学習には、「ただ飯はない」という定理があります。つまり、あらゆる問題に最適な単一のアルゴリズムは存在しないということであり、これは特に教師あり学習 (予測モデリング) に当てはまります。 たとえば、ニューラル ネットワークが常に決定木よりも優れているとは言えませんし、その逆も同様です。データセットのサイズや構造など、さまざまな要因が関係します。 したがって、パフォーマンスを評価して勝者を選択するために、保留中の「テスト セット」のデータを使用しながら、問題に対してさまざまなアルゴリズムを試す必要があります。 もちろん、試すアルゴリズムは問題に適したものでなければなりません。そのため、適切な機械学習タスクを選択することが重要です。例え話で言えば、家を掃除する必要がある場合、掃除機、ほうき、モップを使うかもしれませんが、シャベルを取り出して掘り始めることはないでしょう。 大きな原則ただし、予測モデリングのためのすべての教師あり機械学習アルゴリズムには共通の原則があります。 機械学習アルゴリズムは、入力変数(X)を出力変数(Y)にマッピングするターゲット関数(f)を学習するものとして説明されます: Y = f(X) これは、入力変数 (X) の新しいサンプルが与えられた場合に、将来 (Y) について予測を行う一般的な学習タスクです。関数 (f) がどのようになっているか、またはその形式はわかりません。関数 (f) がわかっていれば、それを直接使用すればよく、データから関数を学習するために機械学習アルゴリズムを使用する必要がないためです。 最も一般的なタイプの機械学習は、マッピング Y = f(X) を学習し、新しい X に対する Y を予測することです。これは予測モデリングまたは予測分析と呼ばれ、私たちの目標は可能な限り最も正確な予測を行うことです。 機械学習の基礎を学びたいと考えている機械学習初心者の方のために、データ サイエンティストが使用する上位 10 の機械学習アルゴリズムを簡単に紹介します。 1 — 線形回帰 線形回帰は、おそらく統計学と機械学習において最もよく知られ、最もよく理解されているアルゴリズムの 1 つです。 予測モデリングは、主にモデルのエラーを最小限に抑えること、つまり、ある程度の解釈可能性を犠牲にして可能な限り最も正確な予測を行うことに重点を置いています。私たちは、統計学を含むさまざまな分野からアルゴリズムを借用、再利用、盗用し、これらの目的に使用します。 線形回帰の表現は、係数 (B) と呼ばれる入力変数の特定の重みを見つけることによって、入力変数 (x) と出力変数 (y) の関係に最もよく適合する直線を記述する方程式です。 線形回帰 例えば: y = B0 + B1 * x 入力 x が与えられた場合に y を予測したいのですが、線形回帰学習アルゴリズムの目的は係数 B0 と B1 の値を見つけることです。 データから線形回帰モデルを学習するには、通常の最小二乗法の線形代数解法や勾配降下法の最適化などのさまざまな手法を使用します。 線形回帰は 200 年以上前から存在し、広範囲に研究されてきました。この手法を使用する際の良い経験則としては、非常に類似した(相関のある)変数を削除し、可能であればデータからノイズを削除することが挙げられます。これは迅速でシンプルな手法であり、最初に試してみるのに適したアルゴリズムです。 2 — ロジスティック回帰 ロジスティック回帰は、機械学習が統計学の分野から借用したもう 1 つの手法です。これは、バイナリ分類問題 (2 つのクラス値を持つ問題) に最適な方法です。 ロジスティック回帰は、各入力変数の重み係数の値を見つけることを目的とする点で線形回帰に似ています。線形回帰とは異なり、出力予測はロジスティック関数と呼ばれる非線形関数を使用して変換されます。 ロジスティック関数は大きな S のような形をしており、任意の値を 0 から 1 の範囲に変換します。これは、ロジスティック関数の出力にルールを適用して値を 0 と 1 に制限し(たとえば、0.5 未満の場合は 1 を出力する)、クラス値を予測できるため便利です。 ロジスティック回帰 モデルの学習方法により、ロジスティック回帰による予測は、特定のデータインスタンスがクラス 0 またはクラス 1 に属する確率としても使用できます。これは、予測に対してさらに説明が必要な問題に役立ちます。 線形回帰と同様に、ロジスティック回帰は、出力変数に関連しない属性と、互いに非常に類似している (相関している) 属性を削除すると、より効果的に機能します。バイナリ分類問題を素早く学習し、効果的に解決するモデルです。 3 — 線形判別分析 ロジスティック回帰は、従来は 2 クラス分類問題に限定されていた分類アルゴリズムです。 2 つ以上のクラスがある場合、線形判別分析アルゴリズムが線形分類手法として選択されます。 LDA の表現は非常に簡単で、クラスごとに 1 つのデータの統計プロパティで構成されます。単一の入力変数の場合は、以下を含めます。
線形判別分析 予測は、各クラスの判別値を計算し、最大クラスの予測を行うことによって行われます。この手法では、データがガウス分布(ベル型曲線)を持っていると想定しているため、処理する前にデータから外れ値を除去することをお勧めします。これは、分類予測モデリングに対するシンプルでありながら強力なアプローチです。 4 — 分類と回帰ツリー 決定木は予測モデリングのための重要なアルゴリズムです。 決定木モデルの表現はバイナリ ツリーです。これはバイナリ ツリー アルゴリズムとデータ構造であり、特別なものではありません。各ノードは、単一の入力変数 (x) とその変数上の分岐点 (変数が数値であると仮定) を表します。 決定木 ツリーのリーフ ノードには、予測を行うための出力変数 (y) が含まれています。予測は、リーフ ノードに到達するまでツリーのパーティションをトラバースし、そのリーフ ノードのクラス値を出力することによって行われます。 木は素早く学習し、素早く予測を行います。これらは一般にさまざまな問題に適用可能であり、データの特別な準備は必要ありません。 5 — ナイーブベイズ ナイーブ ベイズ アルゴリズムは、シンプルですが驚くほど強力な予測モデリング アルゴリズムです。 モデルは、トレーニング データから直接計算できる 2 種類の確率 (1) 各クラスの確率、および 2) x の各値が与えられた場合の各クラスの条件付き確率) で構成されます。確率モデルが計算されると、ベイズの定理を使用して新しいデータの予測を行うことができます。データが実数の場合、これらの確率を簡単に推定できるように、ガウス分布 (ベル曲線) を想定するのが一般的です。 ベイズの定理 ナイーブベイズは、各入力変数が独立していると仮定するため、このように呼ばれます。これは実際のデータに対しては非現実的な強い仮定ですが、この手法は多くの複雑な問題に対して非常に効果的です。 6 — K近傍法 KNN アルゴリズムは非常にシンプルで効果的です。 KNN のモデル表現は、トレーニング データセット全体です。簡単ですよね? トレーニング セット全体で最も類似した K 個のサンプル (近傍) を検索し、K 個のサンプルの出力を集約することで、新しいデータ ポイントの予測が行われます。回帰問題の場合、これは平均出力値になる可能性があり、分類問題の場合、これは大多数の(または最も一般的な)クラス値になる可能性があります。 秘訣は、データインスタンス間の類似性をどのように判断するかにあります。属性がすべて同じスケール (たとえば、すべてインチ単位) である場合、最も簡単な方法はユークリッド距離を使用することです。ユークリッド距離は、各入力変数間の差から直接計算できる数値です。 K近傍法 KNN は、すべてのデータを格納するために大量のメモリまたはスペースを必要とする場合がありますが、予測が必要な場合にのみ計算 (または学習) を実行します。また、予測の精度を維持するために、トレーニング サンプルを継続的に更新および管理することもできます。 KNN における距離または近接性の概念は、非常に高い次元 (多くの入力変数) に分解される可能性があり、問題に対するアルゴリズムのパフォーマンスに悪影響を与える可能性があります。これは次元の呪いと呼ばれます。出力変数の予測に最も関連性の高い入力変数のみを使用することをお勧めします。 7 — ベクトル量子化を学ぶ k 最近傍法の欠点は、トレーニング データセット全体を保持する必要があることです。学習ベクトル量子化 (略して LVQ) は、保持するトレーニング サンプルの数を選択し、それらのサンプルがどのように見えるかを正確に学習できる人工ニューラル ネットワーク アルゴリズムです。 ベクトル量子化の学習 LVQ の表現はコードブック ベクトルのセットです。これらは最初にランダムに選択され、学習アルゴリズムの複数回の反復を通じて適応され、データセットを最もよく要約します。学習後、コードブック ベクトルは k 近傍のように予測できます。各コードブック ベクトルと新しいデータ間の距離を計算することにより、最も類似した近傍 (最も一致するコードブック ベクトル) が見つかります。最も一致するユニットのクラス値または(回帰の場合は実際の値)が予測として返されます。データを同じ範囲(たとえば 0 から 1 の間)にスケーリングすると、最良の結果が得られます。 KNN がデータセットで良好な結果をもたらすことがわかった場合は、LVQ を使用して、トレーニング データセット全体を保存するためのメモリ要件を削減してみてください。 8 — サポートベクターマシン サポート ベクター マシンは、おそらく最も人気のある機械学習アルゴリズムの 1 つです。 超平面は、入力変数の空間を分割する直線です。サポート ベクター マシンでは、入力変数空間内のポイントをクラス (クラス 0 またはクラス 1) に応じて最適に分離するように超平面が選択されます。 2 次元では、すべての入力ポイントがこの線によって完全に分離できると仮定して、これを直線として想像できます。サポートベクターマシン学習アルゴリズムは、超平面を通じて最適なセグメンテーション係数を見つけます。 サポートベクターマシン 超平面と最も近いデータ ポイント間の距離をマージンと呼びます。 2 つのクラスを分離できる最良または最適な超平面は、最大マージンを持つ直線です。これらの点のみが、超平面の定義と分類子の構築に関連します。これらのポイントはサポートベクターと呼ばれます。それらは超平面をサポートまたは定義します。実際のアプリケーションでは、マージンを最大化する係数の値を見つけるために最適化アルゴリズムが使用されます。 SVM はおそらく最も強力なすぐに使える分類器の 1 つであり、試してみる価値があります。 9 — バギングとランダムフォレスト ランダムフォレストは、最も人気があり強力な機械学習アルゴリズムの 1 つです。これは、ブートストラップ集約またはバギングとして知られるアンサンブル機械学習アルゴリズムです。 ブートストラップは、データのサンプルから平均などの量を推定するための強力な統計手法です。データを複数回サンプリングし、平均を計算し、平均して、真の平均をより正確に推定します。 バギングでは、同じアプローチが使用されますが、統計モデル全体(最も一般的には決定木)を推定するために使用されます。トレーニング データの複数のサンプルを取得し、サンプルされたデータセットごとにモデルを構築します。新しいデータについて予測を行う必要がある場合、各モデルが予測を行い、その予測を平均化して、実際の出力値のより正確な推定値を取得します。 ランダムフォレスト ランダム フォレストは、決定木を作成するこの方法を改良したものです。最適な分割ポイントを選択する代わりに、ランダム性を導入して最適ではない分割を行います。 したがって、データセットの各サンプリングに対して作成されたモデルは、それ以外の場合よりも異なりますが、それでも正確です。それらの予測を組み合わせることで、実際の出力値をより正確に推定できます。 分散の大きいアルゴリズム (決定木など) を使用して良好な結果が得られた場合は、通常、そのアルゴリズムをバギングすることでさらに良い結果が得られます。 10 — ブースティングアルゴリズムとAdaBoost ブースティングは、多数の弱い分類器から強い分類器を作成しようとするアンサンブル手法です。これは、トレーニング データからモデルを構築し、最初のモデルのエラーを修正しようとする 2 番目のモデルを作成することによって行われます。トレーニング セットが完全に予測されるか、モデルの最大数に達するまで、モデルは継続的に追加されます。 AdaBoost は、バイナリ分類において真に成功した最初のブースティング アルゴリズムでした。これはブースティング アルゴリズムを理解するための最適な出発点です。現代のブースティング アルゴリズムはすべて AdaBoost に基づいて開発されており、その中で最も有名なのは確率的勾配ブースティング アルゴリズムです。 アダブースト AdaBoost は短い決定木に使用されます。最初のツリーを作成したら、それを使用して各サンプルのパフォーマンス (サンプルとラベルの差) を計算し、次のツリーがどのサンプルに重点を置くかを測定します。予測が難しいトレーニング データには大きな重みが与えられ、予測が容易なデータには小さな重みが与えられます。モデルは順番に作成され、各モデルはトレーニング サンプルの重みを更新します。これは、シーケンス内の次のツリーによって実行される学習に影響を与えます。すべてのツリーが構築された後、新しいデータに対して予測が行われ、各ツリーはトレーニング データ セットでのパフォーマンスに基づいて重み付けされます。 アルゴリズムはエラーの修正に非常に注意を払うため、外れ値が除去されたクリーンなデータを持つことが重要です。 重要なポイント、忘れずに持ち帰ってください多種多様な機械学習アルゴリズムに直面したとき、初心者は「どのアルゴリズムを使用すればよいのか」という質問をよくします。この質問に対する答えは、(1) データのサイズ、品質、性質、(2) 利用可能な計算時間、(3) タスクの緊急性、(4) データの処理方法など、多くの要因によって異なります。 経験豊富なデータ サイエンティストであっても、さまざまなアルゴリズムを試してみなければ、どのアルゴリズムが最も優れたパフォーマンスを発揮するかを判断することはできません。他にも多くの機械学習アルゴリズムがありますが、これらが最も人気があります。機械学習を初めて学ぶ人にとって、これは素晴らしい出発点となるでしょう。 機械学習初心者のためのトップ10アルゴリズムのツアー |
技術開発を積極的に受け入れ、人工知能がスポーツにさらに貢献できるようにしましょう。スポーツとテクノロ...
[[355967]]人工知能は新興の破壊的技術として、科学技術革命と産業変革によって蓄積された膨大な...
ビル・ゲイツ氏は7月12日、米国現地時間7月11日に自身のブログに記事を掲載し、人工知能の現在の発展...
テクノロジーサイトEngadgetが北京時間8月25日に報じたところによると、人工知能は現在、ほとん...
私の家族の皆さん、人間として生きることが昨今こんなにも困難になっているとは誰が想像したでしょうか?最...
千人の人々の目には千のハムレットがいる。主観的な違いにより、人間には何千万通りもの異なる美的嗜好が存...
2023年、生成AI技術が繭から現れ、世界的なデジタル革命を引き起こしました。初期のチャットやチェス...
PaddleOCR は、PaddlePaddle ディープラーニング フレームワークに基づいて開発さ...
6月30日、瑞傑ネットワークス株式会社(以下、瑞傑ネットワークス)と合肥美的智能科技有限公司(以下...
[[425002]]自然言語理解 (NLU) は難しい問題です。数十年前の AI の誕生から現在に至...
OpenAI ChatGPT Plus サブスクリプション支払いには強力な機能があり、高度な「データ...
人工知能とは何を意味するのでしょうか?人工知能はコンピュータサイエンスの範囲を指し、AI とは、設計...
1. AIGCからAIGAへAIGC は AI によって生成されたコンテンツを指し、すでに広く理解さ...