検索

このガイドでは、線形回帰とその仕組みについて説明し、そのプロセスを段階的に説明します。モデルの精度を向上させるための重要なテクニックである特徴スケーリング勾配降下法についても説明します。ビジネス トレンドを分析する場合でも、データ サイエンスに飛び込む場合でも、このガイドは優れた出発点となります。


目次

  • はじめに
  • 教師あり学習を理解する
  • 線形回帰とは何ですか?
  • 単純線形回帰
  • 重線形回帰
  • コスト関数
  • 機能のスケーリング
  • 勾配降下法
  • 単純な線形回帰の勾配降下法
  • 重回帰の勾配降下法

導入

線形回帰は、さまざまな要素間の関係を理解し​​、予測を行うために使用されるシンプルかつ強力なツールです。たとえば、勉強時間がテストのスコアにどのような影響を与えるか、家の大きさや立地に基づいていくらで売れるか、広告を増やせば売上がどのように増加するかなどを知りたいと思うかもしれません。線形回帰を使用すると、学習時間や広告費などのデータ ポイントを調査し、テストのスコアや売上高などの結果を最もよく予測する直線を引くことができます。この手法は多くの分野で価値があり、データに基づいて情報に基づいた意思決定を行うのに役立ちます。

教師あり学習について理解する

線形回帰に入る前に、教師あり学習、つまりラベル付きデータを使用してモデルをトレーニングする機械学習アプローチを理解することが重要です。教師あり学習では、特徴 (入力変数) とそれに対応するラベル (正しい出力) を含むトレーニング サンプルをモデルに提供します。

教師あり学習タスクには主に 2 つのタイプがあります:

  1. 回帰: これは、可能な出力の無限の範囲から連続値を予測します。たとえば、さまざまな特徴に基づいて住宅価格を予測します。
  2. 分類 : これは、可能なカテゴリの限られたセットからクラスまたはカテゴリを予測する回帰とは異なります。たとえば、電子メールがスパムかどうかを判断します。

線形回帰とは何ですか?

線形回帰は、2 種類の変数間の関係を理解するために統計と機械学習で使用される教師あり学習手法です: 独立変数 (結果に影響を与えると考えられる要因) と 従属変数 (予測したい結果)。

目標は、一次方程式を使用して、この関係を表す最適線を見つけることです。 ラベル付きデータ (結果が既知のデータ) を分析することで、線形回帰は、独立変数の変化が従属変数にどのような影響を与えるかを理解するのに役立ちます。

用語

Linear Regression : From Theory to Practice

単純な線形回帰

単純線形回帰は、1 つの従属変数と 1 つの独立変数の間の関係を調べます。データ ポイントに直線を当てはめることによって関係をモデル化することを目的としています。これは次の方程式で表すことができます。

Linear Regression : From Theory to Practice

この式では:

  • y_hat(または f_wb(x)) :予測される結果を表す従属変数。これは、独立変数からの入力に基づいて推定しようとする値です。
  • b : これは回帰直線の切片です。これは、独立変数 x がゼロの場合の従属変数 y の期待値を表します。切片により、回帰直線を垂直方向に調整してデータによりよく適合させることができます。
  • w : 独立変数 x の係数。この係数は、x の 1 単位の変化に対して従属変数 y_hat がどの程度変化するかを示します。正の w は、x が増加すると y_hat も増加することを示し、負の w は逆の関係を示します。
  • x : モデル内で予測子として機能する独立変数。この変数は、y_hat で表される結果を推定するために使用される入力です。

重線形回帰

多重線形回帰は、1 つの従属変数と 2 つ以上の独立変数の間の関係を調べることにより、単純な線形回帰の概念を拡張します。このアプローチにより、より複雑な関係をモデル化し、複数の要因が結果にどのように影響するかを理解できるようになります。

Linear Regression : From Theory to Practice

ここ:

  • n : 特徴量 (独立変数) の総数

コスト関数

損失関数とも呼ばれるコスト関数は、期待 (真) 値とモデルによって生成された予測値の差を定量化します。特定のデータセットでモデルがどの程度うまく機能するかを測定します。単純な線形回帰では、最も一般的に使用されるコスト関数は 平均二乗誤差 です。

Linear Regression : From Theory to Practice

ここ:

  • m はトレーニング例の数です
  • y_hat は予測値です
  • y は実際の値または期待値です

機能のスケーリング

特徴スケーリングは、特に線形回帰、ロジスティック回帰、サポート ベクター マシンなどの距離計算や勾配降下最適化に依存するアルゴリズムを使用する場合、データの前処理における重要なステップです。特徴スケーリングの目的は、データ内の独立変数または特徴の範囲を標準化し、それらがモデルの学習プロセスに均等に寄与するようにすることです。

特徴スケーリングの一般的な手法

平均正規化

平均正規化には、平均がゼロになるように特徴の値を調整することが含まれます。

Linear Regression : From Theory to Practice

特徴

  • データの範囲は約 [−1,1] またはそれに近い範囲です。
  • 外れ値に敏感で、平均を歪め、正規化に影響を与える可能性があります。

使用例

  • 線形回帰 : トレーニング中の収束の向上に役立ちます。
  • 勾配ベースのアルゴリズム : ニューラル ネットワークやその他の勾配ベースのアルゴリズムは、多くの場合、データがゼロを中心にするとより速く収束します。
  • 重大な外れ値のないデータセット : 範囲が類似し、極端な外れ値がないデータセットに特に効果的です。

最小-最大スケーリング

Min-Max スケーリングは、特徴を固定範囲 (通常は [0,1] または [−1,1]) に再スケーリングするために使用される手法です。

Linear Regression : From Theory to Practice

特徴

  • 固定範囲 : データを特定の範囲 (通常は [0,1]) にスケールします。
  • 外れ値に対する感度 : 外れ値の影響を大きく受ける可能性があり、他の値のスケーリングが歪む可能性があります。

使用例

  • 画像処理 : 畳み込みニューラル ネットワーク (CNN) などの深層学習モデルで一般的に使用され、ピクセル値は [0,1] にスケールされます。
  • 距離ベースのアルゴリズム : すべての特徴からの均等な寄与を確保するために、k 最近傍 (KNN)、k 平均法クラスタリング、サポート ベクター マシン (SVM) などの距離計算に依存するアルゴリズムに不可欠です。 .
  • ツリーベースのモデル : ツリーベースのモデル (デシジョン ツリーやランダム フォレストなど) は他のアルゴリズムに比べて重要ではありませんが、特徴のスケールが大きく異なるシナリオでは依然として役立ちます。

Z スコアの標準化

Z スコアの標準化 (標準スケーリングとも呼ばれます) は、平均が 0、標準偏差が 1 になるように特徴を変換します。この手法は、正規分布データを前提とするアルゴリズムに特に役立ちます。

Linear Regression : From Theory to Practice

ここ:

  • sigma は特徴量の標準偏差です。

特徴

  • 平均中心 : データをゼロに中心とします。
  • 単位分散 : 標準偏差が 1 であることを保証します。
  • 外れ値に対する堅牢性 : Min-Max スケーリングと比較して堅牢ですが、それでも極端な外れ値に対して敏感です。

使用例

  • ニューラル ネットワーク : トレーニング中のパフォーマンスを向上させ、収束を高速化します。
  • 主成分分析 (PCA) および 線形判別分析 (LDA) : すべての特徴が均等に寄与することを保証するために、これらの手法に必要です。
  • ガウス単純ベイズ: 入力特徴を正規化することで分類パフォーマンスを向上させます。

堅牢なスケーリング

ロバスト スケーリングは、中央値と四分位範囲 (IQR) に基づいて特徴をスケーリングするために使用される手法です。この方法は、スケーリングされた値に対するこれらの外れ値の影響を軽減するため、重大な外れ値を持つデータセットに特に役立ちます。

Linear Regression : From Theory to Practice

ここ:

  • IQR(x) は特徴の四分位範囲であり、トレーニング セットの 75 パーセンタイルと 25 パーセンタイルの差として定義されます

特徴

  • 中央値中心 : データを平均値ではなく中央値を中心にして中央に配置し、外れ値に対する耐性を高めます。
  • 四分位範囲 (IQR) : トレーニング データの 75 パーセンタイル (Q3) と 25 パーセンタイル (Q1) の差である IQR を使用してデータをスケーリングします。これは、ディストリビューションの堅牢性を維持するのに役立ちます。

使用例

  • 外れ値のあるデータ : 外れ値が存在するシナリオで効果的です。
  • 金融: 極端な値が含まれる可能性のある金融データセットで役立ちます。
  • 環境データ : 測定値が大きく異なる可能性がある環境データセットによく適用されます。

勾配降下法

勾配降下法は、線形回帰を含む機械学習モデルのトレーニングに使用される強力な最適化アルゴリズムです。その主な目標は、期待値と予測値の間の誤差を最小限に抑えることです。

