• 13
  • 13
分享
  • 机器学习之线性回归算法概述——软件测试圈
  • 曼倩诙谐 2021-08-09 10:09:07 字数 2008 阅读 900 收藏 13

  线性回归是机器学习中最基础的模型。虽然相较而言其结构简单且易理解,但其不仅能体现出机器学习重要的基本思想,还能构造出功能更加强大的非线性模型,对于后续机器学习算法的不断发展起了至关重要的作用。

  在数理统计中,回归分析是确定多种变量间相互依赖的定量关系的方法。线性回归假设输出变量是若干输入变量的线性组合,并根据这一关系求解线性组合中的最优系数。在众多回归分析的方法里,线性回归模型最易于拟合,其估计结果的统计特性也更容易确定,因而得到广泛应用。而在机器学习中,回归问题隐含了输入变量和输出变量均可连续取值的前提,因而利用线性回归模型可以对任意输入给出对输出的估计。

  1875年,从事遗传问题研究的英国统计学家弗朗西斯·高尔顿正在寻找父代与子代身高之间的关系。在分析了1078对父子的身高数据后,他发现这些数据的散点图大致呈直线状态,即父亲的身高和儿子的身高呈正相关关系。高尔顿将这种现象称为“回归效应”,并给出了历史上第一个线性回归的表达式:

1.png


  式中的y和x分别代表子代和父代的身高(单位为英寸)。回归效应在当今的机器学习中依然活跃。假定一个实例可以用列向量2.png表示,每个3.png代表了实例在第i个属性上的取值,线性回归的作用就是习得一组参数4.png使预测输出可以表示为以这组参数为权重的实例属性的线性组合。如果引入常量5.png,线性回归试图学习的模型就是:

6.png

  当实例只有一个属性时,输入和输出之间的关系就是二维平面上的一条直线;当实例的属性数目较多时,线性回归得到的就是n维空间上的一个超平面,对应一个维度等于n-1的线性子空间。

  在训练集上确定系数7.png时,预测输出8.png和真实输出y之间的误差是训练模型的关键,这一误差以均方误差来定义。当线性回归的模型为二维平面上的直线时,均方误差就是预测输出和真实输出之间的欧式距离,也就是两点间向量的L2范数。使均方误差取得最小值为目标的模型求解方法就是最小二乘法,其表达式可以写成:

9.png

  式中每个10.png代表训练集中的一个样本。在单变量线性回归任务中,最小二乘法的作用就是找到一条直线,使所有样本到直线的欧式距离之和最小。

  从概率角度也可以解释,为何均方误差最小时的参数就是模型的最优参数。线性回归得到的是统计意义上的拟合结果,在单变量的情形下,可能每一个样本点都没有落在拟合得到的直线上。对这个现象的一种解释是回归结果可以完美匹配理想样本点的分布,但训练中使用的真实样本点是理想样本点和噪声叠加的结果,因而与回归模型之间产生了偏差,而每个样本点上噪声的取值就等于11.png

  假定影响样本点的噪声满足参数为12.png的正态分布,这意味着取值等于0的噪声出现的概率最大,幅度越大的噪声出现的概率越小。在这种情形下,对参数w的推导就可以用极大似然估计理论完成,即在已知样本数据及其分布的条件下,找到使样本数据以最大概率出现的假设。

  单个样本13.png出现的概率实际上就是噪声等于14.png的概率,而相互独立的所有样本同时出现的概率则是每个样本出现概率的乘积,其表达式可以写成:

15.png

  极大似然估计就是让以上表达式的取值最大化。出于计算简便的考虑,上面的乘积式可以通过取对数的方式转化成求和式,且取对数的操作并不会影响其单调性。经过一番运算后,上式的最大化就可以等效为16.png的最小化。这和最小二乘法的结果一致。

  因此,对于单变量线性回归而言,在误差函数服从正态分布的情况下,从几何意义出发的最小二乘法与从概率意义出发的极大似然估计是等价的。

  确定了最小二乘法的最优性,接下来的问题就是如何求解均方误差的最小值。在单变量线性回归中,其回归方程可以写成17.png。根据最优化理论,将这一表达式代入均方误差的表达式中,并分别对18.png19.png求偏导数,令两个偏导数均等于0的取值就是线性回归的最优解,其解析式可以写成:

20.png

