梯度下降法 线性回归 多项式回归 python实现

本文基于吴恩达老师的课程,详细介绍了线性回归和梯度下降法,包括代价函数J(θ)的概念,二维cost函数曲线的分析,特征缩放和平均数归一化的应用。此外,还探讨了在多个变量情况下如何处理,并阐述了多项式回归的实现,以及在Python中处理两个变量x0和x1的情况。最后,提到了数组拼接的问题。
摘要由CSDN通过智能技术生成

摘自吴恩达老师课程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
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值