一つの変数を持つライナー回帰
モデル表現モデル表現
教師付き学習は、教師あり学習
データの各例えば、「正しい答え」を考える。各データは、我々は「正しい答え」を与えられています
回帰回帰問題
実数値の出力を予測する。私たちは、過去のデータに基づいて正確な出力値を予測します。
セットトレーニングセットトレーニング
表記:一般的な表記法
- M個の訓練サンプルトレーニングの=数例
- X =「入力」変数/入力変数機能/特性値
- Y =「出力」変数/「ターゲット」可変出力変数/目的変数
- (X、Y) =訓練サンプル例1研修
- (\(X ^ I、Y ^ I \) ) = \(TH} {I_ \)トレーニング例i番目の学習サンプル
仮説仮説(機能)
Training set
- >Learning Algorithm
- >h
データセットは、「こんにちは」学習アルゴリズムに、学習アルゴリズムは、出力の関数です。x
- >h
- >y
からAマップ(X APOS \)\に\(Y APOS \) XからYへのマッピング関数であります..私たちはどのように表現しますか
h
?\(H _ {\シータ}(X)= \ theta_0 + \ theta_1 \倍X \) 。
夏らしいです
X yの線形関数について予測:役割と機能のデータセット
コスト関数コスト関数
どのように我々のデータと最も可能性の高い直線フィット
考え
選択\(\ theta_0 \ theta_1 \)よう\(H _ {\シータ}(x)は\)近くにある(Y \)\我々のトレーニング例のための(\(X、Y \) )。
二乗誤差関数
\(J(\ theta_0、\ theta_1)= \ FRAC {1} {2メートル} \ sum_ {I = 1} ^ M(H _ {\シータ}(X ^ I) - Y ^ I)^ 2 \)
目標:検索する(\ theta_1 \、\ theta_0 \ ) ように\(J(\ theta_0、\ theta_1)\) 最小。前記\(J(\ theta_0、\ theta_1)\) と呼ばれるコスト関数
コスト関数勘
レビュー
- 仮説:\(H _ {\シータ}(X)= \ theta_0 + \ theta_1 \倍X \)
- パラメータ:\(\ theta_0、\ theta_1 \)
- コスト関数:\(J(\ theta_0、\ theta_1)= \ FRAC {1} {2メートル} \ sum_ {I = 1} ^ M(H _ {\シータ}(X ^ I) - Y ^ I)^ 2 \ )
- 目標:見つける(\ theta_0、\ theta_1 \)\最小限に抑えるために\(Jを(\ theta_0、\ theta_1)\)
簡体
\(\ theta_0 = 0 \ RIGHTARROW H _ {\シータ}(X)= \ theta_1x \)
\(J(\ theta_1)= \ FRAC {1} {2メートル} \ sum_ {I = 1} ^ M(H _ {\シータ}(X ^ I) - Y ^ I)^ 2 \)
目標:見つける\(\ theta_1 \)を最小限に抑えるために(\ Jを(\ theta_1))\
例:サンプル点の前記(1,1)、(2,2)、グラフ(3,3)とコスト関数は、想定さの関数であります
勾配降下勾配降下
バックグラウンド
持っているいくつかの機能を\(J(\ theta_0、\ theta_1、\ theta_2、\ ldots、\ theta_n)\)
欲しい見つける(\ theta_0、\ theta_1、\ theta_2、\ ldots、\ theta_n \)\最小限に抑えるために\(J(\ theta_0、\ theta_1、\ theta_2、\ ldots、\ theta_n)\)を
簡素化 - > \(\ theta_1、\ theta_2 \)
概要
- いくつかのスタートと\(\ theta_0、\ theta_1 \) (\(\ theta_0 = 0、\ theta_1 = 0 \) 。初期化)
- キープ変更\(\ theta_0、\ theta_1 \)を減らすために(\ J(\ theta_0、\ theta_1))\うまくいけばWE A最小終わりまでまで。あなたは局所最適解を見つけるまで、常に異なった視点から(、最適な解決策を探して得られた最終結果/出発向き)が変化してもよいです。
勾配降下アルゴリズム
収束するまで繰り返し{
\(\ theta_j:= \ theta_j - \アルファ\ FRAC {\部分} {\部分\ theta_j} J(\ theta_0、\ theta_1)\) (のための\(J = 0 \)と\(J = 1 \ ))
}
变量含义:\(\alpha\): learning rate 学习速率(控制我们以多大的幅度更新这个参数\(\theta_j\) )
Correct: Simultaneous update 正确实现同时更新的方法
\(temp0 := \theta_0 - \alpha\frac{\partial}{\partial\theta_j}J(\theta_0, \theta_1)\)
\(temp1 := \theta_1 - \alpha\frac{\partial}{\partial\theta_j}J(\theta_0, \theta_1)\)
\(\theta_0 := temp0\)
\(\theta_1 := temp1\)
Incorrect: 没有实现同步更新
\(temp0 := \theta_0 - \alpha\frac{\partial}{\partial\theta_j}J(\theta_0, \theta_1)\)
\(\theta_0 := temp0\)
\(temp1 := \theta_1 - \alpha\frac{\partial}{\partial\theta_j}J(\theta_0, \theta_1)\)
\(\theta_1 := temp1\)
Gradient descent intuition
导数项的意义
- 当\(\alpha\frac{\partial}{\partial\theta_j}J(\theta_0, \theta_1) > 0\) (即函数处于递增状态)时,\(\because \alpha > 0\),\(\therefore \theta_1 := \theta_1 - \alpha\frac{\partial}{\partial\theta_j}J(\theta_0, \theta_1) < 0\),即向最低点处移动。
- 当\(\alpha\frac{\partial}{\partial\theta_j}J(\theta_0, \theta_1) < 0\) (即函数处于递减状态)时,\(\because \alpha > 0\),\(\therefore \theta_1 := \theta_1 - \alpha\frac{\partial}{\partial\theta_j}J(\theta_0, \theta_1) > 0\),即向最低点处移动。
学习速率\(\alpha\)
- If \(\alpha\) is too small, gradient descent can be slow. \(\alpha\)太小,会使梯度下降的太慢。
- If \(\alpha\) is too large, gradient descent can overshoot the minimum. It may fail to converge, or even diverge. \(\alpha\)太大,梯度下降法可能会越过最低点,甚至可能无法收敛。
思考
假设你将\(\theta_1\)初始化在局部最低点,而这条线的斜率将等于0,因此导数项等于0,梯度下降更新的过程中就会有\(\theta_1 = \theta_1\)。
Gradient descent can converge to a local minimum, even with the learning rate \(\alpha\) fixed. 即使学习速率\(\alpha\)固定不变,梯度下降也可以达到局部最小值。
As we approach a local minimum, gradient descent will automatically take smaller steps. So, no need to decrease \(\alpha\) over time. 在我们接近局部最小值时,梯度下降将会自动更换为更小的步子,因此我们没必要随着时间的推移而更改\(\alpha\)的值。(因为斜率在变)
Gradient descent for linear regression 梯度下降在线性回归中的应用
化简公式
$\frac{\partial}{\partial\theta_j}J(\theta_0, \theta_1) = \frac{\partial}{\partial\theta_j} \frac{1}{2m} \sum_{i = 1}^m(h_\theta(x^i) - y^i)^2 = \frac{\partial}{\partial\theta_j} \frac{1}{2m} \sum_{i = 0}^m(\theta_0 + \theta_1x^i - y^i)^2 $
分别对\(\theta_0,\theta_1\)求偏导
- \(J = 0 \):$ \ FRAC {\部分} {\部分\ theta_0} J(\ theta_0、\ theta_1)= \ FRAC {1} {M} \ sum_ {I = 1} ^ M(H_ { \シータ}(X ^ I) - Y ^ i)は$
- \(J = 1 \):$ \ FRAC {\部分} {\部分\ theta_1} J(\ theta_0、\ theta_1)= \ FRAC {1} {M} \ sum_ {I = 1} ^ M(H_ { \シータ}(X ^ I) - Y ^ I)\回のx ^ I $
勾配降下アルゴリズム勾配降下の先頭に戻る結果
収束するまで繰り返し{
$ \ theta_0:= \ theta_0 - \アルファ\ FRAC {1} {M} \ sum_ {I = 1} ^ M(H _ {\シータ}(X ^ I) - Y ^ I)$
$ \ theta_1:= \ theta_1 - \アルファ\ FRAC {1} {M} \ sum_ {I = 1} ^ M(H _ {\シータ}(X ^ I) - Y ^ I)\倍X ^ I $
}
「バッチ」勾配降下バッチ勾配降下
「バッチ」は:勾配降下の各ステップは、各反復ステップの全トレーニング例を使用して、すべてのデータは、訓練セットに使用されます。