回归就是设法找出变量间在数量上的依存变化关系,用函数表达式表达出来,这个表达式称之为回归方程。
回归问题的条件/前提:
1)收集的数据
2)假设的模型
该模型是一个函数,这个函数含有未知的参数,通过学习可以对参数值做一个估计。然后利用这个模型去预测或分类新的数据。
1. 线性回归
收集的数据中,每一个分量均可以看做是一个特征。
当两个变量存在准确、严格的直线关系时,可以用Y=aX+b,表示两者的函数关系。其中X是自变量(independent variable);Y是因变量(dependent variable)。但在实际生活中,由于其他因素的干扰,许多双变量之间的关系并不是严格的函数关系,不能用函数方程来准确反映,为了区别于两变量间的函数关系,我们称这种关系为回归关系,用直线方程来表示这种关系成为回归直线或线性回归。
向量表示形式为:
可以用线性规划解决的问题,可以理解为一个组合问题,各个特征之间的加权组合,得到某个结果值。
如何求得该权重,即参数theta向量的值。一个线性矩阵方程,直接求解,很可能无法直接求解,有唯一解的数据集,微乎其微。基本上都是解不存在的超定方程组。因此,需要退一步,将参数求解问题,转化为求最小误差问题,求出一个最接近的解,这就是松弛求解。
求一个最接近解,首先要确定误差最小的表达形式。
定义误差如下:
求使得J(theta)的最小的theta值。
如何求解J(theta)的最小值?
1) 最小二乘法
最小二乘法是一个直接的数学求解公式,不过它要求X是列满秩的。
2) 梯度下降法
有梯度下降法、批梯度下降法、增量梯度下降。本质上都是偏导数,步长/最佳学习率,更新,收敛的问题。
这个算法是最优化原理中的一个普通的方法,可以结合最优化原理来学,就容易理解了。
2、逻辑回归
逻辑回归与线性回归的联系、异同?
逻辑回归模型是一个非线性模型,sigmoid函数,又称为逻辑回归函数。但是它本质上又是一个线性回归模型,因为除去sigmoid映射函数关系,其他的步骤、算法都是线性回归的。可以说,逻辑回归都是以线性回归理论为支持的。
只不过线性回归模型,无法做到sigmoid的非线性形式,sigmoid可以轻松处理0/1分类问题。
另外,它的推导含义:仍然与线性回归的最大似然估计推导相同,最大似然函数连续积(这里的分布,可以使伯努利分布或者泊松分布等其他分布形式),求导,得损失函数。
逻辑回归函数:
表现了0,1分类的形式。
应用举例:
是否为垃圾邮件(分类)?是否为肿瘤、癌症(诊断预测)?是否为金融欺诈(分类)?
3、一般线性回归
线性回归是以高斯分布为误差分析模型,逻辑回归采用的是伯努利分布分析误差。
而高斯分布、伯努利分布、贝塔分布、迪特里特分布,都属于指数分布。
经历最大似然估计的推导,就能导出一般线性回归的误差分析模型(最小化误差模型)。
softmax回归:
是一般线性回归的一个例子。针对多类问题(逻辑回归解决的是二类划分问题),如数字字符的分类问题,0-9,10个数字,y值有10个可能性。
而这种可能性的分布,是一种指数分布,而且所有可能的和为1,则对于一个输入的结果可表示为:
代价函数为:
是逻辑函数代价函数的推广。
对于softmax的求解,没有闭式解法(高阶多项方程组求解),仍用梯度下降法或L-BFGS求解。
当k=2时,softmax退化为逻辑回归,这也能反映出softmax回归是逻辑回归的推广。
线性回归,逻辑回归,softmax回归三者联系,需要反复回味,想的多了,理解就能深入了。
4、拟合:拟合模型/函数
由测量的数据,估计一个假定的模型/函数,如何拟合?拟合的模型是否合适?可分为以下三类:
- 合适拟合
- 欠拟合
- 过拟合
过拟合的问题如何解决?
问题起源?模型太复杂,参数过多,特征数目过多。
方法:
1)减少特征的数量,有人工选择,或者采用模型选择算法
http://www.cnblogs.com/heaad/archive/2011/01/02/1924088.html (特征选择算法的综述)
2)正则化,即保留所有特征,但降低参数的值得影响。
正则化的优点是,特征很多时,每个特征都会有一个合适的影响因子。
5、概率解释:线性回归为什么选用平方和作为误差函数?
转自:http://xgli0910.blog.163.com/blog/static/469621682013101211712163/
http://blog.csdn.net/viewcode/article/details/8794401#