[Dry Goods] 機械学習を始めるには、まず10の古典的なアルゴリズムを理解するところから始めましょう

[Dry Goods] 機械学習を始めるには、まず10の古典的なアルゴリズムを理解するところから始めましょう

[[219151]]

機械学習の分野では、「ただで得られるものはない」というのは不変の定理です。つまり、あらゆる問題に対する完璧な解決策として使用できる完璧なアルゴリズムは存在しません。これを認識することは、予測モデリング問題などの教師あり学習問題を解決するときに特に重要です。

ニューラル ネットワークが決定木よりも優れているとは必ずしも言えませんし、その逆も同様です。データセットのサイズや構造など、アルゴリズムのパフォーマンスに影響を与える要因は多数あります。

したがって、独自の問題に対して複数の異なるアルゴリズムを試し、テスト データ セットを使用して各アルゴリズムのパフォーマンスを評価し、最も効果の高いアルゴリズムを選択してください。

もちろん、上で試したアルゴリズムは問題に適したものでなければなりません。そこで、適切な機械学習タスクを選択する必要があります。たとえば、家を掃除する必要がある場合、掃除機、ほうき、モップを使用しますが、シャベルを使用して家の中に穴を掘ってはいけません。

重要な原則

そうは言っても、予測モデリングのためのすべての教師あり機械学習アルゴリズムには共通の原則があります。

機械学習アルゴリズムの本質は、入力変数(X)と出力変数(Y)の間の最適なマッピングであるターゲット関数(f)を見つけることです:Y = f(X)

これは最も一般的な学習タスクであり、新しい入力変数 (X) が与えられると、出力変数 (Y) の値を予測できます。目的関数 (f) の形や外観がわからないため、それを見つけるには機械が必要です。それ以外の場合は、機械学習アルゴリズムを使用してデータを学習する代わりに、目的関数を直接使用して予測を行うことができます。

最も一般的なタイプの機械学習は、最適なマッピング Y = f(X) を見つけ、それを使用して新しい X の Y の値を予測することです。このプロセスは予測モデリングまたは予測分析と呼ばれ、可能な限り最も正確な予測を作成することが目標です。

機械学習の基本的な概念を理解したい初心者のために、データ サイエンティストが最もよく使用する上位 10 個の機械学習アルゴリズムをまとめ、すぐに始められるようにしました。

1- 線形回帰

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

予測モデリングは、モデルエラーを最小限に抑える方法、つまり解釈可能性を犠牲にして最も正確な予測を行う方法に重点を置いています。私たちは、統計学を含むさまざまな分野からアルゴリズムを借用、再利用、盗用し、これらの目的に使用します。

線形回帰は、入力変数の特定の重み係数 (B) を通じて、入力変数 (x) と出力変数 (y) の間の最も適切なマッピング関係を見つける直線を記述する方程式を表します。

線形回帰

例えば: y = B0 + B1 * x

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

データの線形回帰モデルを見つけるには、通常の最小二乗法や勾配降下法の最適化問題に線形代数ソリューションを適用するなど、さまざまな手法があります。

線形回帰は 200 年以上前から存在し、広範囲に研究されてきました。このアルゴリズムを使用する際のヒントとしては、データ内のノイズだけでなく、非常に類似した相関変数を可能な限り除去することが挙げられます。これは高速かつシンプルで便利なアルゴリズムです。

2 - ロジスティック回帰

ロジスティック回帰は、バイナリ分類問題 (2 つのクラス値を持つ問題) を解決するために機械学習が統計分野から借用したもう 1 つの手法です。

ロジスティック回帰は、各入力変数の加重係数値を見つけることを目的とする点で線形回帰に似ています。線形回帰とは異なり、ロジスティック回帰が出力値を予測する関数は非線形であり、ロジスティック関数とも呼ばれます。

