线性回归及梯度下降法

一、线性回归

线性回归主要运用于“预测”类问题:

假设我们有一堆的数据(房间大小,房价)。给定一个没见过的房间大小,它的价格应该怎么估计呢?

 

一般来说,我们可以假定房价h(x)和大小x之间存在一种线性关系。求出最优h(x)后,

对于每一个大小x的房间,我们都可以给出一个估价h(x)

 

 

概念:COST FUNCTION(代价函数)

给定假设h(x):

在已知数据的条件下,他的代价函数为J(theta1,theta2):

 

可见,代价函数体现了一种预测值与实际值之间的误差(欧式距离的均值)

而我们的目标——

 

二、Gradient Descent(梯度下降)

梯度下降是一种在已知数据中求解最优h(x)的方法。

核心步骤:

注意:必须在求的所有参数之后同时更新,才能进行下一次循环

 

原理:

对于一个碗型函数,每进行一次参数更新,都会是取值更加接近最优解(碗底)

以二次函数为例,看起来大概就是这个样子

 

其中alpha称为学习速率(learning rate),过大将会使算法 不能收敛, 过小则收敛过慢

 

对于有两个参数的单价函数的梯度下降,其收敛过程看起来大概就是这个样子(注意,可以有两种不同路径)

 

通过不断进行梯度下降,我们可以求得给定数据下的参数的局部最优解

(数学没学好,表述很垃圾,最近准备重学线性代数)

 

因此,整个线性回归过程可以总结如下:

1、根据给定数据架设预测函数h(x)

2、计算代价函数J

3、计算各参数偏导

4、更新参数

5、重复2~4直到代价函数跟新的步长小于设定值或者是重复次数达到预设值。

 

上面简单地介绍了线性回归的模型和梯度下降获得参数方程的方法。

用到的一个十分简单的参数方程h(x)=theta0+theta1*x

 

在现实问题中,参数方程能要复杂许多,

不只有一个未知量x,可能有多个未知量x、y,不只有一次项,更有多次项,

 

 

因此,梯度下降的过程变化为:

(注意偏导的计算公式)

 

附:为了获得良好的收敛,在进行梯度下降前,我们可以对数据进行预处理。

目标是使得数据大小在同一个数据数量级上,均值为零。

 

一般将数据放缩到(-1,1)区间,

我们可以对数据进行如下操作:

其中u1是数据的均值s1为数据绝对值的最大值

 

用处理后的数据进行梯度下降可以获得更好效果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值