概念:
脉络:统计概率 ->机器学习 -> 数据挖掘 / 模式识别 / NLP
机器学习是研究如何让计算机具有自我学习能力的学科;
Tom Mitchell把它描述为:假设任务(task)为T, 效果衡量指标为(performance measure)P,先验知识(experience)为E;那么ML就是从E学习,作用到T,并通过P来衡量效果;
机器学习分类:
有监督:先学习标注样本E,再作用到T上,标注值也就是output离散的是分类问题,连续的为回归问题;
无监督:无标注,不学习,聚类;
比如,有数据
<房屋尺寸、房屋价格(连续值)、房屋评价(离散值- good or bad)>,
根据房屋尺寸预测房屋价格:有监督的回归问题;
根据房屋尺寸和房屋价格预测房屋的评价:有监督的分类问题;
根据房屋尺寸、房屋价格、房屋评价,看哪些房子比较类似:无监督问题;
线性回归:
Task:根据房屋尺寸预测房屋价格的回归,定义:
m:训练(标注好)的样本个数
x:输入-尺寸,称之为特征;
y:输出-价格,称之为目标、标注结果
hypothesis: 假设(函数),即从x到y的映射;
既然是一元(就一个特征:尺寸)线性,自然会先设:
接下来的问题就是怎么选择参数
了;因为假设是
,实际是y,那最优的
就使得假设与实际最接近,也就是
和y距离最接近,这里的距离称为是代价函数(cost function),如下:
其中:
正负误差;1/2m为后续求解求导方便;
那么使得代价函数最小的即为所求,就完事了;
在计算
之前,我们总结一下模型的4个方面:
1. Hypothesis:假设(输入到输出的映射)
2. Paramters:参数:
,
3. Cost Function:代价函数:
4. Goal:目标
Minimize
求解方法-梯度下降:
以x-y为例,如下图,找G1为所求的最低点,Si为第i步,那下一步我们应该往上还是往下咧?明显往下,就这样一直往下,就能找到最低点;怎么描述上方呢-梯度,上方是梯度绝对值上升的方向,下方是梯度值下降的方向;
数学表达为:设当前为第i步骤,梯度为D(i), 则,下一步应为:
Si+1 = Si – k*D(i);
上面公式里多了一个k,定位为逼近步长/速度,k越小,需要的迭代的次数就越多,如蓝线部分;k越大,就会出现震荡,如红线部分;另外,我们无需动态调整K来让步长和梯度成同步变化,也就对于梯度值大的步长设置大一些,梯度小的步长短一些,如绿色线,因为梯度的变化会反映到D上;
另外,从上上图中可以看出,梯度下降是局部最优,比如起始点在S’i,那找到G2就停止了;
扩展到二维上也是这样,下面是
的平面图,x、y分别是
,z是J(
),代价函数,梯度是对x,y求导;
算法描述为:
// 梯度下降算法
迭代直到收敛 {
(i= 0, 1;)
}
推导如下: