web-dev-qa-db-ja.com

線形回帰のコスト関数を理解できません

次の方程式、特に1/(2m)は本当に理解できません。

この方程式の目的は何ですか?そして1/(2m)はどこから来たのですか?

J(theta_0, theta_1) = 1/(2m) * sum_(i=1)^m [ h_theta(x^i) - y^i ]^2

説明してください。それはどのようにキャストしますか?

26
Faheem

コスト関数は

_J(theta_0, theta_1) = 1/(2m) * sum_(i=1)^m [ h_theta(x^i) - y^i ]^2
_

h_theta(x^i)は、_x^i_のモデル出力を示しているため、h_theta(x^i) - y^iはそのエラーです(_y^i_が正しい出力であると想定)。

次に、このエラーの二乗[ h_theta(x^i) - y^i ]^2(このエラーは正と負の両方になる可能性があるため、符号を削除します)を計算し、すべてのサンプルで合計し、何らかの方法でバインドして、正規化します。 mで除算すると、mean(サンプル数で分割するため)squared(平方するため)error (エラーを計算するため):

_1/m * sum_(i=1)^m [ h_theta(x^i) - y^i ]^2
_

前面に表示されるこの_2_が使用されます導関数の簡略化のみ、それを最小化しようとすると、導関数に基づく最急降下法が使用されるためこの関数の。 _a^2_の派生物は_2a_であり、関数は何かの二乗なので、この_2_はキャンセルされます。これがその存在の唯一の理由です。

79
lejlot

エラーをデータポイント全体に均等に分散するモデルを構築する必要があるため、error = 0の合計とerrors = 0の平均。また、誤差が最小のモデルを構築する必要があります。これは、平均二乗誤差を最小化することと同じです。

0
user9789322