目录
一、代价函数(平方代价函数)
pass
二、梯度下降法(迭代式)
1、定义:将代价函数或一般函数最小化的方法
2、特点:不同点开始梯度下降会获得不同的局部最优解
3、公式:
注:其中α是学习率(多大幅度更新θ0和θ1),α越大,梯度下降越快;且θ0和θ1同步更新
3.1详解公式(运行方式)
例如:θ0=0的代价函数为例
- (1) 导数的意义:
上图为正导数,θ1-α*正导数,不断变“小”,向x轴“负”方向移动,不断趋于目标(最小值)
下图为负导数,θ1-α*负导数,不断变“大”,向x轴“正”方向移动,不断趋于目标(最小值)
- (2)α的意义:
注:太小,效率太慢;太大,容易无法收敛或者发散
- (3)达到最小点的标志:
偏导数为0,θ1=θ1-α*0
4、梯度下降法结合代价函数
θ0≠0,θ1≠0;代价函数图是凸函数,没有局部最优解,解只有全局最优。下图梯度变化的过程:
5、矩阵运算的作用
预测运算可以大量打包,用一次的矩阵乘法打包,例子如下:
6、多特征变量(多元线性回归)
示例如下:
假设形式写法:
三、多元梯度下降法
1、梯度下降运算中的实用技巧
(1)特征缩放
背景:若代价函数是个细长的等高线图(特征值比例较大的情况下),在梯度下降的过程中会反复来回震荡,即下降到最低点的速度缓慢。
想法:确保特征值在相似的范围内,这样等高线偏移不严重,look more round
每个特征值控制在-1≤xi≤1范围
具体做法:
数据归一化,用(xi-μ)/si代替xi,其中μi是均值,si是特征值的范围(最大值-最小值)
(2)学习率α
过小,效率慢;
过大,代价函数值不会下降,或者不会收敛;
注:绘制J(θ)随步数变化的曲线,每隔3倍取一个值
(3)定义新的特征,得到更好的模型
例如将“临街宽”和“纵深”改为房屋面积,例如将单纯面积改为面积的平方、立方或是平方根
注:需要尤其注意特征缩放
四、正规方程(一次性求解)
向量没说是竖向量,转置是横向量
1、求法:
octave:pinv(X'*X)*X'*y,(注:octave中X的转置表示为X')
数学上可以证出,这个式子可以给出最优的θ,即使得J(θ)最小。(注:无需关注特征缩放)
2、适用范围
梯度下降法:
缺点1:选择学习率,多次尝试多次迭代;缺点2:迭代计算,效率较慢
优点:特征值很多时,仍能很好运行
正规方程:
缺点:特征值一多,逆矩阵计算量增大,速度缓慢接近O(n^3)
优点:不需要选择学习率
注:数值多与少的判定,n是上百上千仍然可以使用正规方程法,对于现代计算机仍然很快,butn上万,开始有点慢,倾向于梯度下降法。
3、正规方程及其不可逆性(进阶选学材料)
背景:正规方程X’X不可逆(两种情况case1有特征成比例,case2m≤n)如何处理?
第一步:查看是否有多余的特征,删除
其次,octave中求逆函数pinv是伪逆矩阵,即使不可逆也能正常运算