確かな情報です!機械学習で知っておくべき 5 つの回帰アルゴリズム!

確かな情報です!機械学習で知っておくべき 5 つの回帰アルゴリズム!

回帰アルゴリズムといえば、理解しやすく非常に単純なため、多くの人が線形回帰を思い浮かべると思います。ただし、線形回帰は、その基本的な機能と移動の自由度の制限のため、実際のデータには適用できないことがよくあります。

実際、新しい方法を評価および研究する際に、比較のためのベンチマーク モデルとして使用されることがよくあります。実際のシナリオでは、回帰予測の問題に遭遇することがよくあります。今日は、5 つの回帰アルゴリズムをまとめて紹介します。

1. ニューラルネットワーク回帰

理論

ニューラル ネットワークは非常に強力ですが、通常は分類に使用されます。信号はニューロンの層を通過し、いくつかのクラスにまとめられます。ただし、最後に活性化関数を変更することで、回帰モデルに非常に迅速に適応できます。

各ニューロンは活性化関数を通じて以前の接続の値を渡して、一般化と非線形性の目的を達成します。よく使用される活性化関数: シグモイドまたは ReLU 関数。

最後の活性化関数(出力ニューロン)を線形活性化関数に置き換えることで、出力を固定カテゴリ外のさまざまな値にマッピングすることができます。この方法では、出力は入力をいずれかのカテゴリに分類する確率ではなく、ニューラル ネットワークが観測値を配置する連続値になります。この意味では、線形回帰のニューラル ネットワーク補完のようなものです。

ニューラル ネットワーク回帰には、非線形性 (複雑さに加えて) の利点があり、シグモイドやその他の非線形活性化関数を介してプロセスの比較的早い段階でニューラル ネットワークに導入できます。ただし、ReLU は負の値間の相対的な差を無視するため、活性化関数として ReLU を過度に使用すると、モデルが負の値の出力を回避する傾向がある可能性があります。これは、ReLU の使用を制限し、より負の適切な活性化関数を追加するか、トレーニング前にデータを厳密に正の範囲に正規化することで対処できます。

成し遂げる

Keras を使用して、最後の層が線形活性化層を持つ密な層、または単純な線形活性化層である限り、次の人工ニューラル ネットワーク構造を構築しました。

  1. モデル = シーケンシャル()
  2. モデルを追加します(Dense(100, input_dim=3, activation= 'sigmoid' ))
  3. モデルを追加します(ReLU(アルファ=1.0))
  4. model.add (Dense(50, activation= 'sigmoid' ))
  5. モデルを追加します(ReLU(アルファ=1.0))
  6. model.add (Dense(25, activation= 'softmax' ))
  7. #重要な部分
  8. model.add (Dense(1, activation= 'linear' ))

ニューラル ネットワークの問題は、常にその高い分散性と過剰適合の傾向にあります。上記のコード例には、SoftMax や Sigmoid など、非線形性のソースが多数あります。ニューラル ネットワークが純粋に線形構造のトレーニング データで適切に機能する場合は、ニューラル ネットワークの線形性と高い変動性を模倣しながらも、データ サイエンティストが深さ、幅、その他のプロパティをより細かく制御して過剰適合を制御できる、剪定決定木回帰を使用する方がよい場合があります。

2. 決定木回帰

理論

分類と回帰は、どちらも yes/no ノードのツリーを構築することによって機能するため、決定木では非常によく似ています。分類終了ノードは単一のクラス値 (バイナリ分類問題の場合は 1 または 0 など) になりますが、回帰ツリーは連続した値 (4593.49 または 10.98 など) で終了します。

機械学習タスクとしての回帰の特殊な性質と高い分散のため、決定木回帰変数は慎重に剪定する必要があります。ただし、回帰を実行する方法は、連続的に値を計算するのではなく、不規則です。したがって、決定木は自由度が最大になるように剪定する必要があります。

成し遂げる

決定木回帰は sklearn で簡単に作成できます。

  1. sklearn.treeからDecisionTreeRegressor をインポートします
  2. モデル = DecisionTreeRegressor()
  3. モデルをフィット(X_train, y_train)

決定木回帰パラメータは非常に重要なので、モデルに適切な基準を見つけるには、sklearn の GridCV パラメータ検索最適化ツールを使用することをお勧めします。パフォーマンスを正式に評価する場合は、標準のトレーニング分割ではなく K 分割テストを使用して、標準のトレーニング分割のランダム性が高分散モデルの優れた結果に干渉するのを回避します。

3. LASSO回帰

理論

LASSO 回帰は線形回帰の変形であり、多重共線性(特徴が互いに強い相関関係にある)のあるデータに特に適しています。変数の選択やパラメータの除去など、モデル選択の一部を自動的に実行できます。

縮小のプロセスにより、回帰モデルに多くの利点が追加されます。

  • 真のパラメータの推定はより正確で安定しています。
  • サンプリングエラーと非サンプリングエラーを削減します。
  • 空間的な変動がよりスムーズになります。

ニューラル ネットワークや決定木回帰などの高分散手法のように、データの複雑さを補うためにモデルの複雑さを調整するのではなく、LASSO は、空間を変形して単純な回帰手法で処理できるようにすることで、データの複雑さを軽減しようとします。このプロセス中、LASSO は、相関性が高く冗長な特徴を低分散方法で自動的に除去または歪曲するのに役立ちます。

LASSO 回帰では L1 正則化が使用されます。つまり、エラーは絶対値によって重み付けされます。この正規化により、通常は係数の少ないスパース モデルが生成され、解釈可能になります。

成し遂げる

