線形回帰 (線形回帰) は、最も人気のある機械学習アルゴリズムと言えます。線形回帰は、直線を見つけて、この直線を散布図のデータ ポイントにできるだけ近づけることです。このデータに直線方程式を当てはめることにより、独立変数 (x 値) と数値結果 (y 値) を表現しようとします。この線は、将来の値を予測するために使用できます。
このアルゴリズムで最も一般的に使用される手法は、最小二乗法 (最小二乗法) です。この方法では、直線上の各データ ポイントからの垂直距離を最小化する最適な直線が計算されます。合計距離は、すべてのデータ ポイントの垂直距離 (緑色の線) の二乗の合計です。この二乗誤差または距離を最小限に抑えてモデルを適合させるという考え方です。
たとえば、1 つの独立変数 (X 軸) と 1 つの従属変数 (Y 軸) を持つ単純な線形回帰。
ロジスティック回帰は線形回帰に似ていますが、出力がバイナリの場合 (つまり、結果が取り得る値が 2 つだけである場合) に使用されます。最終出力の予測は、ロジスティック関数 g() と呼ばれる非線形シグモイド関数です。
この論理関数は、中間結果の値を結果変数 Y (値の範囲は 0 ~ 1) にマップします。これらの値は、Y が発生する確率として解釈できます。シグモイド ロジスティック関数の特性により、ロジスティック回帰が分類タスクにより適したものになります。
#試験に合格する確率を学習時間の関数として示すロジスティック回帰グラフ。
デシジョン ツリーは、回帰タスクと分類タスクに使用できます。
このアルゴリズムでは、トレーニング モデルは、ツリー表現の決定ルールを学習することによって、ターゲット変数の値を予測することを学習します。ツリーは、対応する属性を持つノードで構成されます。
各ノードで、利用可能な特徴に基づいてデータについて質問します。左右の枝は考えられる答えを表しています。最終ノード (つまり、リーフ ノード) は予測値に対応します。
各機能の重要性は、トップダウンのアプローチによって決定されます。ノードが上位になるほど、そのプロパティはより重要になります。
レストランで待つかどうかを決定するためのデシジョン ツリーの例。
Naive Bayes (ナイーブ ベイズ) はベイズの定理に基づいています。これは、各クラスの確率、つまり x の値が与えられた場合の各クラスの条件付き確率を測定します。このアルゴリズムは分類問題で使用され、はい/いいえの 2 値の結果を返します。以下の方程式を見てください。
Naive Bayes 分類器は、スパムのフィルタリングに使用できる一般的な統計手法です。
サポート ベクター マシン (SVM) は、分類問題用の教師ありアルゴリズムです。サポート ベクター マシンは、データ ポイント間に最大のマージンを持つ 2 本の線を描画しようとします。これを行うには、データ項目を n 次元空間内の点としてプロットします。ここで、n は入力フィーチャの数です。これに基づいて、サポート ベクター マシンは超平面と呼ばれる最適な境界を見つけます。これは、考えられる出力をクラス ラベルごとに最もよく分離します。
超平面と最も近いクラス ポイントの間の距離はマージンと呼ばれます。最適な超平面は、最も近いデータ ポイントと 2 つのクラスの間の距離が最大になるようにポイントを分類する最大のマージンを持ちます。
たとえば、H1 は 2 つのクラスを分離しません。しかし、H2 はそうなりますが、わずかなマージンしかありません。そして、H3 はそれらを最大のマージンで分離します。
K 最近傍アルゴリズム (KNN) は非常に単純です。 KNN は、トレーニング セット全体から K 個の最も類似したインスタンス、または K 個の近傍インスタンスを検索し、共通の出力変数をこれらすべての K 個のインスタンスに割り当てることによってオブジェクトを分類します。
K の選択は重要です。値を小さくするとノイズが多くなり、結果が不正確になる可能性がありますが、値を大きくすると実行不可能になります。これは分類に最もよく使用されますが、回帰問題にも適しています。
インスタンス間の類似性を評価するために使用される距離は、ユークリッド距離、マンハッタン距離、またはミンコフスキー距離です。ユークリッド距離は、2 点間の通常の直線距離です。実際には、点座標の差の二乗の合計の平方根です。
▲KNN 分類の例
データセットに対して K-means (K-means) が実行されます。クラスターに分類されます。たとえば、このアルゴリズムを使用して、購入履歴に基づいてユーザーをグループ化できます。データセット内で K 個のクラスターを見つけます。 K 平均法は教師なし学習に使用されるため、使用する必要があるのはトレーニング データ X と、識別するクラスターの数 K だけです。
このアルゴリズムは、各データ ポイントの特性に基づいて、各データ ポイントを K グループの 1 つに繰り返し割り当てます。各 K クラスターに対して K 点 (重心と呼ばれます) を選択します。類似性に基づいて、最も近い重心を持つクラスターに新しいデータ ポイントが追加されます。このプロセスは、重心の変化が止まるまで続きます。
ランダム フォレスト (ランダム フォレスト) は、非常に人気のあるアンサンブル機械学習アルゴリズムです。このアルゴリズムの基本的な考え方は、多くの人の意見が 1 人の個人の意見よりも正確であるということです。ランダム フォレストでは、デシジョン ツリーのアンサンブルを使用します (デシジョン ツリーを参照)。
新しいオブジェクトを分類するには、多数決に基づいて最終決定を下す前に、各デシジョン ツリーから投票を行い、結果を組み合わせます。
#トレーニング プロセス中に、トレーニング セットのブートストラップ サンプルに基づいて各デシジョン ツリーが構築されます。
分類プロセス中、入力インスタンスに関する決定は多数決に基づいて行われます。
今日私たちが取得できるデータの量が膨大になったため、機械学習の問題はより複雑になっています。これは、トレーニングが非常に遅く、適切な解決策を見つけるのが難しいことを意味します。この問題は「次元の呪い」と呼ばれることがよくあります。
次元削減は、最も重要な情報を失うことなく、特定の機能をより高いレベルの機能に結合することで、この問題を解決しようとします。主成分分析 (PCA) は、最も一般的な次元削減手法です。
主成分分析は、データセットを低次元の線または超平面/部分空間に圧縮することで、データセットの次元を削減します。これにより、元のデータの顕著な特徴が可能な限り保存されます。
#次元削減の例は、すべてのデータ ポイントを直線に近似することで実現できます。
人工ニューラル ネットワーク (ANN) は、大規模で複雑な機械学習タスクを処理できます。ニューラル ネットワークは本質的に、ニューロンと呼ばれる重み付けされたエッジとノードで構成される相互接続された層のセットです。入力層と出力層の間に、複数の隠れ層を挿入できます。人工ニューラル ネットワークは 2 つの隠れ層を使用します。さらに、ディープラーニングにも対処する必要があります。
人工ニューラル ネットワークの動作原理は、脳の構造に似ています。ニューロンのグループにはランダムな重みが与えられ、ニューロンが入力データを処理する方法が決定されます。入力と出力の関係は、入力データでニューラル ネットワークをトレーニングすることによって学習されます。トレーニング段階では、システムは正しい答えにアクセスできます。
ネットワークが入力を正確に認識できない場合、システムは重みを調整します。十分なトレーニングを経ると、常に正しいパターンを認識します。
#各円形ノードは人工ニューロンを表し、矢印は 1 つの人工ニューロンの出力から別の人工ニューロンの入力への接続を表します。 ######次は何ですか?これで、最も一般的な機械学習アルゴリズムの基礎を学びました。より複雑な概念を学び、さらに詳細な実践的な演習を通じて実装する準備が整いました。これらのアルゴリズムの実装方法を学びたい場合は、Educative の Grokking データ サイエンス コースで、これらのエキサイティングな理論を明確な現実世界のアプリケーションに適用します。 勉強が楽しくなりますように!以上が機械学習について知っておくべきアルゴリズムトップ10!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。