Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:勾配降下法による直線の当てはめ | 数理解析
Pythonによるデータサイエンスのための数学

ある学生が、勾配降下法を用いて、経験年数と給与(千単位)のデータセットに直線を当てはめようとしています。 目標は、傾き(mm)と切片(bb)を反復的に更新することで、最適な直線を見つけることです。

損失関数を最小化する必要があります:

1n∑i=1n(yi−(mxi+b))2\frac{1}{n}\sum^n_{i=1}(y_i - (mx_i + b))^2

勾配降下法の更新則は次の通りです:

m←m−α∂J∂mb←b−α∂J∂bm \larr m - \alpha \frac{\partial J}{\partial m} \\[6 pt] b \larr b - \alpha \frac{\partial J}{\partial b}

ここで:

  • α\alpha は学習率(ステップサイズ)です;
  • ∂J∂m\frac{\raisebox{1pt}{$\partial J$}}{\raisebox{-1pt}{$\partial m$}} は損失関数を mm で偏微分したものです;
  • ∂J∂b\frac{\raisebox{1pt}{$\partial J$}}{\raisebox{-1pt}{$\partial b$}} は損失関数を bb で偏微分したものです。

あなたの課題:

  1. 下記のPythonコードを完成させ、勾配降下法のステップを実装してください。
  2. 基本的なPython演算を用いて、欠落している式を埋めてください。
  3. アルゴリズムの実行中に m と b の変化を追跡してください。
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3. 章 11
single

single

チャレンジ:勾配降下法による直線の当てはめ

メニューを表示するにはスワイプしてください

タスク

スワイプしてコーディングを開始

ある学生が、勾配降下法を用いて、経験年数と給与(千単位)のデータセットに直線を当てはめようとしています。 目標は、傾き(mm)と切片(bb)を反復的に更新することで、最適な直線を見つけることです。

損失関数を最小化する必要があります:

1n∑i=1n(yi−(mxi+b))2\frac{1}{n}\sum^n_{i=1}(y_i - (mx_i + b))^2

勾配降下法の更新則は次の通りです:

m←m−α∂J∂mb←b−α∂J∂bm \larr m - \alpha \frac{\partial J}{\partial m} \\[6 pt] b \larr b - \alpha \frac{\partial J}{\partial b}

ここで:

  • α\alpha は学習率(ステップサイズ)です;
  • ∂J∂m\frac{\raisebox{1pt}{$\partial J$}}{\raisebox{-1pt}{$\partial m$}} は損失関数を mm で偏微分したものです;
  • ∂J∂b\frac{\raisebox{1pt}{$\partial J$}}{\raisebox{-1pt}{$\partial b$}} は損失関数を bb で偏微分したものです。

あなたの課題:

  1. 下記のPythonコードを完成させ、勾配降下法のステップを実装してください。
  2. 基本的なPython演算を用いて、欠落している式を埋めてください。
  3. アルゴリズムの実行中に m と b の変化を追跡してください。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3. 章 11
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt