美文网首页python数据分析与机器学习实战
(二十二)线性回归算法(一)-python数据分析与机器学习实战

(二十二)线性回归算法(一)-python数据分析与机器学习实战

作者: 努力奋斗的durian | 来源:发表于2018-05-18 20:53 被阅读218次

    文章原创,最近更新:2018-05-18

    1.线性回归算法概述
    2.误差项分析
    课程来源: python数据分析与机器学习实战-唐宇迪

    1.线性回归算法概述

    算法涉及到很多的数学,机器学习的核心在于数学,只有知道原理了,才能依照原理进行实际的运用.理论是大于实际运用的.需要知道一个算法究竟可以做哪些事情?

    线性回归算法是非常的基本,但也非常的重要.首先我们来看一个简单的小案例,如下:



    数据是由一行一列组成的,每一行都是一个样本,共有5个样本.每个样本有2个特征,比如第一个样本,工资是4000,年龄是25岁.因此可以将这两个特征分别设置为x1工资,x2年龄,最终预测的是一个值.

    通常把机器学习的一个有监督的算法,分为回归和分类两种:

    • 回归就是通过数据预测出一个值,我们管它叫做回归.而这个案例,贷款是个金额,不是一个实际的东西,而是一个值.这个值是在一定的区间上,

    • 分类,比如现在还是有工资和年龄两个特征,到银行之后不是问银行能否贷款多少钱?而是问银行究竟借不借给我这一笔钱?分类最终得到的是一个类别.银行借给你,要么就是0,不借就是1.分类就是得到了一个唯一的类别值.

    数据除了工资和年龄两个特征,可以有多个特征么?当然是可以的.一个数据可大,可小.更多的数据,可以有更多的特征,小的数据提供的特征更少一些.

    现在的目标是,知道x1工资,x2年龄,银行最终的额度y究竟是多少?x1,x2与y究竟有什么样的关系呢?而这个关系就是机器学习的核心了.由于x1,x2分别对额度y究竟会产生多大的影响?

    需要找到一条先最好的拟合我们的数据,因此需要找到合适的参数.


    引入两个参数,权重参数是Ø1,Ø2,对结果y产生比较重要的影响,Ø0偏置参数对结果y产生比较小的影响

    在数据推倒的过程中,都希望公式越简单越好.机器学习的一个思想是,能用简单的事何必用复杂的事情呢?因此对公式进行化简.

    对x0=1,hØ(x)=Ø0x0+Ø1x1+Ø2x2+Ø3x3+......
    因矩阵的运算比较高,需要转换成矩阵的标准格式,因此要设置成行乘以列,刚好就是矩阵的运算.

    2.误差项分析

    从图片可以看出,拟合的平面,上面有一些点,下面也有一些点.这些红色的点都是一个真实的值,真实值和预测值必然存在差异的,不可能预测的时候,完完全全就是准确的值,存在差异是正常的.

    机器学习的理论思想是理论模型跟现实必然是存在差异的,只要我们合理的利用差异,用ε表示误差,是真实值与预测值之间的差异.每个样本都有误差.

    1万个样本就有1万个误差,每个误差都是独立并且具有相同的分布.而且服从高斯分布.误差ε(i)是独立并且具有相同的分布,并且服从均值为0方差为θ^2的高斯分布,这句话对机器学的任何算法都是非常重要的铺垫.

    什么叫独立?在以后学习的过程中都会强调这个概念.比如今天去银行贷款,张三先去了,然后李四也去了.张三去的时候银行贷款了5000块钱给他.李四去的时候银行贷款了1.2万块钱给他.银行借给张三多少钱跟银行借给李四多少钱?有关系么?是没关系的,都是会根据各自的指标进行评估.算法会同等的对待每一个样本.每个样本都是相互独立的.

    什么叫相同的分布?让机器学的算法运行起来,是有一定的规则的.比如张三去的建设银行,李四去的是农业银行,把不同的银行数据混在一起建立一个模型去预测贷款的金额,这样符合实际逻辑么?肯定是不符合的.要么给建设银行建立一个规则,要么给建设银行建立另外一套规则.因此必须要有相同的分布,必须是张三跟李四在同一家银行贷款,构造的算法都是同一个地方,同一个分布的.

    独立以及相同的分布是非常重要的,一定要理解为什么是独立?为什么是同分布?在其他的算法同样会强调这个问题,会伴随整个机器学习算法本身,都是建立在独立以及同分布的基础之上.

    均值为0方差为θ^2的高斯分布,这个又是怎么理解呢?首先我们来理解高斯分布,
    上图右边就是一个高斯分布,高斯分布有什么特点呢?均值是等于0,标准差为θ,为什么要这样假设呢?

    其实无论是去银行贷款还是其他任何的事情都是做这样的假设.都是假设高斯分布.不可能实际的过程中,银行永远都不可能给你多贷款一万块钱,或者少贷10万,这样的情况非常少.

    在大多数的情况下,贷款的比例都是差不多的.绝大多数的面积都是在-1到1区间,而面积就是出现的可能性.高斯分布认为一个误差左右小范围的偏差,都是正常的.而大范围的偏差,刚好位于高斯分布的两端,而面积非常小,从而出现的可能性非常低.

    往中间的值比较多,而两边的值比较少.服从这样的规律,那么实际情况下,是否也服从这样的规律呢?这只是假设,在机器学当中永远没有办法认为一件事就是服从独立的相同的分布,均值是等于0,标准差为θ的高斯分布.这是完完全全不可能的.

    机器学习是在实际情况出发,根据实际情况做了假设,误差都是小范围的,极少数误差是比较大的.做了假设再进行推倒,那是按照假设进行推倒这种做法科学么?虽然是假设,但是最终得到的结果是可利用的,

    相关文章

      网友评论

        本文标题:(二十二)线性回归算法(一)-python数据分析与机器学习实战

        本文链接:https://www.haomeiwen.com/subject/zxlndftx.html