batch梯度下降算法
假设有训练数据
这是42个房屋的数据,包括房子大小以及房屋价格
我们的假设满足数据的函数是这样的线性函数Hypothesis:
h
θ
(
x
)
=
θ
0
+
θ
1
x
h\theta(x)=\theta0+\theta1x
hθ(x)=θ0+θ1x
θ
i
:
模
型
参
数
\theta i:模型参数
θi:模型参数
θ
取
不
同
的
值
有
不
同
的
模
型
\theta取不同的值有不同的模型
θ取不同的值有不同的模型
我们因该选取最佳的
θ
\theta
θlike this尽量拟合数据:
为了求出最适合的
θ
\theta
θ我定义一个代价函数
J
(
θ
0
,
θ
1
)
=
1
2
m
∑
i
=
0
M
(
h
θ
(
x
i
)
−
y
i
)
2
J(\theta0 , \theta1)=\frac{1}{2m} \sum _{i=0}^{M}(h_{\theta}(x^{i})-y^{i})^{2}
J(θ0,θ1)=2m1∑i=0M(hθ(xi)−yi)2
minimize
J
(
θ
0
,
θ
1
)
J(\theta0 , \theta1)
J(θ0,θ1)
我们将使用梯度下降算法minimize
J
(
θ
0
,
θ
1
)
J(\theta0 , \theta1)
J(θ0,θ1),以及得到相应的
θ
\theta
θ
这是梯度下降算法的工作图,我们随机挑选一个点,不断改变
θ
\theta
θ,使代价函数最小化或局部最小
这是初始点
工作过程
或初始化令一个随机点like this
这样我们就得到了最小化代价函数的
θ
\theta
θ
这是其背后的数学公式:
Θ
j
:
=
Θ
j
−
α
∂
J
(
θ
0
,
θ
1
)
∂
Θ
j
\Theta _{j}:=\Theta _{j}-\alpha \frac{\partial J(\theta0 , \theta1)}{\partial \Theta _{j}}
Θj:=Θj−α∂Θj∂J(θ0,θ1)(这里j=0或1)
不断的重复更新
θ
\theta
θlike this这是带进去之后的结果