Sklearn では、LASSO 回帰には、さまざまな基本パラメータとトレーニング パスを持つ多数のトレーニング済みモデルの中から最もパフォーマンスの高いモデルを選択するクロス検証モデルが付属しており、手動で実行する必要のあるタスクを自動化します。

  1. sklearn.linear_modelからLassoCV をインポートします
  2. モデル = LassoCV()
  3. モデルをフィット(X_train, y_train)

4. リッジリターンズ

理論

リッジ回帰は、収縮に適用できるという点で LASSO 回帰と非常によく似ています。 Ridge 回帰と LASSO 回帰はどちらも、互いに独立していない (共線性がある) 多数の特徴を持つデータセットに非常に適していますが、2 つの回帰の最大の違いは、Ridge が L2 正則化を利用し、L2 正則化の性質上、係数はゼロに近づいていきますが、ゼロに到達することはできないことです。

このため、優先度への影響が小さい変数を優先したい場合は、Ridge の方が適しています。モデル内で、それぞれが中程度から大きな効果を持つ複数の変数を考慮する場合は、LASSO の方が適しています。

成し遂げる

リッジ回帰は、以下に示すように sklearn で実装できます。 LASSO 回帰と同様に、sklearn には、クロス検証を使用して、多数のトレーニング済みモデルの中から最適なモデルを選択する実装があります。

  1. sklearn.linear_modelからRidgeCV をインポートします
  2. モデル = リッジ()
  3. モデルをフィット(X_train, y_train)

5. ElasticNet回帰

理論

ElasticNet は、L1 正則化と L2 正則化を組み合わせることで、リッジ回帰と LASSOb 回帰の長所を活用しようとします。

LASSO と Ridge は 2 つの異なる正規化手法を提案しました。 λ はペナルティの強度を制御する遷移係数です。

  • λ = 0 の場合、目的は単純線形回帰に似たものとなり、結果として単純線形回帰と同じ係数になります。
  • λ = ∞ の場合、係数の二乗の重みが無限大となるため、係数はゼロになります。値が 0 未満の場合、ターゲットは無限になります。
  • 0 < λ < ∞ の場合、λ のサイズによって目的のさまざまな部分に与えられる重みが決まります。

λ パラメータに加えて、ElasticNet は、L1 正規化と L2 正規化をどのように「混合」するかを測定する追加のパラメータ α を追加します。

  • α が 0 の場合、モデルは純粋なリッジ回帰モデルです。
  • α が 1 の場合、純粋な LASSO 回帰モデルになります。

「混合係数」α は、損失関数で L1 および L2 正則化をどの程度考慮する必要があるかを決定します。

成し遂げる

ElasticNet を実装するには、sklearn のクロス検証モデルを使用できます。

  1. sklearn.linear_modelからElasticNetCV をインポートします
  2. モデル = ElasticNetCV()
  3. モデルをフィット(X_train, y_train)

<<:  ドローンが田舎に飛来、その価値は想像もできない

>>:  機械学習でデータを実用的な洞察に変換する

推薦する

ディープラーニングの「記憶喪失」に応えて、科学者たちは類似性に基づく重み付けインターリーブ学習を提案し、PNASに掲載された。

人間とは異なり、人工ニューラル ネットワークは新しいことを学習するときに以前に学習した情報をすぐに忘...

AIに人間の思考や行動を模倣させる方法

AI システムは、人間の知能の特定の側面を模倣し、物体の検出、環境のナビゲーション、チェスのプレイ、...

OpenAIの仮説が覆される!計算量を考慮すると、小さいモデルの方が大きいモデルよりも優れています。Llama 2 のトレーニングは GPU コンピューティングに関連しています。

モデルを推論する際には、収束が遅いために計算能力を無駄にしないようにすることが重要です。孫子の兵法に...

建築設計におけるスマートビルディングと IoT の統合

技術が急速に進歩する時代において、私たちと建築との関係は大きな変化を遂げています。もはやレンガやモル...

生成AIにおける新たな高収入の仕事

クラウドプロバイダーのサービスの需要は2024年まで増加すると予測しています。また、 AI生成技術と...

調査会社がAI主要9分野を数え、世界各国のAI法規制を分析

世界中の政府は、AI技術革命に直面しても既存の法律、規制、枠組みが引き続き有効であることを保証し、新...

新しい5文字描画言語が人気で、ChatGPTはそれを学習しました

たった 5 つの文字でピクセル ペイントを完成させることができます。合計 8 色、最大 256×25...

人工知能はあらゆる産業に革命を起こすだろう

今日のさまざまな業界における人工知能の影響を見てみましょう。 [[421328]] 1. 自動車産業...

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

アルゴリズムはビッグデータの最も価値のある部分です。ビッグデータマイニングとは、大量、不完全、ノイズ...

ロボットがすべての仕事を奪ったら、人間はどうなるでしょうか?

[51CTO.com クイック翻訳] 過去1年間、人工知能と自動化技術が人間の雇用と労働市場に与え...

アルゴリズム要件実装の難航の記録: 軽量な人間姿勢推定モデル開発への道

[[425432]]この記事は、ソリューションの選択から再現の試みなど、軽量な人間の姿勢推定モデルを...

ワシントンポスト紙の李開復氏のコラム:お金を与えることでAI失業危機は解決するのか?シリコンバレーの大物は世間知らずすぎる

AI革命が到来し、それは最良の時代になるかもしれないし、最悪の時代になるかもしれない。それが良いこと...

現代のサイバーセキュリティに人工知能が必要な理由

ダイヤルアップ インターネットの時代よりずっと以前、ウイルスが感染したフロッピー ディスクを介して拡...

...

[NCTS サミット レビュー] Ele.me Qiu Huafeng: バグの検出における人工知能の応用

2019年10月26日、Testinが主催する第2回NCTS中国クラウドテスト業界サミットが北京で開...