始める無料で始める

損失関数を最小化する

この演習では、scipy.optimize.minimize を使って、線形回帰を「一から」実装します。

Boston の住宅価格データセットでモデルを学習します。データはすでに変数 Xy に読み込まれています。簡単のため、今回の回帰モデルには切片を含めません。

この演習はコースの一部です

Python で学ぶ線形分類器

コースを見る

演習の手順

  • 最小二乗線形回帰の損失関数を記入してください。
  • sklearn の LinearRegression を当てはめて得られる係数を出力してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# The squared error, summed over training examples
def my_loss(w):
    s = 0
    for i in range(y.size):
        # Get the true and predicted target values for example 'i'
        y_i_true = y[i]
        y_i_pred = w@X[i]
        s = s + (____)**2
    return s

# Returns the w that makes my_loss(w) smallest
w_fit = minimize(my_loss, X[0]).x
print(w_fit)

# Compare with scikit-learn's LinearRegression coefficients
lr = LinearRegression(fit_intercept=False).fit(X,y)
print(____)
コードを編集して実行