机器学习笔记(更新中)


1.1监督学习:数据集中包含大量的数据,但每一个数据都有确定的标签。比如:1.肿瘤数据:良性还是恶性 2.卖房子已知很多房子的数据并且知道最后买了多少钱。

基于这些数据对新的数据进行预测,比如归回问题:即通过回归来推出一个连续的输出;分类问题:其目标是推出一组离散的结果。肿瘤可以看成分类问题,预测房子的价格可以看成回归问题。

1.2无监督学习:大量的数据,但是没有一个明确的标签,只是有一堆数据而已。通过算法让机器自己根据这些数据的特点进行分类并根据分类对数据进行划分。

比如:大量新闻报道中,把对同事件的报道归为一类。鸡尾酒会问题:多个麦克风同时录制多种声音,最终分类消除杂音。

2.1线性回归模型:x-输入变量(例如房子的面积);y-输出变量(例如房子的成交价格);m-训练集中数据的数量;(x,y)一个训练集中的实例;(x(i),y(i))第i个训练实例;h代表学习算法的解决方案或函数也称为假设。

 2.2代价函数J:也被称为平方误差函数,是解决回归问题最常用的手段。

??(??0, ??1) = 1/2m ∑m??=1(???(??(??)) ? ??(??))2 ;拟合效果越好,J的值接近0。    

 图例

可以看出在三维空间中存在一个使??(??0, ??1)最小的点。

2.3 梯度下降:用来求代价函数??(??0, ??1)的最小值,也叫批量梯度下降batch gradient descent 

计算公式:

其中α是学习率(learning rate)相当于步长;要注意在梯下降中要保证??0,??1同步更新。

 

 3.1 多变量线性回归及其多变量梯度下降

在多变量线性回归中,如果有n个特征,例如房子楼层数,卧室数,楼房年龄等,x=(x0,x1,....xn)是n+1维向量,其中x0=1,x1到xn是n个特征。

多变量线性回归中的代价函数:

 其中

 多变量线性回归的批量梯度下降算法为:

 即:

 求导后:

 其中x0(i)=1

最开始初始化参数值,计算所有的预测结果后,再给所有的参数一个新的值,如此循环直到收敛。

 3.2 特征缩放:

面对多维特征问题的时候,保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛。

一般化公式:,μn是xn的平均值,sn是标准差,可以用范围的最大值减最小值代替。

一般(-3,3)以内(-1/3,1/3)以外是可接受范围。

3.3 学习率α的影响和选取

经验之谈:绘制迭代次数和代价函数的图表来观察算法在何时趋于收敛要好于设置阈值ε自动测试是否收敛,因为很难选取到合适的阈值ε。

梯度下降算法的每次迭代受到学习率的影响,如果学习率过小,则达到收敛所需的迭代次数会非常高;如果学习率过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。

通常可以考虑尝试些学习率:

α=0.01,0.03,0.1,0.3,1,3,10...