pythonを使って約50個のフィーチャを持つ9つのサンプルのデータセットに対して線形回帰法を適用しようとしています。私は、線形回帰、すなわち閉形式OLS(普通最小二乗)、LR(線形回帰)、HR(Huber回帰)、NNLS(非負最小二乗)のための異なる方法論を試み、それらのそれぞれが異なる重みを与える。線形回帰vsクローズドフォームPythonの普通の最小二乗
しかし、私は、HRとNNLSが異なる解を持っているという直感を得ることができますが、LRとクローズドフォームOLSは、与えられたサンプルの観測値と予測された値の差の二乗の和を最小にする同じ目的関数を持っています。一連の特徴の線形関数である。トレーニングセットは特異なので、私はClosed form OLSを実行するためにpseudoinverseを使用しなければなりませんでした。 LRについて
w = np.dot(train_features.T, train_features)
w1 = np.dot(np.linalg.pinv(w), np.dot(train_features.T,train_target))
iがscikit学習線形回帰が
linear_model.LinearRegression()
線形方程式のシステムまたは多項方程式のシステムは劣決定と呼ばれる最小二乗問題を解決するためにwww.netlib.orgからLAPACKライブラリを使用を使用しています利用可能な方程式の数が未知のパラメータより少ない場合。未知の各パラメータは、利用可能な自由度としてカウントすることができます。提示された各方程式は、1つの自由度を制限する制約として適用することができます。その結果、過小決定されたシステムは、無限に多くの解を有するか、全く解を持たない。我々のケーススタディでは、システムが未決定であり、また特異であるので、多くの解決策が存在する。
ここで、疑似反復とLapackの両方のライブラリは、標本の数がフィーチャの数より少ない場合、不足システムの最小ノルム解を見つけようとします。なぜ閉じた形とLRが同じ線形方程式系の完全に異なる解を与えるのか?私はここで何かを逃しているので、両方の方法の振る舞いを説明することができます。もしPudoinverseがSVD、QR/LQ分解のように異なる方法で計算された場合、それらは同じ方程式の組に対して異なる解を生み出すことができるのですか?
どうもありがとう、私は正規方程式も同じになりますその重みベクトルにおける1 $ W_o $またはバイアス値を持っていることを考えていました線形回帰におけるインターセプト値としての値。私はその素朴な質問を知っていますが、fit_interceptを使うべきかどうかは分かりません。 2つの場合、重みは非常に異なります。私は係数を解釈しようとしています。私はソースで、係数はスケールされているが、目的は何か? –
インターセプトはモデル機能を増やしているだけで、通常は良いアイデアです。スケーリングの意味がわかりません。正規化はデフォルトではオフになっていますが、正規化はほぼすべてのMLアルゴリズム、特に線形回帰で最も重要なことの1つです。それは基本的なMLのものであり、すべてのコースでそのことが説明されます。 – sascha