最初、コスト関数の傾きは開始 (任意の) 点で急になる可能性があります。アルゴリズムが反復してパラメーターを更新すると、傾きは徐々に減少し、収束点または極小値 として知られるコスト関数の最低点にモデルを導きます。この収束点では、コスト関数が最小値に達し、モデルの予測が実際の値に可能な限り近いことを示します。パラメーターがこの点に達すると、さらなる更新により予測への変更は最小限に抑えられ、最適化プロセスがデータに最適なパラメーターを効果的に特定したことが実証されます。

このプロセスには次の主要な手順が含まれます:

  1. 初期化 : モデル パラメーター (切片 b や係数 w など) のランダムな値から開始します。
  2. 勾配の計算 : モデル パラメーターに関するコスト関数の勾配を計算します。この勾配は、コスト関数の変化の方向と速度を表します。
  3. パラメータの更新 : 誤差を減らすために、勾配の反対方向にモデル パラメータを調整します。更新ルールは次のように指定されます:
  4. 反復 : コスト関数の変化が最小限になるか、指定された反復回数に達するまでプロセスを繰り返します。

ヒント : 反復 (x 軸) とコスト (y 軸) をプロットします。プロットが滑らかな下降傾向を示している場合は、実装が正しい可能性があります。

Linear Regression : From Theory to Practice

勾配降下の種類

バッチ勾配降下法

  • 利点 : データセット全体を使用するため、安定した正確な勾配の推定値が得られます。凸関数のグローバル最小値に直接収束できます。
  • 欠点 : 反復ごとにすべてのサンプルを処理するため、大規模なデータセットの場合は非常に遅くなる可能性があります。
  • ユースケース : 表形式データの線形回帰やロジスティック回帰など、データセットがメモリに収まるほど小さいシナリオでよく使用されます。

確率的勾配降下法 (SGD)

  • 利点 : 一度に 1 つのサンプルを処理するため、更新が高速になり、より迅速な収束につながります。固有のノイズにより、極小値を回避するのに役立ちます。
  • 短所 : 収束はより不安定で、最小値付近で振動する可能性があり、安定性が低下します。
  • ユースケース : オンライン学習シナリオ、リアルタイム予測、または画像データでのニューラル ネットワークのトレーニングなど、全体としては処理できない大規模なデータセットを扱う場合に一般的に適用されます。

ミニバッチ勾配降下法(MBD)

  • 利点 : バッチと確率的勾配降下法の両方の利点を組み合わせます。これにより、バッチ勾配降下法よりも収束が速くなり、SGD よりも安定した収束が得られます。効率的な計算のためにベクトル化を活用することもできます。
  • 欠点 : ミニバッチのサイズの選択は難しい場合があり、収束速度と安定性に影響を与える可能性があります。
  • ユースケース : 深層学習アプリケーション、特に畳み込みニューラル ネットワーク (CNN) や自然言語処理モデルの画像分類タスクなどの大規模なデータセットでトレーニングする場合によく使用されます。

単線形回帰の勾配降下法

単線形回帰の勾配降下ステップ

  1. 初期化 モデルパラメータの初期値から始めます。これらの値はランダムに選択することも、ゼロに設定することもできます。

Linear Regression : From Theory to Practice

  1. 勾配を計算する モデル パラメーターに関するコスト関数の勾配を計算します。この勾配は、コスト関数の変化の方向と速度を表します。

Linear Regression : From Theory to Practice

Linear Regression : From Theory to Practice

  1. パラメータを更新 誤差を減らすには、勾配の反対方向にモデル パラメーターを調整します。更新ルールは次のように指定されます:

Linear Regression : From Theory to Practice

Linear Regression : From Theory to Practice

ここで:

  • J(w, b) はコスト関数であり、上で使用した平均二乗誤差 (MSE) です。
  • アルファ は学習率であり、0 から 1 までの小さな正の数です。これは、勾配降下法が収束点または極小値に到達するまでの下り坂のステップのサイズを制御します。

ヒント : 小さな学習率 (例: 0.01) から始めて、徐々に学習率を上げていきます。順調にコストが下がれば良いレートです。変動または発散する場合は、学習率を下げます。学習率が大きすぎると、勾配降下法がオーバーシュートし、最小値に到達せず、収束に失敗する可能性があります。

  1. 反復 : コスト関数の変化が最小限になるか、指定された反復回数に達するまでプロセスを繰り返します。

単線形回帰のための勾配降下の Python 実装

単回帰のための勾配降下の Python 実装

重線形回帰の勾配降下法

重線形回帰の勾配降下ステップ

  1. 初期化 各特徴の切片 b と重み w を含む、各パラメーターのランダムな値から始めます。

Linear Regression : From Theory to Practice

  1. 勾配を計算する モデルパラメータに対するコスト関数の勾配を計算します。

