機械学習(機械学習) - アンドリュー・ウ(アンドリュー・ウ)研究ノート(B)

一つの変数を持つライナー回帰

モデル表現モデル表現

教師付き学習は、教師あり学習

データの各例えば、「正しい答え」を考える。各データは、我々は「正しい答え」を与えられています

回帰回帰問題

実数値の出力を予測する。私たちは、過去のデータに基づいて正確な出力値を予測します。

セットトレーニングセットトレーニング

表記:一般的な表記法

  1. M個の訓練サンプルトレーニングの=数例
  2. X =「入力」変数/入力変数機能/特性値
  3. Y =「出力」変数/「ターゲット」可変出力変数/目的変数
  4. (X、Y) =訓練サンプル例1研修
  5. \(X ^ I、Y ^ I \) = \(TH} {I_ \)トレーニング例i番目の学習サンプル

仮説仮説(機能

  1. Training set- > Learning Algorithm- > hデータセットは、「こんにちは」学習アルゴリズムに、学習アルゴリズムは、出力の関数です。

  2. x- > h- > yからAマップ(X APOS \)\\(Y APOS \) XからYへのマッピング関数であります..

  3. 私たちはどのように表現しますか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)\) と呼ばれるコスト関数

コスト関数勘

レビュー

  1. 仮説:\(H _ {\シータ}(X)= \ theta_0 + \ theta_1 \倍X \)
  2. パラメータ:\(\ theta_0、\ theta_1 \)
  3. コスト関数:\(J(\ theta_0、\ theta_1)= \ FRAC {1} {2メートル} \ sum_ {I = 1} ^ M(H _ {\シータ}(X ^ I) - Y ^ I)^ 2 \ )
  4. 目標:見つける(\ 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 \)

概要

  1. いくつかのスタートと\(\ theta_0、\ theta_1 \) \(\ theta_0 = 0、\ theta_1 = 0 \) 初期化)
  2. キープ変更\(\ theta_0、\ theta_1 \)を減らすために(\ J(\ theta_0、\ theta_1))\うまくいけばWE A最小終わりまでまで。あなたは局所最適解を見つけるまで、常に異なった視点から(、最適な解決策を探して得られた最終結果/出発向き)が変化してもよいです。

写真2

勾配降下アルゴリズム

  1. 収束するまで繰り返し{

    \(\ theta_j:= \ theta_j - \アルファ\ FRAC {\部分} {\部分\ theta_j} J(\ theta_0、\ theta_1)\) のための\(J = 0 \)\(J = 1 \ )

    }

    变量含义:\(\alpha\): learning rate 学习速率(控制我们以多大的幅度更新这个参数\(\theta_j\)

  2. 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\)

  3. 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

导数项的意义

  1. \(\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\),即向最低点处移动。
  2. \(\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\)

  1. If \(\alpha\) is too small, gradient descent can be slow. \(\alpha\)太小,会使梯度下降的太慢。
  2. If \(\alpha\) is too large, gradient descent can overshoot the minimum. It may fail to converge, or even diverge. \(\alpha\)太大,梯度下降法可能会越过最低点,甚至可能无法收敛。

思考

  1. 假设你将\(\theta_1\)初始化在局部最低点,而这条线的斜率将等于0,因此导数项等于0,梯度下降更新的过程中就会有\(\theta_1 = \theta_1\)

  2. 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\)求偏导

  1. \(J = 0 \):$ \ FRAC {\部分} {\部分\ theta_0} J(\ theta_0、\ theta_1)= \ FRAC {1} {M} \ sum_ {I = 1} ^ M(H_ { \シータ}(X ^ I) - Y ^ i)は$
  2. \(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 $

}

「バッチ」勾配降下バッチ勾配降下

「バッチ」は:勾配降下の各ステップは、各反復ステップの全トレーニング例を使用して、すべてのデータは、訓練セットに使用されます。

おすすめ

転載: www.cnblogs.com/songjy11611/p/12173201.html