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