2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 机器学习线性回归_机器学习-线性回归

机器学习线性回归_机器学习-线性回归

时间:2022-04-24 18:38:03

相关推荐

机器学习线性回归_机器学习-线性回归

简单说明

线性回归

最小二乘法,也叫最小二乘估计,具体概念自行查询,下面我举个比较通俗的例子

可以解决的问题

如果给你一个人(18~22岁)的体重,让你预测他(她)的身高,你会怎么做?

第一步:从身边的人收集一些数据,并观察规律;

样本1:身高 150cm 体重 45kg样本2:身高 161cm 体重 54kg样本3:身高 171cm 体重 65kg样本4:身高 185cm 体重 78kg样本5:身高 156cm 体重 46kg样本6:身高 165cm 体重 50kg样本7:身高 180cm 体重 80kg样本8:身高 160cm 体重 67kg样本9:身高 175cm 体重 66kg样本10: 身高 ?cm 体重 60kg样本11: 身高 ?cm 体重 70kg

第二步:绘制散点图,并找到一条合适的线

根据常识,我们知道一般越高的人,体重越重,所以我们大胆的假设身高和体重是线性关系

接下来,根据感觉,找到几条比较合适的线,并最终选择y2(后续会提供两种优化方式)

y1 = 1.1 * x + 100y2 = 0.8 * x + 120y3 = 0.5 * x + 140

第三步:将上述样本带入,求解

y2 = 0.8 * x + 120样本10: 身高 168cm 体重 60kg样本11: 身高 176cm 体重 70kg

总结:上面描述的只是一种方法,其中存在一些问题,比如:数据太少,不具有代表性(可以通过增加样本量来解决);根据经验判断身高和体重一定呈某种线性关系;第二步,为什么选择y2 ?

选择合适的方程

上面的的问题:假设样本 和 估计值真的是线性关系,那么我们如何选择一条合适的线性方程?也就是

中 a 和 b 的值?梯度下降标准方程

梯度下降

这里只是简单介绍一下梯度下降,具体细节自行查询

通过梯度下降的方式计算 函数

中, 的最小值第一步:随机选取一个点,作为初始值 A(1,3),并计算这个点的导数

初始点可以随机选择 A 或者 B 或者 其它的点
第二步:选取合适的学习率 ,并重复计算n次(迭代次数)
根据经验选择合适的值

这里我们选择 ,

计算公式

根据梯度下降算法,第五次计算出

,带入公式,计算出

结论:

由于此函数是凸函数,所以我们可以根据 ,来计算出最小值 通过梯度下降算法,推算出 函数,最小值

注:

1. 梯度下降是推算最小值的一种方式,还需要合适的参数 才能计算出最小值

2. 可以在非凸函数中寻找到局部最小值

线性回归 - 梯度下降

假设数据

样本1:身高 150cm 体重 45kg样本2:身高 161cm 体重 54kg样本3:身高 171cm 体重 65kg样本4:身高 185cm 体重 78kg样本5:身高 156cm 体重 46kg样本6:身高 165cm 体重 50kg样本7:身高 180cm 体重 80kg样本8:身高 160cm 体重 67kg样本9:身高 175cm 体重 66kg

设方程为

,求解a 和 b?

损失函数 (预测值

真实值: )

计算a 和 b的值

偏导数
设初始值

学习率

迭代次数

标准方程

数据:

假设数据为 n行p列(p维)的数据
数据格式定义:如果不理解,后续可以不用看了。某个人的特征特征+身高 集合变换参数W
可以理解为 中的
推导

矩阵求导,令

验证

数据

设函数

等价于

带入上述公式:

结论:

和我们上面肉眼估计出来的值

相差不大

标准方程和梯度下降的区别

标准方程
优点:不需要 、不需要迭代、不需要特征缩放,少量数据时可以直接计算出结果。缺点:运算量大,当训练集很大时速度非常慢。当样本数<特征数量时, 不可逆,无法求解(可以通过正则化来解决)
梯度下降
优点:大批量数据也可以较快的计算出结果缺点:属于优化算法,需要选择合适的 ,迭代次数等;虽然线性回归的损失函数是凸函数,但是梯度下降很大概率只能计算出最小值的近似点;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。