线性回归,逻辑回归的学习(包含最小二乘法及极大似然函数等)

博文参考了以下两位博主的文章:http://blog.csdn.net/lu597203933/article/details/45032607,http://blog.csdn.net/viewcode/article/details/8794401

回归问题的前提:

1) 收集的数据

2) 假设的模型,即一个函数,这个函数里含有未知的参数,通过学习,可以估计出参数。然后利用这个模型去预测/分类新的数据。

1. 线性回归

假设 特征 和 结果 都满足线性。即不大于一次方。这个是针对 收集的数据而言。
收集的数据中,每一个分量,就可以看做一个特征数据。每个特征至少对应一个未知的参数。这样就形成了一个线性模型函数,向量表示形式:

向量默认为列向量,此处的X表示一个列向量,其中内容为(x1,x2,x3.......,xn),用以表示收集的一个样例。向量内容为设置的系数(w1,w2.....,wn),也就是要通过学习得到的系数,转置后成为行向量。两者相乘后得到预测打分h。

这个就是一个组合问题,已知一些数据,如何求里面的未知参数,给出一个最优解。 一个线性矩阵方程,直接求解,很可能无法直接求解。有唯一解的数据集基本是不存在的。基本上都是解不存在的超定方程组(未知数的个数小于方程的个数)。因此,需要退一步,将参数求解问题,转化为求最小误差问题,求出一个最接近的解,这就是一个松弛求解。

求一个最接近解,直观上,就能想到,误差最小的表达形式。仍然是一个含未知参数的线性模型,一堆观测数据,其模型与数据的误差最小的形式,模型与数据差的平方和最小:

这就是损失函数(cost function)的来源,文中之后我们称之为目标函数。接下来,就是求解这个函数最小值的方法,有最小二乘法,梯度下降法等(利用这些方法使这个函数的值最小)。

**********最小二乘法:************

多元函数求极值的方法,对θ求偏导,让偏导等于0,求出θ值。当θ为向量时,需要对各个θi求偏导计算。

为了便于理解,可以先看当数据集中的样本只有一个特征时的情况,参看之前的最小二乘法博文,可以直接得出theta的值(原先博文中表示为beta)。当含有多个特征时,需要进行矩阵计算从而求出各个θi:

如上图中将目标函数拆解为两个式子相乘的形式()其中的X表示获取的数据集转换成的矩阵,与列向量相乘后得到预测打分(列向量),与真实打分y向量想减后平方。上图中的下半部分对于拆解后的目标函数进行求导,令求导后的式子=0,如下图:

由此可以得到向量的值。

其中补充说明:

*****************梯度下降法:**************************

分别有梯度下降法,批梯度下降法,增量梯度下降。本质上,都是偏导数,步长/最佳学习率,更新,收敛的问题。这个算法只是最优化原理中的一个普通的方法,可以结合最优化原理来学,就容易理解了。(梯度下降中用到的目标函数不一定是之前提到的那个距离最小函数,在之后的逻辑回归中,要用到梯度上升,在那里细述)

******************极大似然法************************************

极大似然的核心思想为:

当从模型总体随机抽取n组样本观测值后,最合理的参数估计量应该使得从模型中抽取该n组样本观测值的概率最大。打个比方:一个袋子中有20个球,只有黑白两色,有放回的抽取十次,取出8个黑球和2个白球,计算袋子里有白球黑球各几个。那么我会认为我所抽出的这个样本是被抽取的事件中概率最大的。p(黑球=8)=p^8*(1-p)^2,让这个值最大。极大似然法就是基于这种思想。

极大似然估计的定义如下:







求解方法同样采用多元函数求极值法。

2、逻辑回归

逻辑回归与线性回归的联系、异同?

逻辑回归的模型 是一个非线性模型,sigmoid函数,又称逻辑回归函数。但是它本质上又是一个线性回归模型,因为除去sigmoid映射函数关系,其他的步骤,算法都是线性回归的。可以说,逻辑回归,都是以线性回归为理论支持的。只不过,线性模型,无法做到sigmoid的非线性形式,sigmoid可以轻松处理0/1分类问题。

在另一篇博文(logistic)中有对逻辑回归的详细说明。在逻辑回归中,重新定义了cost function,

另外它的推导含义:仍然与线性回归的最大似然估计推导相同,最大似然函数连续积(这里的分布,可以使伯努利分布,或泊松分布等其他分布形式),求导,得损失函数。

(参看logistic那篇博文)

3、一般线性回归(这部分尚未做过多研究)

线性回归 是以 高斯分布 为误差分析模型; 逻辑回归 采用的是 伯努利分布 分析误差。

而高斯分布、伯努利分布、贝塔分布、迪特里特分布,都属于指数分布。

而一般线性回归,在x条件下,y的概率分布 p(y|x) 就是指 指数分布.

经历最大似然估计的推导,就能导出一般线性回归的 误差分析模型(最小化误差模型)。

softmax回归就是 一般线性回归的一个例子。

有监督学习回归,针对多类问题(逻辑回归,解决的是二类划分问题),如数字字符的分类问题,0-9,10个数字,y值有10个可能性。