21.png

  单变量线性回归只是一种最简单的特例。比如子代的身高并非仅仅由父母的遗传基因决定,营养条件、生活环境等因素都会产生影响。当样本的描述涉及多个属性时,这类问题就被称为多元线性回归。

  多元线性回归中的参数w也可以用最小二乘法进行估计,其最优解同样用偏导数确定,但参与运算的元素从向量变成了矩阵。在理想的情况下,多元线性回归的最优参数为:

22.png

  式中的X是由所有样本23.png的转置共同构成的矩阵。但这一表达式只在矩阵的逆矩阵24.png存在时成立。在大量复杂的实际任务中,每个样本中属性的数目甚至会超过训练集中的样本总数,此时求出的最优解25.png就不是唯一的,解的选择将依赖于学习算法的归纳偏好。

  但不论采用怎样的选取标准,存在多个最优解都是无法改变的事实,这也意味着过拟合的产生。更重要的是,在过拟合的情形下,微小扰动给训练数据带来的毫厘之差可能会导致训练出的模型谬以千里,模型的稳定性也就无法保证。因此在构建线性回归模型时,要考虑过拟合的问题。最常用的方法就是给模型增加正则化项,限制参数26.png的取值范围,从而提升模型的泛化能力。



作者:赵嘉铭 李志伟 赵旭   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 摘要:测试数据在项目开发、测试过程中占据着重要的作用,随着我行信息系统建设速度的加快,软件更新速度的不断提升,对数据交付时间和数据格式的要求也越来越高。对于数据库大表来说,无论是脱敏还是导出的速度,往往不能满足实际需要,Kettle作为业内最著名的开源ETL(数据抽取)工具,可直接对数据库表进行操作并以多种格式进行导出,格式规范,效率较高,能很好的满足使用过程中的需要。本文对kettle在实际中具体的使用与实践进行重点介绍。1、常用ETL工具现状简介ETL是Extract-Transform-Load的简写,用来描述将数据从源端经过抽取(extract)、转换(transform)、加载(lo...
            0 0 3879
            分享
          • polita3.0的框架接口如何编写测试用例如何运行测试用例在利用caster平台进行接口管理以后,我们可以将所有的中心放在编写测试用例case。这个教程可以帮助大家快速上手添加测试用例。1、polita3.0的框架接口```python ├── bin                   这里定义了怎么生成open-api ├── ci    &...
            0 0 1883
            分享
          • 读者提问:开源云真机测试平台有推荐的吗 ?阿常回答:有,Sonic。官网地址:https://sonic-cloud.gitee.io/#/HomeGithub地址:https://github.com/SonicCloudOrg部署文档:https://sonic-cloud.gitee.io/#/Deploy使用文档:https://sonic-cloud.gitee.io/#/Document阿常碎碎念:Sonic 是一站式开源分布式集群云真机测试平台,致力服务于中小企业的客户端UI测试。它支持安卓设备、iOS设备、车载设备、智能手表等多种设备。如果想测试多机型兼容可...
            0 0 1461
            分享
          • 自从写了几篇简历相关的文章,不少同学都找我帮忙修改简历。大部分同学发给我之前都看过系列文章,需要修改的地方就很少了,但是也有没看完所有文章就直接丢给我简历的,建议把之前写过的都看看哈。今天我按照简历从上到下的顺序,逐一提供推荐的格式,并简单说明下原因,希望大家能保持频调一致,理解简历的真正目的。一、个人信息简历开头是个人信息,这个大家都没有异议的吧?但是个人信息应该包含哪些内容,每个人理解都不一样,我的建议是:1、要包含:姓名、性别、学历、工作年限、电话、邮箱地址;2、不包含:照片(对自己特自信的除外)、毕业学校(特知名的除外)、专业(特自豪的除外);原因:咱们是技术岗,一切以技术优先;学校和...
            2 3 1268
            分享
          •   对于“自己适不适合转行做软件测试?”一直都是测试行业里的热门话题。随着近几 年IT互联网行业的快速发展,软件测试岗位也受到越来越多人的关注,因此有很多人都想要从事这一行业,这里主要分为两类人,一种是刚毕业的应届生,对于很多毕业大学生来说毕业等于失业;另外一种是在其他行业,没有前景没有未来,想要转行。  一、如何判断自己适不适合做软件测试?  其实对于这个问题,除了一小部分人真的在这方面有特别突出的天赋以外,是没有严格区分适合与不适合的。想大家看到的大多数软件测试行业大佬都是从小白菜鸟慢慢成长过来的。其实只要你下定决心想要去学习并坚持,你就是适合的。一名软件测试人员身上具备很多显性特征,下面...
            0 0 492
            分享
      • 51testing软件测试圈微信