python数据分析与机器学习实战

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

2018-05-18  本文已影响218人  努力奋斗的durian

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

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

1.线性回归算法概述

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

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



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

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

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

现在的目标是,知道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,标准差为θ的高斯分布.这是完完全全不可能的.

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

上一篇下一篇

猜你喜欢

热点阅读