ロジスティック回帰関数のグラフは大きな S 字型になり、任意の値を 0 から 1 の間の区間に変換します。この形式は、ロジスティック関数の値を 0 と 1 に変換するルール (たとえば、関数の値が 0.5 未満の場合は 1 を出力する) を使用してカテゴリを予測できるため、非常に便利です。

ロジスティック回帰

モデルの学習方法に基づいて、ロジスティック回帰の出力値を使用して、特定のデータインスタンスがカテゴリ 0 とカテゴリ 1 に属する確率を予測することもできます。これは、予測にさらなる証拠が必要な場合に非常に役立ちます。

線形回帰と同様に、ロジスティック回帰は、出力変数に無関係な属性、または出力変数に非常に類似している (相関している) 属性を削除すると、より効果的に機能します。これは、バイナリ分類問題に対する使いやすく、高速で効果的なモデルです。

▌ 3 - 線形判別分析

一般に、ロジスティック回帰はバイナリ分類問題に限定されます。 ただし、分類カテゴリが 2 つ以上ある場合は、線形判別分析が最適な線形分類アルゴリズムになります。

線形判別分析の表現は非常に単純です。 データの統計プロパティで構成され、各カテゴリのプロパティの値を計算します。単一の入力変数の場合、次のものが含まれます。

  • 各カテゴリーの平均値。
  • すべてのカテゴリの分散。

線形判別分析

線形判別分析は、各カテゴリ間の差を計算し、最良の値を持つカテゴリを予測します。 この方法では、データがガウス分布(ベル型曲線)に従うと想定されるため、予測を行う前にデータから外れ値を除去することをお勧めします。これは分類予測問題に対するシンプルでありながら強力な方法です。

▌ 4 - 分類と回帰ツリー

決定木は、予測モデリングに使用される重要な機械学習アルゴリズムです。

決定木モデルはバイナリツリーとして表現されますが、これはアルゴリズムとデータ構造からのバイナリツリーであり、特別なものではありません。ツリー内の各ノードは、入力変数 (x) と、その変数に基づく分割ポイント (この変数が数値であると仮定) を表します。

決定木

リーフノードには予測に使用される出力変数 (y) が含まれます。予測はツリーの分割点から始まり、各リーフ ノードに到達するまで実行され、リーフ ノードの分類値が出力されます。

決定木アルゴリズムは、すばやく学習し、すばやく予測を行います。決定木は、データの特別な前処理なしで、さまざまな問題に対して正確な予測を行うことができます。

▌ 5 - ナイーブベイズ

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

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

ナイーブベイズ

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

▌ 6 - K近傍法アルゴリズム

K 最近傍アルゴリズムは非常にシンプルで効果的です。そのモデルはトレーニング データ セット全体を表します。シンプルに見えますね。

特定のトレーニング データに対して、データセット全体で最も類似した K 個のインスタンス (近傍) を検索することにより、これらの K 個のインスタンスの出力変数を集約して新しいデータ ポイントを予測できます。回帰問題の場合、これは出力変数の平均である可能性があり、分類問題の場合、モード (または最も一般的な) カテゴリ値である可能性があります。

K 近傍アルゴリズムを使用する際の秘訣は、データ インスタンス間の類似性をどのように判断するかです。最も単純な場合、属性がユークリッド距離に関して同じスケールである場合 (たとえば、両方ともインチ単位である場合)、各入力変数間の差に基づいて数値を計算するだけで類似性を判断できます。

K-近傍法アルゴリズムでは、すべてのデータを格納するために大量のメモリまたはストレージが必要になる場合がありますが、予測を行うときにのみ計算 (または学習) を実行します。予測の精度を維持するために、トレーニング インスタンスをいつでも更新および管理することもできます。

入力変数の数はアルゴリズムのパフォーマンスに大きな悪影響を及ぼすため、距離または近さの概念は、非常に高い次元(入力変数の数が多い)では崩れる可能性があります。これが次元の呪いです。これには、出力変数の予測と最も相関のある入力変数のみを使用する必要があります。

▌ 7 - ベクトル量子化を学ぶ

