摘自吴恩达老师课程week1-2,为其概括复习版
回归与最优化-广义线性回归
cost函数 J(θ) 代价函数
根据不同的θ取值,cost不同。最小的cost点为最佳拟合系数θ
左图为θ=0时的cost,计算后在右图中标出
二维的cost函数曲线
多个变量时的情景。
x1 x2表示房屋价格,楼层等
如果变量可以合并成新变量,如房屋的长(x1)和宽(x2),则可把他们合并成新变量
特征缩放
如果x1很大而x2很小
则x1改变较小的单位长度(在横轴上的距离)就可使J(θ)有较大变化
而x2的一个单位长度更大
平均数归一化
把各个变量范围分别放缩到-1,1左右
u为均值(期望), s为标准差deviation 或数据集的最大值减最小值. 可视归一化结果而定
梯度下降
首先给定θ0…θn初始值
对每个θ(j), j=0…n 求偏导数。若最终偏导数等于0则θ(j)=θ(j), 即上一次迭代和本次迭代的值相同
认为θ达到要求,为最小值
蓝线框出的即为J(θ)的导数值,便于计算。对于非线性可用diff函数或sage等计算导数(符号计算)对于是否结束迭代,可以画出J(θ)与iterator次数的关系,看J(θ)变化是否趋于稳定
多项式回归
等价于变量替换
需要注意归一化问题。数量及不同,归一更复杂
Python实现(两个变量x0 x1)
# cod