基本名词解释
变量 | 意义 |
---|---|
m | 样本个数 |
x | 输入数据 |
y | 理论输出结果 |
(x,y) | 一个样本 |
( x i , y i ) (x^i ,y^i) (xi,yi) | 第i个样本 |
机器学习的基本模型
找到一个函数模型,使输入数据通过这个模型更加贴近输出结果(?)
示例:线性回归
题目背景
现有某一区域的房价数据集(房间面积和对应售价),让机器测算出某一面积的房价对应的售价是多少?
使用线性回归方程
根据样本点的分布情况,我们认为可以近似用一个线性回归方程归纳样本规律
hypothesis
这个玩意拼的对不对咱也不知道,咱也不敢问,中文意思就更别提了。
h
θ
(
x
)
=
θ
0
+
θ
1
x
h_\theta(x)=\theta_0+\theta_1x
hθ(x)=θ0+θ1x
其中
θ
0
\theta_0
θ0和
θ
1
\theta_1
θ1是机器要去学习和寻找改变的参数。
代价函数
评估hypothesis的好坏使用的是代价函数,代价即输入数据通过hypothesis产生的结果与理想结果之间的差距,在本例中我们使用平方误差代价函数
J
(
θ
0
,
θ
1
)
=
1
2
m
∑
i
=
1
m
(
h
θ
(
x
i
)
−
y
i
)
2
J(\theta_0,\theta_1)=\frac{1}{2m}\sum_{i=1}^{m} {(h_\theta(x^i)-y^i)^2}
J(θ0,θ1)=2m1i=1∑m(hθ(xi)−yi)2
我们的目标就是找到适合的
θ
0
\theta_0
θ0和
θ
1
\theta_1
θ1使代价函数最小。
梯度下降
梯度下降是一种很普通常用的算法其算法核心如下
-
从某一个 θ 0 \theta_0 θ0和 θ 1 \theta_1 θ1开始。
-
同时更改 θ 0 \theta_0 θ0和 θ 1 \theta_1 θ1的值,其更改算法如下。
t e m p 0 = θ 0 − α ∂ ∂ θ 0 J ( θ 0 , θ 1 ) temp_0=\theta_0-\alpha\frac{\partial}{\partial\theta_0}J(\theta_0,\theta_1) temp0=θ0−α∂θ0∂J(θ0,θ1)t e m p 1 = θ 1 − α ∂ ∂ θ 1 J ( θ 0 , θ 1 ) temp_1=\theta_1-\alpha\frac{\partial}{\partial\theta_1}J(\theta_0,\theta_1) temp1=θ1−α∂θ1∂J(θ0,θ1)
θ 0 = t e m p 0 \theta_0=temp_0 θ0=temp0
θ 1 = t e m p 1 \theta_1=temp_1 θ1=temp1
-
重复2,直到 θ 0 \theta_0 θ0和 θ 1 \theta_1 θ1稳定为止。
其中 α \alpha α位学习率(步长),该值如果过小,学习速度变慢;如果过大则学习可能无法收敛。