而这种可能的分布,是一种指数分布。而且所有可能的和 为1,则对于一个输入的结果,其结果可表示为:

参数是一个k维的向量。

而代价函数:



是逻辑回归代价函数的推广。

而对于softmax的求解,没有闭式解法(高阶多项方程组求解),仍用梯度下降法,或L-BFGS求解。

当k=2时,softmax退化为逻辑回归,这也能反映softmax回归是逻辑回归的推广。

线性回归,逻辑回归,softmax回归 三者联系,需要反复回味,想的多了,理解就能深入了。

**********************************************************************************

4. 拟合:拟合模型/函数

由测量的数据,估计一个假定的模型/函数。如何拟合,拟合的模型是否合适?可分为以下三类

合适拟合

欠拟合

过拟合

看过一篇文章(附录)的图示,理解起来很不错:

欠拟合:

合适的拟合

过拟合

过拟合的问题如何解决?

问题起源?模型太复杂,参数过多,特征数目过多。

方法: 1) 减少特征的数量,有人工选择,或者采用模型选择算法

http://www.cnblogs.com/heaad/archive/2011/01/02/1924088.html (特征选择算法的综述)

2) 正则化,即保留所有特征,但降低参数的值的影响。正则化的优点是,特征很多时,每个特征都会有一个合适的影响因子。

7. 错误函数/代价函数/损失函数:

线性回归中采用平方和的形式,一般都是由模型条件概率的最大似然函数 概率积最大值,求导,推导出来的。

统计学中,损失函数一般有以下几种:

1) 0-1损失函数

L(Y,f(X))={1,0,Y≠f(X)Y=f(X)

2) 平方损失函数

L(Y,f(X))=(Y−f(X))2

3) 绝对损失函数

L(Y,f(X))=|Y−f(X)|

4) 对数损失函数

L(Y,P(Y|X))=−logP(Y|X)

损失函数越小,模型就越好,而且损失函数 尽量 是一个凸函数,便于收敛计算。

线性回归,采用的是平方损失函数。而逻辑回归采用的是 对数 损失函数。 这些仅仅是一些结果,没有推导。

8. 正则化:

为防止过度拟合的模型出现(过于复杂的模型),在损失函数里增加一个每个特征的惩罚因子。这个就是正则化。如正则化的线性回归 的 损失函数:

lambda就是惩罚因子。

正则化是模型处理的典型方法。也是结构风险最小的策略。在经验风险(误差平方和)的基础上,增加一个惩罚项/正则化项。

线性回归的解,也从

θ=(XTX)−1XTy

转化为

括号内的矩阵,即使在样本数小于特征数的情况下,也是可逆的。

逻辑回归的正则化:

从贝叶斯估计来看,正则化项对应模型的先验概率,复杂模型有较大先验概率,简单模型具有较小先验概率。这个里面又有几个概念。

什么是结构风险最小化?先验概率?模型简单与否与先验概率的关系?

逻辑回归logicalistic regression 本质上仍为线性回归,为什么被单独列为一类?

其存在一个非线性的映射关系,处理的一般是二元结构的0,1问题,是线性回归的扩展,应用广泛,被单独列为一类。

而且如果直接应用线性回归来拟合逻辑回归数据,就会形成很多局部最小值。是一个非凸集,而线性回归损失函数 是一个 凸函数,即最小极值点,即是全局极小点。模型不符。

若采用 逻辑回归的 损失函数,损失函数就能形成一个 凸函数。

多项式样条函数拟合

多项式拟合,模型是一个多项式形式;样条函数,模型不仅连续,而且在边界处,高阶导数也是连续的。好处:是一条光滑的曲线,能避免边界出现震荡的形式出现(龙格线性)
http://baike.baidu.com/view/301735.htm

以下是几个需慢慢深入理解的概念:

无结构化预测模型

结构化预测模型

什么是结构化问题?

adaboost, svm, lr 三个算法的关系。

三种算法的分布对应 exponential loss(指数 损失函数), hinge loss, log loss(对数损失函数), 无本质区别。应用凸上界取代0、1损失,即凸松弛技术。从组合优化到凸集优化问题。凸函数,比较容易计算极值点。

时间: 2024-10-10 05:17:07

线性回归,逻辑回归的学习(包含最小二乘法及极大似然函数等)的相关文章

线性回归, 逻辑回归与神经网络公式相似点