K 最近傍アルゴリズムの欠点の 1 つは、トレーニング データセット全体を使用する必要があることです。人工ニューラル ネットワークである学習ベクトル量子化アルゴリズム (略して LVQ) を使用すると、トレーニング例の数を選択し、これらの例の特性を正確に学習できます。

ベクトル量子化の学習

学習ベクトル量子化アルゴリズムは、コードブック ベクトルのセットを表します。これらのベクトルは初期化時にランダムに選択され、学習アルゴリズムの複数回の反復を通じて、トレーニング データセットを最もよく要約するセットに最適化されます。学習が完了すると、K 近傍アルゴリズムのようにコードブック ベクトルを予測できます。各コードブック ベクトルと新しいデータ インスタンス間の距離を計算することによって、最も類似した近傍 (最も一致するコードブック ベクトル) が見つかり、最も一致するユニットのクラス値または (回帰の場合は実際の値) が予測として返されます。データを同じ範囲(0 ~ 1 の間など)に再スケールできる場合は、最適な予測結果を得ることができます。

K 最近傍アルゴリズムがデータセットに対してすでに良好な予測結果を示している場合は、学習ベクトル量子化アルゴリズムを使用して、トレーニング データセット全体のメモリ ストレージ要件を削減することができます。

▌ 8 - サポートベクターマシン

サポートベクターマシンは、おそらく最も古く、最も広く議論されている機械学習アルゴリズムの 1 つです。

超平面は、入力変数の空間内の分割線です。サポート ベクター マシンでは、ハイパープレーンによって入力変数空間をクラス (0 または 1) 別に分割できます。 2 次元空間では、超平面は線として見ることができ、すべての入力ポイントはこの線によって完全に分離できると想定されます。サポート ベクター マシンの目的は、超平面が異なるカテゴリのデータを完全に分離できるようにする分離係数を見つけることです。

サポートベクターマシン

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

サポート ベクター マシンは、おそらく最も強力な「すぐに使える」分類器の 1 つであり、試してみる価値があります。

▌ 9 - バギングアルゴリズムとランダムフォレスト

ランダムフォレストは最も人気のある機械学習アルゴリズムの 1 つです。これは、ブートストラップ集約またはバギングと呼ばれる機械学習アンサンブル アルゴリズムです。

ブートストラップは、データのサンプルから量を推定する強力な統計手法です。つまり、サンプル全体の真の平均をより正確に推定するには、大量のデータ サンプルを取得し、平均を計算し、すべての平均を平均化する必要があります。

バギング アルゴリズムでも同じアプローチが使用されますが、統計モデル全体を推定するために使用される最も一般的な方法は決定木です。トレーニング データから複数のサンプルがサンプリングされ、各データ サンプルに対してモデルが構築されます。新しいデータの予測を行う際には、各モデルが予測を行い、その予測を平均化することで、実際の出力値のより正確な推定値が得られます。

ランダムフォレスト

ランダム フォレストは、バギング アルゴリズムの調整です。決定木を作成するために最適な分割ポイントを選択する代わりに、ランダム性を導入して最適ではない分割ポイントを取得します。

したがって、各データ サンプルに対して作成されたモデルは他のモデルとは異なりますが、独自の異なる方法で正確に予測します。すべてのモデルからの予測を組み合わせることで、潜在的な真の出力をより正確に推定できます。

より高い分散アルゴリズム (決定木など) で良好な結果が得られる場合は、通常、バギングを使用するとさらに良い結果が得られます。

▌ 10 - ブースティングとAdaBoostアルゴリズム

ブースティングは、複数の弱い分類器から強い分類器を構築するアンサンブル予測手法です。トレーニング データからモデルを構築し、前のモデルのエラーを修正して 2 番目のモデルを作成します。このように、モデルはトレーニング データ セットを完全に予測できるようになるまで、または追加できるモデル数の上限に達するまで、継続的に追加されます。

