算法梳理——001线性回归

一、写在前面的碎碎念
像所有游戏的开端差不多,一年前一个人就孤零零的冲上了图像处理的道路,过程曲折而充满着冒险的意味,不断地摸索试探慢慢前行,发现一扇门背后连接着的是一个世界。当我走进那扇门的时候,我也就开始进入一个新的世界。从图像处理一路走来,也许一开始都是艰难曲折,但是感觉事情做着做着也就没那么艰难了。

二、机器学习的一些基本概念
为了方便理解这些概念我们以一个房价与面积size关系的预测来作为案例,我们建立模型f(x) 对房价进行预测,Y=f(x)为预测房价,y为实际房价。
在这里插入图片描述
模型一
在这里插入图片描述
模型二
在这里插入图片描述
模型三
在这里插入图片描述

损失函数(loss function)和代价函数(cost function)说的是同一个指标。是在监督学习的前提下,在面临预测值(Y)和真实值(y)之间的不一致时,提出的用于度量预测错误程度的一个函数,一般记作L(Y,f(x))。我们把f(x)关于训练集的平均损失叫做经验风险 1 N ∑ i = 1 N L ( y i , f ( x i ) ) \frac{1}{N}\sum_{i=1}^NL(y_i,f(x_i)) N1i=1NL(yi,f(xi))

在只考虑经验风险最小的情况下会出现如上面模型三所展示的情况,拟合曲线刻意通过每一个样本点,“完美”的拟合了所有数据点。这里会出现机器学习中另外一个经常遇到的概念过拟合:过拟合是指模型在训练集变现良好但是在测试集上变现较差的一种现象。为了预防这种问题我们会在经验风险后面加上一个结构风险,这个时候会引入一个函数来度量限制模型的复杂程度我们也把这个函数称作正则化(regularization)。结合经验风险和正则化,我们引入目标函数这样一个指标来求取表述经验风险和正则化最小的状态。 m i n 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) min\frac{1}{N}\sum_{i=1}^NL(y_i,f(x_i))+\lambda J(f) minN1i=1NL(yi,f(xi))+λJ(f)
在经过这么多关于模型的描述之后,会希望之有一些量化指标来对一个模型性能进行判断,现在我们定义一个性能度量(performance measure)
在回归任务常用的指标是均方误差 E ( f ; D ) = 1 m ∑ i = 1 M ( f ( x i ) − y i ) 2 E(f;D)=\frac{1}{m}\sum_{i=1}^M(f(x_i)-y_i)^2 E(f;D)=m1i=1M(f(xi)yi)2

说了很多关于模型的结构名称,我们最关注的还是模型在测试集上的表现,通常我们会用泛化能力(generalization ability)(算法对新鲜样本的适应能力)来对模型的表现进行描述。

三、线性回归的原理
线性回归就是假设特征满足线性关系,根据已经获得一些数据来训练一个模型,并用这个模型进行预测。回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。我们用一开始的的房价—面积模型一来进行一些简单的说明。
在这里插入图片描述

我们用f(x)来对价格进行预测 P = f ( X ) = θ 0 + θ 1 ∗ x P=f(X)=\theta_0+\theta_1*x P=f(X)=θ0+θ1x

x变量为面积,P代表价格,我们用模型中的红色直线来表示f(x),红色直线上的点是我们对不同面积下的价格预测,蓝色点为实际价格,基于这个模型我们可以对新出现的不同面积的房价进行预测。

四、损失函数推导
(1)均方误差MSE
在这里插入图片描述
(2)平均绝对误差MAE
在这里插入图片描述
(3)一元到多元的推导
在这里插入图片描述
在这里插入图片描述

五、损失函数求解 :梯度下降、牛顿法、拟牛顿法
为什么会有这样一个问题,就是我们希望从减小损失出发,来寻找到合适的权重W。
针对这样一个问题,这个领域的诸多先行者做了许多尝试,目前比较一般的方法有梯度下降,拟牛顿法、牛顿法。

梯度下降方法:
当目标函数为凸函数时,梯度下降法能得到全局最优解。这里我们以一元线性回归作为例子来做一些简单说明。
在这里插入图片描述
牛顿法应该是在泰勒二级处的展开,在这一点上很久没用,困惑了很久。
牛顿法
梯度下降有一个小的问题是在面对高纬度的特征的时候,某些特征参数在梯度上影响很大,而某些影响很小会造成一个“之字形”下降,。
在这里插入图片描述

牛顿法:
牛顿法方法使用函数f (x)的泰勒级数的前面几项来寻找方程f (x) = 0的根。牛顿法最大的特点就在于它的收敛速度很快。
在这里插入图片描述

牛顿法二阶收敛,收敛速度更快,是一种迭代算法,每一步都需要求解目标函数的Hessian矩阵的逆矩阵,计算量会很大,所有有了拟牛顿法。

拟牛顿法:

拟牛顿法是求解非线性优化问题最有效的方法之一. 拟牛顿法的本质思想是改善牛顿法每次需要求解复杂的Hessian矩阵的逆矩阵的缺陷,它使用正定矩阵来近似Hessian矩阵的逆,从而简化了运算的复杂度。(关于正定矩阵生成方法就是另外一堆关于矩阵的运算了:DFP方法,BFGS方法,SR1方法,Broyden族方法)
在这里插入图片描述

六、关于sklearn参数详解
我觉得这个过程单纯的贴出一堆关于一些命令的解释是没有什么实际价值的,想要熟练一些参数的话可以带入到实际的调用环境,一边练习代码,一边来理解,这样可能来得更加实在有意。
这里粘贴引用一篇别人的博客https://blog.csdn.net/linxid/article/details/79104130
ps 所有关于代码程序的问题,我认为都是练习重复的问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值