线性回归, 逻辑回归与神经网络公式相似点 线性回归与逻辑回归 线性回归的损失函数 \[ J(\theta)={1\over{2m}}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^2 \] 逻辑回归的损失函数 \[ J(\theta)={-1\over{m}}[\sum_{i=1}^{m}y^{(i)}log(h_\theta(x^{(i)}))+(1-y^{(i)})log(1-h_\theta(x^{(i)}))] \] 线性回归的损失函数的梯度 \[ {

【转】逻辑回归常见面试点总结

转自:https://www.cnblogs.com/ModifyRong/p/7739955.html 1.简介 逻辑回归是面试当中非常喜欢问到的一个机器学习算法,因为表面上看逻辑回归形式上很简单,很好掌握,但是一问起来就容易懵逼.所以在面试的时候给大家的第一个建议不要说自己精通逻辑回归,非常容易被问倒,从而减分.下面总结了一些平常我在作为面试官面试别人和被别人面试的时候,经常遇到的一些问题. 2.正式介绍 如何凸显你是一个对逻辑回归已经非常了解的人呢.那就是用一句话概括它!逻辑回归假设数据服

逻辑回归 面试

转自 http://www.cnblogs.com/ModifyRong/p/7739955.html 1.简介 逻辑回归是面试当中非常喜欢问到的一个机器学习算法,因为表面上看逻辑回归形式上很简单,很好掌握,但是一问起来就容易懵逼.所以在面试的时候给大家的第一个建议不要说自己精通逻辑回归,非常容易被问倒,从而减分.下面总结了一些平常我在作为面试官面试别人和被别人面试的时候,经常遇到的一些问题. 2.正式介绍 如何凸显你是一个对逻辑回归已经非常了解的人呢.那就是用一句话概括它!逻辑回归假设数据服从

【机器学习】逻辑回归

逻辑回归 原理 逻辑回归模型 逻辑回归模型(LR)是判别模型,可以用于二分类或多分类,模型如下: 二分类: $$P(Y=1 | x)=\frac{\exp\left(w \cdot x\right)}{1+ \exp \left(w \cdot x\right)}$$ $$P(Y=0 | x)=\frac{1}{1+ \exp \left(w \cdot x\right)}$$ 多分类: $$P(Y=k | x)=\frac{\exp \left(w_{k} \cdot x\right)}{1+

4.机器学习之逻辑回归算法

理论上讲线性回归模型既可以用于回归,也可以用于分类.解决回归问题,可以用于连续目标值的预测.但是针对分类问题,该方法则有点不适应,因为线性回归的输出值是不确定范围的,无法很好的一一对应到我们的若干分类中.即便是一个二分类,线性回归+阈值的方式,已经很难完成一个鲁棒性很好的分类器了.为了更好的实现分类,逻辑回归诞生了.逻辑回归(Logistic Regression)主要解决二分类问题,用来表示某件事情发生的可能性.逻辑回归是假设数据服从Bernoulli分布的,因此LR也属于参数模型,他的目的也

21-城里人套路深之用python实现逻辑回归算法

如果和一个人交流时,他的思想像弹幕一样飘散在空中,将是怎样的一种景象?我想大概会毫不犹豫的点关闭的.生活为啥不能简单明了?因为太直白了令人乏味.保留一些不确定性反而扑朔迷离,引人入胜.我们学习了线性回归,对于损失函数及权重更新公式理解起来毫无压力,这是具体直白的好处.然而遇到抽象晦涩的逻辑回归,它的损失函数及权重更新公式就经历了从p(取值范围0~1)->p/(1-p)(取值范围0~+oo)->z=log(p/(1-p))(取值范围-oo~+oo)->p=1/1+e^(-z)->极大

逻辑回归和最大熵模型

逻辑回归 因变量随着自变量变化而变化. 多重线性回归是用回归方程描述一个因变量与多个自变量的依存关系,简称多重回归,其基本形式为:Y= a + bX1+CX2+*+NXn. 二项分布即重复n次独立的伯努利试验.在每次试验中只有两种可能的结果,而且两种结果发生与否互相对立,并且相互独立,与其它各次试验结果无关,事件发生与否的概率在每一次独立试验中都保持不变,则这一系列试验总称为n重伯努利实验,当试验次数为1时,二项分布服从0-1分布. 逻辑分布 二项逻辑回归 如何求逻辑回归中的参数W 首先介绍似然

R语言ROC曲线下的面积 - 评估逻辑回归中的歧视

原文链接:http://tecdat.cn/?p=6310 在讨论ROC曲线之前,首先让我们在逻辑回归的背景下考虑校准和区分之间的区别. 良好的校准是不够的 对于模型协变量的给定值,我们可以获得预测的概率.如果观察到的风险与预测的风险(概率)相匹配,则称该模型已被很好地校准.也就是说,如果我们要分配一组值的大量观察结果,这些观察结果的比例应该接近20%.如果观察到的比例是80%,我们可能会同意该模型表现不佳 - 这低估了这些观察的风险. 我们是否应满足于使用模型,只要它经过良好校准?不幸的是.为

逻辑回归(logistic-regression)之梯度下降法详解

引言 逻辑回归常用于预测疾病发生的概率,例如因变量是是否恶性肿瘤,自变量是肿瘤的大小.位置.硬度.患者性别.年龄.职业等等(很多文章里举了这个例子,但现代医学发达,可以通过病理检查,即获取标本放到显微镜下观察是否恶变来判断):广告界中也常用于预测点击率或者转化率(cvr/ctr),例如因变量是是否点击,自变量是物料的长.宽.广告的位置.类型.用户的性别.爱好等等. 本章主要介绍逻辑回归算法推导.梯度下降法求最优值的推导及spark的源码实现. 常规方法 一般回归问题的步骤是: 1. 寻找预测函数