机器学习-单变量线性回归及代码实现

单变量线性回归基础概念

在这里插入图片描述
这就是一个监督学习算法的工作方式,我们可以看到这里有我们的训练集里房屋价格 。
我们把它喂给我们的学习算法,学习算法的工作了,然后输出一个函数,通常表示为小写 ℎ 表示。ℎ 代表 hypothesis(假设),ℎ表示一个函数,输入是房屋尺寸大小,就像你朋友想出售的房屋,因此 ℎ 根据输入的 ?值来得出 ? 值,? 值对应房子的价格 因此,ℎ 是一个从? 到 ? 的函数映射。
我将选择最初的使用规则ℎ代表 hypothesis,因而,要解决房价预测问题,我们实际上是要将训练集“喂”给我们的学习算法,进而学习得到一个假设ℎ,然后将我们要预测的房屋的尺寸作为输入变量输入给ℎ,预测出该房屋的交易价格作为输出变量输出为结果。那么,对于我们的房价预测问题,我们该如何表达 ℎ?
一种可能的表达方式为:ℎ?(?) = ?0 + ?1?,因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。

线性回归是利用数理统计中的回归分析,来确定两种或两种以上变量间相互依赖的关系的一种统计分析方法。
回归一词指的是,我们根据之前的数据预测出一个准确的输出值)
其主要作用有:

1.预测:线性回归可以用来对观测数据集X和对应输出值Y拟合出一个预测模型。当完成这样一个模型以后,对于一个新增的x值,在没有给定与它相配对的y的情况下,可以用这个拟合过的模型预测出一个y值。

2.相关强度:给定一个变量y和一些变量xi, x2,… xn,这些变量有可能与y相关,线性回归分析可以用来量化y与xi之间相关性的强度,评估出与y不相关的xi。
单变量线性回归,顾名思义就是观测数据集X只有一个可变量。给定数据集
线性回归模型试图学习一个模型 使其能够尽可能的预测实值输出标签。

代价函数

代价函数(Cost Function )代价函数,又叫损失函数或成本函数,它是将一个或多个变量的事件阈值映射到直观地表示与该事件。
是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。
损失函数的分类:

1.0-1损失函数;
2.平方损失函数;
3.绝对值损失函数;
4.对数损失函数;
5.指数损失函数。

梯度下降算法

“Batch”梯度下降:每一步梯度下降都会遍历整个训练集的样本

1,批量梯度下降法(Batch Gradient Descent) :在更新参数时都使用所有的样本来进行更新。
优点:全局最优解,能保证每一次更新权值,都能降低损失函数;易于并行实现。
缺点:当样本数目很多时,训练过程会很慢。

2,随机梯度 下降法(Stochastic Gradient Descent):在更新参数时都使用一个样本来进行更新。每一次跟新参数都用一个样本,更新很多次。如果样本量很大的情况(例如几十万),那么可能只用其中几万条或者几千条的样本,就已经将参数迭代到最优解了,对比上面的批量梯度下降,迭代一次需要用到十几万训练样本,一次迭代不可能最优,如果迭代10次的话就需要遍历训练样本10次,这种方式计算复杂度太高。

优点:训练速度快;

缺点:准确度下降,并不是全局最优;不易于并行实现。从迭代的次数上来看,随机梯度下降法迭代的次数较多,在解空间的搜索过程看起来很盲目。噪音很多,使得它并不是每次迭代都向着整体最优化方向。

3,小批量梯度下降法(Mini-batch Gradient Descen):在更新每一参数时都使用一部分样本来进行更新。为了克服上面两种方法的缺点,又同时兼顾两种方法的优点。
三种方法使用的情况:如果样本量比较小,采用批量梯度下降算法。如果样本太大,或者在线算法,使用随机梯度下降算法。在实际的一般情况下,采用小批量梯度下降算法。

单变量线性回归算法实现

单变量性函数形式: ℎ?(?) = ?0 + ?1?。
代价函数 ?(?0,?1) = 1 2?∑ (ℎ?(?(?)) − ?(?))2 ? ?=1 。**
批量梯度下降(batch gradient descent)算法的公式为:
在这里插入图片描述
其中?是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向
向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率
乘以代价函数的导数。

matlab代码实现:
https://blog.csdn.net/qq_34290470/article/details/97614641

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SUNNY小飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值