正規方程式(正規方程式)
- 正規方程式は、コスト関数を最小化するパラメータを検索するには、次の方程式を解くことによって得られます。
\ [\ FRAC {\部分} {\部分\ theta_j} J \左(\シータ\右)= 0 \]
- 我々は、トレーニングセット特徴マトリックスを仮定する\(X- \) (含まれて\(X_0 = 1 \)。 )およびベクターとしてのトレーニングセット結果\(Y \) 、次いで、正規方程式は、ベクトルについて解く使用:
\ [\シータ= {{\左({X ^ T} X \右)} ^ { - 1}}、{X ^ T} Y \] - より正式な式勾配降下:
- 勾配降下:学習率を選択する必要が\(\アルファは\) ;複数の反復を必要とし、n個の特徴の数は、好ましくは、モデルのすべてのタイプのために適用することができたときに大きいです。
- 正規方程式:学習率の必要性は選択しない(\ \アルファ\) ;、一つの操作を描画することができない反復(\シータ\)\最適解;計算する必要が\({\左({X ^ T} X \右)} ^ { - } 1 \) ;逆行列計算時間複雑であるため、コスト計算が大きい場合の数nが大きい特徴(O(N ^ 3)\ \)、Nは典型的には10000以上であります、唯一の線形モデルに許容適用されたときに、ロジスティック回帰モデルは他のモデルには適していません。
プログラミング
でプログラミング動作1.1:単変量線形回帰認識に基づいて:
# 正规方程
def normalEqn(X, y):
theta = np.linalg.inv(X.T@X)@X.T@y #X.T@X等价于X.T.dot(X);np.linalg.inv():矩阵求逆
return theta
final_theta2=normalEqn(X, y)#感觉和批量梯度下降的theta的值有点差距
final_theta2
勾配降下アルゴリズム、我々出力実行する前に完了した後、\(\シータ\)値を次のように:
二つの方法に見られるように決定され(\シータ\)\値が実質的に類似しています。