Linear Regression : From Theory to Practice

Linear Regression : From Theory to Practice

ベクトル形式

Linear Regression : From Theory to Practice

Linear Regression : From Theory to Practice

ここ:

  • x_subscript_j_superscript_i は、i_ 番目のトレーニング例の j_ 番目の特徴です
  • x_superscript_T はベクトル x
  • の転置です
  1. パラメータを更新 誤差を減らすには、勾配の反対方向にモデル パラメーターを調整します。更新ルールは次のように指定されます:

Linear Regression : From Theory to Practice

  1. 反復 コスト関数の変化が最小限になるか、指定された反復回数に達するまで、このプロセスを繰り返します。

単線形回帰のための勾配降下の Python 実装

単回帰のための勾配降下の Python 実装


結論

おめでとうございます!! ?この投稿では、線形回帰と多重線形回帰の基礎を検討し、勾配降下法を実装するプロセスを一通り説明し、モデルのパフォーマンスを最適化するための特徴スケーリングなどの主要なテクニックについて説明しました。モデル パラメーターの初期化、勾配の計算、重みの反復更新の方法を理解することで、線形回帰アルゴリズムを実装し、実世界のデータセットでのパフォーマンスを向上させるための準備が整いました。

単純な線形回帰を扱う場合でも、複数の機能の複雑さを操作する場合でも、勾配降下法をマスターし、その中心原理を理解することで、正確で効率的な機械学習モデルを開発する能力が大幅に向上します。実験を続け、スキルを磨き、学習プロセスを受け入れてください。それは結果そのものと同じくらい重要です!

機械学習技術と Web 開発トピックについてのさらなる洞察を今後もお楽しみに。よりスマートなモデルの探索と構築を続けながら、楽しく学習してください! ??

LinkedIn でつながりましょう ?

「この記事はもともと Medium に投稿されたもので、データ分析、機械学習、プログラミングに関するさらなる洞察を共有しています。お気軽にチェックして、さらなるコンテンツをご覧になるためにフォローしてください。」

いいね、共有、フォローしてください?

ご質問がございましたら、コメント欄にお気軽にお問い合わせください。お問い合わせには迅速かつ丁寧に対応させていただきます。ご質問は大歓迎で、迅速かつ包括的な回答が得られます。 ❤️

以上が線形回帰 : 理論から実践への詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は?LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は?Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

HTMLを解析するために美しいスープを使用するにはどうすればよいですか?HTMLを解析するために美しいスープを使用するにはどうすればよいですか?Mar 10, 2025 pm 06:54 PM

この記事では、Pythonライブラリである美しいスープを使用してHTMLを解析する方法について説明します。 find()、find_all()、select()、およびget_text()などの一般的な方法は、データ抽出、多様なHTML構造とエラーの処理、および代替案(SEL

TensorflowまたはPytorchで深い学習を実行する方法は?TensorflowまたはPytorchで深い学習を実行する方法は?Mar 10, 2025 pm 06:52 PM

この記事では、深い学習のためにTensorflowとPytorchを比較しています。 関連する手順、データの準備、モデルの構築、トレーニング、評価、展開について詳しく説明しています。 特に計算グラップに関して、フレームワーク間の重要な違い

あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は?あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は?Apr 01, 2025 pm 11:15 PM

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

人気のあるPythonライブラリとその用途は何ですか?人気のあるPythonライブラリとその用途は何ですか?Mar 21, 2025 pm 06:46 PM

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

Pythonでコマンドラインインターフェイス(CLI)を作成する方法は?Pythonでコマンドラインインターフェイス(CLI)を作成する方法は?Mar 10, 2025 pm 06:48 PM

この記事では、コマンドラインインターフェイス(CLI)の構築に関するPython開発者をガイドします。 Typer、Click、Argparseなどのライブラリを使用して、入力/出力の処理を強調し、CLIの使いやすさを改善するためのユーザーフレンドリーな設計パターンを促進することを詳述しています。

Pythonの仮想環境の目的を説明してください。Pythonの仮想環境の目的を説明してください。Mar 19, 2025 pm 02:27 PM

この記事では、Pythonにおける仮想環境の役割について説明し、プロジェクトの依存関係の管理と競合の回避に焦点を当てています。プロジェクト管理の改善と依存関係の問題を減らすための作成、アクティベーション、およびメリットを詳しく説明しています。

正規表現とは何ですか?正規表現とは何ですか?Mar 20, 2025 pm 06:25 PM

正規表現は、プログラミングにおけるパターンマッチングとテキスト操作のための強力なツールであり、さまざまなアプリケーションにわたるテキスト処理の効率を高めます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。