バイナリ分類用に開発されたブースティング アルゴリズムの中で、AdaBoost は最初の成功したアルゴリズムです。これはブースティング アルゴリズムを理解するための最適な出発点です。最新のブースティング手法は AdaBoost に基づいて構築されており、最も典型的な例は確率的勾配アクセラレータです。

通常、AdaBoost アルゴリズムは決定木で機能します。最初の決定木が作成された後、各トレーニング インスタンスでの決定木のパフォーマンスを使用して、次の決定木がそのインスタンスに割り当てるべき注意の度合いを測定します。予測が難しいトレーニング データには大きな重みが与えられ、予測が容易なデータには小さな重みが与えられます。モデルは順番に作成され、トレーニング インスタンスの重みが更新されるたびに、シーケンス内の次の決定木の学習パフォーマンスに影響します。すべての決定木が完成すると、新しい入力データに対する予測が可能になり、各決定木のパフォーマンスはトレーニング データに対する精度によって決まります。

このモデルは以前のアルゴリズムのエラーを修正することに重点を置いているため、データがクリーンで異常がないことを確認する必要があります。

▌ *** の提案

初心者は、機械学習アルゴリズムの多種多様な種類に混乱し、「どのアルゴリズムを使用すればよいのか」といった疑問を抱くことがよくあります。

この質問に対する答えは、次のような多くの要因によって決まります。

(1)データの大きさ、品質および性質

(2)利用可能な計算時間

(3)任務の緊急性

(4)データを使って何をしたいですか?

経験豊富なデータ サイエンティストであっても、さまざまなアルゴリズムを試してみなければ、どのアルゴリズムが最も優れたパフォーマンスを発揮するかを答えることはできません。機械学習には他にも多くのアルゴリズムがありますが、上記は最も基本的なものです。機械学習を初めて学ぶ場合、これは良い出発点となるでしょう。

オリジナルリンク: https://towardsdatascience.com/a-tour-of-the-top-10-algorithms-for-machine-learning-newbies-dde4edffae11

<<:  人工知能に関する国家3カ年戦略が発表されました。この8種類の製品が流行るでしょう!

>>:  人工知能と新しい小売業が出会うと、どのような火花が散るでしょうか?

ブログ    
ブログ    
ブログ    

推薦する

倫理的な AI の今後はどうなるのでしょうか?

今日のデジタル時代では、人工知能 (AI) と機械学習 (ML) はあらゆるところに存在しています。...

5 つの主要分野をカバーする、知っておくべき 21 のオープンソース機械学習ツール

この記事では、まだ使ったことがないかもしれないオープンソースの機械学習ツールを21個紹介します。各オ...

[ディープラーニングシリーズ] PaddlePaddle 手書き数字認識

先週、ディープラーニングの分散操作モードに関する情報を検索していたところ、偶然 PaddlePadd...

...

...

...

ガートナー:2026年までに企業の80%が生成型AIを導入する見込み、これは現在の16倍にあたる

アナリスト会社ガートナーは10月13日、2026年までに企業の80%以上が生成型AIアプリケーション...

顔の照明を自由に編集:ジェネレーティブモデルに基づく3Dリライティングシステムがリリース

実際の人間の顔の 3 次元モデリング、合成、再照明は、コンピュータ グラフィックスの分野で高い応用価...

...

ドローン技術を都市計画に活用

ドローン技術は、都市計画がスマートシティを形成する方法を再定義するでしょう。都市計画は変化しており、...

文化分野における人工知能の応用

近年、我が国の文化産業は人工知能などのハイテクをますます重視しており、文化と技術が深く有機的に融合す...

人工知能と人間の知能のギャップは何でしょうか?

AlphaGoがイ・セドルを破った後、人類の知能の最後の高みも人工知能によって征服されたと誰もが言...

AIを活用した臨床モニタリングシステムの台頭

人工知能(AI)は生活のあらゆる分野に浸透しています。人工知能は医療にどのようなメリットをもたらすの...

...

...