Regression Analysis
Regression Analysis是一种用来估计变量之间关系的统计技术,请注意估计、变量、统计等关键词;用用统计学知识,对于隐含变量进行处理,估计数据间的关系就叫Regression Analysis。
有很多中建模技术都用来解决回归问题,如单变量和多变量、变量独立和变量相关、线性统计和非线性统计、连续和离散、参数和非参数模型等各种统和和模型来进行Regression。在机器学习中,Regression用来进行预测(Prediction)、分类(Classification)。本文通过一些简单的方式来描述跟Regression有关的一些先验问题,如数据、模型、假设等。
在学习Regression Analysis之前,需要了解的数学知识比较多,包括概率、统计、信息论、线性代数、高等数学等学科的理论知识;本身对于计算机建模的技术也有要求;牵扯到算法实现,对于数值算法实现也有要求;再考虑下编程要求,其实学习机器学习还是比较耗神耗力的一件事情,需要很大的坚持和忍耐才能做自己喜欢的事情。
进入正题,我们想了解Regression Model,必须知道回归模型包含哪些内容:
Training Set:训练集合,其实是我们观察到的数据集合,一般称为X
Response Set:输出属于,使我们观察到的输出,一般称为Y
Object Function:目标函数h,准确的说是其中的隐含变量\theta
Feature:输入数据的纬度,也称为是Attribute,即观察变量的特征。
Regression Model表示如下:
可以看到该模型表示了回归模型的内容,这个模型表示里面的内容很多,还会在后面不断的出现;请仔细看这个公式5分钟,确保自己真正理解了这个回归模型公式。
了解了这个模型,我们再了解下回归模型的观察数据。假如说观察到的训练集合数目为N,数据的特征为k,如果单纯认为知晓了N和k就能进行Regression的话,就会步入歧途。关于N和k的关系有如下几种:
N<k:在这种情况下,如果数据不经过预处理的话,大部分的Regression Analysis算法都无能为力;系统决定的回归模型欠定(Underdetermined),观察数据不足以恢复其中的隐含变量。
N=K:在这种情况下,理论上系统的参数\beta刚好能够知晓,因为这就是根据N个等式求解N个变量的问题;说是理论上是因为这些采集数据之间必须线性独立,否则会有无数个解满足。
N>k:这种情况才是正常观察并且能够估计的情况,我们的大部分Regression算法都是基于这个假设进行的操作。
我们看个最为简单的Regression分析:
上面这个简单的回归模型成立,需要做一些理论假设(Assumptions);通常的假设有:
误差Ut为随机变量,更为普遍的假设为E[Ut]=0,即Ut的期望值为0。
误差独立:
参数线性独立:即参数之间是独立的,否则的话需要使用多重共线性(Multicollinearity)模型
误差线性无关:误差的协方差矩阵应该是个对角阵(Diagonal)
误差对于观察数据来说一致:误差对于观察数据来说没有区分,否则的话就需要权重(Weighted)模型。
Regression Analysis的分析模型比较多,目前使用比较大的几个种类是:
Linear Regression Analysis:线性回归分析
Logistic Regression Analysis:Logistic回归分析
Generalized Linear Model:广义线性模型
下面分别简单的学习下各个回归分析方法,更详细的解释会在后续文章中学习。
Linear Regression Analysis:线性回归分析:
线性回归分析是一种比较简单的统计模型,虽然模型简单,但是对于后面的概念学习有非常重要的作用。线性回归的模型假设(Hypothesis)为:
我们对于模型参数w,如何确定这个参数(Vector)是评估回归模型好坏的关键。该模型在Linear Regression Analysis中非常重要,我们以后的讨论都是要基于这个简单的模型来进行。
Logistic Regression Analysis:Logistic回归分析
使用Linear Regression 来解决回归问题比较正常,但是利用Regression来解决分类问题就比较怪异。而利用Regression Analysis来解决Classification的常用模型 就是Logistic Regression Analysis,该模型是用来解决Classification问题的概率判别模型。
Logistic Regression的本质是还是线性回归,在特征到结果的过程中添加了层映射函数,该映射函数使用g表示:
该函数是将回归模型应用于分类的关键,被称为是sigmoid函数,后面会用到这个函数。
Generalized Linear Model:广义线性模型
广义线性模型是对对经典线性回归模型的进一步推广,统一计算理论和计算框架。在广义线性模型中,输出变量和预测变量之间是通过非线性连接函数(Link Function)表达,因此可以处理多种数据。该模型的了解请参考wiki:http://en.wikipedia.org/wiki/Generalized_linear_model。
由于我们的假设分布未必会符合观察数据的分布函数,如果观察的随机变量分布函数与实验中系统效应不同时,我们可以添加链接函数来进一步解释其相关性。该模型在MLAPP第九章有详细节介绍。
本文的内容比较简单,就是将Regression的整体内容分类,为后面学习Regression理清思路。