逻辑回归 样本量要求,模型特征数 大大多于 样本数,会造成什么结果

机器学习(17)
回归问题的条件/前提:
1) 收集的数据
2) 假设的模型,即一个函数,这个函数里含有未知的参数,通过学习,可以估计出参数。然后利用这个模型去预测/分类新的数据。
1. 线性回归
假设 特征 和 结果 都满足线性。即不大于一次方。这个是针对 收集的数据而言。
收集的数据中,每一个分量,就可以看做一个特征数据。每个特征至少对应一个未知的参数。这样就形成了一个线性模型函数,向量表示形式:
这个就是一个组合问题,已知一些数据,如何求里面的未知参数,给出一个最优解。 一个线性矩阵方程,直接求解,很可能无法直接求解。有唯一解的数据集,微乎其微。
基本上都是解不存在的超定方程组。因此,需要退一步,将参数求解问题,转化为求最小误差问题,求出一个最接近的解,这就是一个松弛求解。
求一个最接近解,直观上,就能想到,误差最小的表达形式。仍然是一个含未知参数的线性模型,一堆观测数据,其模型与数据的误差最小的形式,模型与数据差的平方和最小:
这就是损失函数的来源。接下来,就是求解这个函数的方法,有最小二乘法,梯度下降法。
http://zh.wikipedia.org/wiki/线性方程组
最小二乘法
是一个直接的数学求解公式,不过它要求X是列满秩的,
梯度下降法
分别有梯度下降法,批梯度下降法,增量梯度下降。本质上,都是偏导数,步长/最佳学习率,更新,收敛的问题。这个算法只是最优化原理中的一个普通的方法,可以结合最优化原理来学,就容易理解了。
2. 逻辑回归
逻辑回归与线性回归的联系、异同?
逻辑回归的模型 是一个非线性模型,sigmoid函数,又称逻辑回归函数。但是它本质上又是一个线性回归模型,因为除去sigmoid映射函数关系,其他的步骤,算法都是线性回归的。可以说,逻辑回归,都是以线性回归为理论支持的。
只不过,线性模型,无法做到sigmoid的非线性形式,sigmoid可以轻松处理0/1分类问题。
另外它的推导含义:仍然与线性回归的最大似然估计推导相同,最大似然函数连续积(这里的分布,可以使伯努利分布,或泊松分布等其他分布形式),求导,得损失函数。
逻辑回归函数
&&表现了0,1分类的形式。
应用举例:
是否垃圾邮件分类?
是否肿瘤、癌症诊断?
是否金融欺诈?
3. 一般线性回归
线性回归 是以 高斯分布 为误差分析模型; 逻辑回归 采用的是 伯努利分布 分析误差。
而高斯分布、伯努利分布、贝塔分布、迪特里特分布,都属于指数分布。
而一般线性回归,在x条件下,y的概率分布 p(y|x) 就是指 指数分布.
经历最大似然估计的推导,就能导出一般线性回归的 误差分析模型(最小化误差模型)。
softmax回归就是 一般线性回归的一个例子。
有监督学习回归,针对多类问题(逻辑回归,解决的是二类划分问题),如数字字符的分类问题,0-9,10个数字,y值有10个可能性。
而这种可能的分布,是一种指数分布。而且所有可能的和 为1,则对于一个输入的结果,其结果可表示为:
参数是一个k维的向量。
而代价函数:
是逻辑回归代价函数的推广。
而对于softmax的求解,没有闭式解法(高阶多项方程组求解),仍用梯度下降法,或L-BFGS求解。
当k=2时,softmax退化为逻辑回归,这也能反映softmax回归是逻辑回归的推广。
线性回归,逻辑回归,softmax回归 三者联系,需要反复回味,想的多了,理解就能深入了。
4. 拟合:拟合模型/函数
由测量的数据,估计一个假定的模型/函数。如何拟合,拟合的模型是否合适?可分为以下三类
看过一篇文章(附录)的图示,理解起来很不错:
合适的拟合
过拟合的问题如何解决?
问题起源?模型太复杂,参数过多,特征数目过多。
方法: 1) 减少特征的数量,有人工选择,或者采用模型选择算法
/heaad/archive//1924088.html (特征选择算法的综述)
&&&&&2) 正则化,即保留所有特征,但降低参数的值的影响。正则化的优点是,特征很多时,每个特征都会有一个合适的影响因子。
5. 概率解释:线性回归中为什么选用平方和作为误差函数?
假设模型结果与测量值 误差满足,均值为0的高斯分布,即正态分布。这个假设是靠谱的,符合一般客观统计规律。
数据x与y的条件概率:
若使 模型与测量数据最接近,那么其概率积就最大。概率积,就是概率密度函数的连续积,这样,就形成了一个最大似然函数估计。对最大似然函数估计进行推导,就得出了求导后结果:
平方和最小公式
6. 参数估计 与 数据的关系
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
括号内的矩阵,即使在样本数小于特征数的情况下,也是可逆的。
逻辑回归的正则化:
从贝叶斯估计来看,正则化项对应模型的先验概率,复杂模型有较大先验概率,简单模型具有较小先验概率。这个里面又有几个概念。
什么是结构风险最小化?先验概率?模型简单与否与先验概率的关系?
经验风险、期望风险、经验损失、结构风险
期望风险(真实风险),可理解为 模型函数固定时,数据 平均的 损失程度,或“平均”犯错误的程度。 期望风险是依赖损失函数和概率分布的。
只有样本,是无法计算期望风险的。
所以,采用经验风险,对期望风险进行估计,并设计学习算法,使其最小化。即经验风险最小化(Empirical Risk Minimization)ERM,而经验风险是用损失函数来评估的、计算的。
对于分类问题,经验风险,就训练样本错误率。
对于函数逼近,拟合问题,经验风险,就平方训练误差。
对于概率密度估计问题,ERM,就是最大似然估计法。
而经验风险最小,并不一定就是期望风险最小,无理论依据。只有样本无限大时,经验风险就逼近了期望风险。
如何解决这个问题? 统计学习理论SLT,支持向量机SVM就是专门解决这个问题的。
有限样本条件下,学习出一个较好的模型。
由于有限样本下,经验风险无法近似期望风险。因此,统计学习理论给出了二者之间的关系:
而右端的表达形式就是结构风险,是期望风险的上界。而是置信区间,是VC维h的增函数,也是样本数n的减函数。
VC维的定义在 SVM,SLT中有详细介绍。e依赖h和n,若使期望风险最小,只需关心其上界最小,即e最小化。所以,需要选择合适的h和n。这就是结构风险最小化Structure Risk Minimization,SRM.
SVM就是SRM的近似实现,SVM中的概念另有一大筐。就此打住。
1范数,2范数 的物理意义:
范数,能将一个事物,映射到非负实数,且满足非负性,齐次性,三角不等式。是一个具有“长度”概念的函数。
1范数为什么能得到稀疏解?
压缩感知理论,求解与重构,求解一个L1范数正则化的最小二乘问题。其解正是 欠定线性系统的解。
2范数为什么能得到最大间隔解?
2范数代表能量的度量单位,用来重构误差。
以上几个概念理解需要补充。
9. 最小描述长度准则:
即一组实例数据,存储时,利用一模型,编码压缩。模型长度,加上压缩后长度,即为该数据的总的描述长度。最小描述长度准则,就是选择 总的描述长度最小的模型。
最小描述长度MDL准则,一个重要特性就是避免过度拟合现象。
如利用贝叶斯网络,压缩数据,一方面,&模型自身描述长度 随模型复杂度的增加而增加 ; 另一方面, 对数据集描述的长度随模型复杂度的增加而下降。因此,
贝叶斯网络的 MD L总是力求在模型精度和模型复杂度之间找到平衡。当模型过于复杂时,最小描述长度准则就会其作用,限制复杂程度。
奥卡姆剃刀原则:
 如果你有两个原理,它们都能解释观测到的事实,那么你应该使用简单的那个,直到发现更多的证据。
&&&万事万物应该尽量简单,而不是更简单。
11. 凸松弛技术:
将组合优化问题,转化为易于求解极值点的凸优化技术。凸函数/代价函数的推导,最大似然估计法。
12. 牛顿法求解 最大似然估计
前提条件:求导迭代,似然函数可导,且二阶可导。
迭代公式:
若是 向量形式,
H就是 n*n 的hessian矩阵了。
特征:当靠近极值点时,牛顿法能快速收敛,而在远离极值点的地方,牛顿法可能不收敛。 这个的推导?
这点是与梯度下降法的收敛特征是相反的。
线性与非线性:
线性,一次函数;非线性,输入、输出不成正比,非一次函数。
线性的局限性:xor问题。线性不可分,形式:
而线性可分,是只用一个线性函数,将数据分类。线性函数,直线。
线性无关:各个独立的特征,独立的分量,无法由其他分量或特征线性表示。
核函数的物理意义:
映射到高维,使其变得线性可分。什么是高维?如一个一维数据特征x,转换为(x,x^2, x^3),就成为了一个三维特征,且线性无关。一个一维特征线性不可分的特征,在高维,就可能线性可分了。
逻辑回归logicalistic regression 本质上仍为线性回归,为什么被单独列为一类?
其存在一个非线性的映射关系,处理的一般是二元结构的0,1问题,是线性回归的扩展,应用广泛,被单独列为一类。
而且如果直接应用线性回归来拟合 逻辑回归数据,就会形成很多局部最小值。是一个非凸集,而线性回归损失函数 是一个 凸函数,即最小极值点,即是全局极小点。模型不符。
若采用 逻辑回归的 损失函数,损失函数就能形成一个 凸函数。
多项式样条函数拟合
多项式拟合,模型是一个多项式形式;样条函数,模型不仅连续,而且在边界处,高阶导数也是连续的。好处:是一条光滑的曲线,能避免边界出现震荡的形式出现(龙格线性)
/view/301735.htm
以下是几个需慢慢深入理解的概念:
无结构化预测模型
结构化预测模型
什么是结构化问题?
adaboost, svm, lr 三个算法的关系。
三种算法的分布对应 exponential loss(指数 损失函数), hinge loss, log loss(对数损失函数), 无本质区别。应用凸上界取代0、1损失,即凸松弛技术。从组合优化到凸集优化问题。凸函数,比较容易计算极值点。
正则化与贝叶斯参数估计的联系?
部分参考文章:
/133/coursera公开课笔记-斯坦福大学机器学习第七课-正则化-regularization
/jerrylead/archive//1971867.html
zzfrom:&http://blog.csdn.net/viewcode/article/details/8794401
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:8931次
排名:千里之外
原创:23篇
转载:45篇
(1)(4)(1)(11)(8)(3)(1)(4)(3)(16)(14)(2)在数据膨胀的当今社会里,海量数据中蕴含价值日渐凸显出来。如何有效的挖掘海量数据中的有效信息已经成为各个领域面临的共同问题。以互联网企业为代表的科技公司依据自身的实际需求,开始大量的应用机器学习、数据挖掘以及人工智能等算法获取海量数据中蕴含的信息,并且已经取得了很好的效果。
当今社会已经从过去的信息匮乏,转变为信息泛滥的时代。由于网络以及相关应用的不断普及,网络数据逐渐呈现着”海量,高维”的趋势,如何利用已有的机器学习或者数据挖掘的算法,获取有效信息,已经成为学术界以及工业所共同关注的重点。国内大数据技术服务商百分点公司已将机器学习的相关技术应用到大数据分析中,在百分点合作的某一团购网站,我们选取了10个基于商品和用户的特征属性,结合机器学习中的分类算法,构建了一个基于用户推荐的分类器。在实际应用过程中,该团购网站点击率平均提升19%,下单率提升42%,直接下单率提升了近一倍,从而达到了提高推荐效果的目的。
在本篇文章中将以机器学习的经典算法逻辑回归模型作为预测模型,结合目前百分点为团购网站开发的分类模型作为具体实例,具体讲解一下如何在”海量、高维”数据中有效的训练模型。
什么是逻辑回归模型?
机器学习算法中的逻辑回归模型(Logic Regression, LR),以下简称为LR模型,是一个被广泛应用在实际场景中的算法。在本篇文章主要考虑的对象是基于二元分类逻辑回归预测模型,即分类器识别的类标号为。假设训练集数据为,其中,,可以将训练集看成是一个的矩阵,由于在本篇文章中主要针对的是高维的海量数据,但由于哑元变量的存在,数据中存在着大量的0/1值,因此可以将训练集的整体看成是一个高维的稀疏矩阵。
在介绍如何训练模型之前,首先简单的介绍一下逻辑回归模型。逻辑回归模型是一种基于判别式的方法,它假定类的实例是线性可分的,通过直接估计判别式的参数,获得最终的预测模型。逻辑回归模型并不是对类条件密度建模,而是对类条件比率进行建模。假定类条件对数似然比是线性的:
使用贝叶斯公式,我们有:
令表示为,因此我们可以得到逻辑回归模型:
作为的估计。
训练逻辑回归模型
当我们确定使用LR模型并且选定了初始特征集,那么我们的下一步就是如何获取最佳的评估参数,使得训练得到的LR模型可以获得最佳的分类效果。这个过程也可以看做是一个搜索的过程,即在一个LR模型的解空间内,如何查找一个与我们设计的LR模型最为匹配的解。为了达到能够获取对应的最佳LR模型,我们需要设计一种搜索策略,考虑按照什么样的准则去选择最优的模型。
如何选择最佳的LR模型,直观的想法就是通过预测模型的结果与真实值的匹配程度评价预测模型的好坏。在机器学习领域中,使用损失函数(loss function)或者代价函数(cost function)来计算预测结果与真实值得匹配程度。损失函数是一个非负实值函数,根据不同的需求,可以设计不同的损失函数。在本篇文章中将作为损失函数,其中是预测模型f基于测试实例X的预测值,Y是测试实例x的真实类标号的值。
在机器学习中常用的损失函数包括以下几种:
0-1损失函数:
平方损失函数:
绝对损失函数:
对数损失函数或对数似然损失函数:
由于模型的输入和输出(X,Y)是随机变量,遵循联合分布P(X,Y),所以损失函数的期望是:
上面的期望公式表示的是理论预测模型关于联合分布P(X,Y)在平均意义下的损失,称为风险函数(risk function)或期望损失(expected loss)。损失函数与风险函数实际上都是为了测量预测模型的分类能力,只是前者是从微观层次上考虑,而后者是从宏观上(平均意义上)考虑。因此我们可以获得关于训练数据集的平均损失,称为经验风险(empiricalrisk)或经验损失(empirical loss),记作:
其中是预测模型关于联合分布的期望损失,而则是模型关于训练样本的平均损失。根据统计学中的大数定理,当样本容量很大的时候,可以将经验损失作为期望损失。但是在训练模型的过程中,由于数据中存在着噪音数据或者数据偏移的问题,导致了训练模型的泛化性非常差,也就是机器学习中著名的过度拟合的问题。为了解决这个问题,需要规则化处理,人为增加约束条件,在经验风险函数上添加上表示模型复杂度的正则化项(regularizer)或惩罚项(penalty term),这种经验风险函数被称作结构风险最小化(Structural Risk Minimization, SRM),可以使用下面的公式表示:
其中用来惩罚模型的复杂度,模型F越复杂,复杂度越大,是系数,用以权衡经验风险和模型的复杂度。
在机器学习中,总结起来共有三类方法用来设计相关的经验风险函数:
当设计的模型很简单,并且数据量也很大的时候,给定一组参数以后,可以使用最大似然评估方法(Maximum Likelihood Estimation, MLE)训练得到相关的模型参数;
当设计的模型很复杂,存在着隐含变量。这样的情况可以使用EM算法评估模型的参数。一般分为两个步骤,首先给定参数,对于隐含变量做期望,算出包括隐变量的似然函数;第二步,使用MLE方法,评估参数值,更新对应的参数值;
当模型并不是很复杂,但是数据非常少的时候,并且具有一定的先验知识的时候,可以使用贝叶斯统计方法评估模型的参数,也就是所谓的最大后验概率(Maximum A Posteriori,MAP)。首先基于先验知识,给定待估参数一个先验统计分布,然后根据贝叶斯公式,推算出参数的后验分布(posterior probability),最后最大化这个后验概率,获得对应的参数值。
由于本篇文章针对的是“高维、海量”的训练数据,并且使用了相对简单的LR模型作为预测模型,因此我们在训练模型的过程中使用了MLE方法,设计相关的经验风险参数;其次由于本身的训练数据充足,因此在经验函数中并没有添加对应的基于模型复杂的惩罚项(正则化),在我们模型中其具体的风险函数如下所示:
下面的问题就转变为一个无约束的最优化的问题。在基于海量数据训练模型的时候,需要考虑的是如何高效的训练模型。在实际的开发过程中,个人认为可以从两个方面提高训练模型的效率。首先是对于数据在内存的存储结构进行优化,尤其是针对“高维、稀疏”矩阵的时候,在本次实验中我们应用了R中的Matrix包中的稀疏矩阵格式,大幅度提高了算法计算效率。其次需要选择相关的迭代算法,加快经验风险函数的收敛速度。在这里介绍几种常用的迭代算法:
牛顿迭代算法中的牛顿-拉斐森迭代算法,该算法需要计算海森矩阵,因此算法需要花费大量的时间,迭代时间较长。
拟牛顿迭代算法,使用近似算法,计算海森矩阵,从而降低算法每次迭代的时间,提高算法运行的效率。在拟牛顿算法中较为经典的算法有两种:BFGS算法和L-BFGS算法。BFGS算法是利用原有的所有历史计算结果,近似计算海森矩阵,虽然提高了整个算法的效率,但是由于需要保存大量历史结果,因此该算法受到内存的大小的局限,限制了算法的应用范围;而L-BFGS则是正是针对BFGS消耗内存较大的特点,只保存有限的计算结果,大大降低了算法对于内存的依赖。
在实际应用中选择何种迭代算法,需要根据实际需求以及数据本身的特点进行选择,在本次试验我们选取了牛顿-拉斐森迭代算法以及L-BFGS算法作为LR模型的迭代算法。
当学习算法迭代完成之后,我们可以获对应各个属性的权重。接下来的任务我们需要对现有属性与响应变量之间的显著性进行检验,针对已有的训练模型对应的属性集进行验证,删除显著性不符合阈值的特征。由于在构建风险函数的时候,使用了MLE方法,因此可以使用Wald Test对于计算得到的参数,进行显著性验证。在使用Wald Test之前,要确保期望值与评估值之间的差值符合正态分布。Wald统计变量的一般形式:
其中表示评估值,表示期望值,表示评估值方差。在本次试验中我们将原假设设定为,即表示现有的属性与响应变量无相关性,因此本实验的Wald统计值可以表示为:
其中是实际估计的参数值,是的标准方差。由于Wald统计值对应卡方分布,因此可以利用卡方分布计算P值,如果P值大于指定的阈值,那么可以认为原假设成立,即该属性与响应变量是显著不相关,删除该变量,否则保存该变量。在实际的训练过程中,每次验证属性显著性的时候,只挑选P值最大与人为设定的阈值进行比较;如果选择的P值不大于阈值,那么模型训练完毕;否则删除选择的P值对应的属性,更新预测模型。重新学习更新后的预测模型,推测对应的权重值,然后再次对各个属性进行Wald Test验证。重复上面的过程,直到没有任何变量的Wald Test对应的P值都不大于人为设定的阈值为止。到此整个模型的训练过程结束。
作者:百分点
转载请注明来自36大数据(): &
除非特别注明,本站所有文章均不代表本站观点。报道中出现的商标属于其合法持有人。请遵守理性,宽容,换位思考的原则。逻辑回归模型(Logistic Regression, LR)基础 - 文赛平 - 推酷
逻辑回归模型(Logistic Regression, LR)基础 - 文赛平
逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,使得逻辑回归模型成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心。本文主要详述逻辑回归模型的基础,至于逻辑回归模型的优化、逻辑回归与计算广告学等,请关注后续文章。
逻辑回归模型
&&& 回归是一种极易理解的模型,就相当于y=f(x),表明自变量x与因变量y的关系。最常见问题有如医生治病时的望、闻、问、切,之后判定病人是否生病或生了什么病,其中的望闻问切就是获取自变量x,即特征数据,判断是否生病就相当于获取因变量y,即预测分类。
&&& 最简单的回归是线性回归,在此借用Andrew NG的讲义,有如图1.a所示,X为数据点——肿瘤的大小,Y为观测值——是否是恶性肿瘤。通过构建线性回归模型,如h
(x)所示,构建线性回归模型后,即可以根据肿瘤大小,预测是否为恶性肿瘤h
(x)≥.05为恶性,h
(x)&0.5为良性。
&&& 然而线性回归的鲁棒性很差,例如在图1.b的数据集上建立回归,因最右边噪点的存在,使回归模型在训练集上表现都很差。这主要是由于线性回归在整个实数域内敏感度一致,而分类范围,需要在[0,1]。逻辑回归就是一种减小预测范围,将预测值限定为[0,1]间的一种回归模型,其回归方程与回归曲线如图2所示。逻辑曲线在z=0时,十分敏感,在z&&0或z&&0处,都不敏感,将预测值限定为(0,1)。
图2 逻辑方程与逻辑曲线
&&& 逻辑回归其实仅为在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,逻辑回归成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心。对于多元逻辑回归,可用如下公式似合分类,其中公式(4)的变换,将在逻辑回归模型参数估计时,化简公式带来很多益处,y={0,1}为分类结果。
&&& 对于训练数据集,特征数据x={x
}和对应的分类数据y={y
}。构建逻辑回归模型f(θ),最典型的构建方法便是应用极大似然估计。首先,对于单个样本,其后验概率为:
&&& 那么,极大似然函数为:
&&& log似然是:
&&& 由第1节可知,求逻辑回归模型f(θ),等价于:
&&& 采用梯度下降法:
&&&& 从而迭代θ至收敛即可:
&&& 对于LR分类模型的评估,常用AUC来评估,关于AUC的更多定义与介绍,可见参考文献2,在此只介绍一种极简单的计算与理解方法。
&&&& 对于训练集的分类,训练方法1和训练方法2分类正确率都为80%,但明显可以感觉到训练方法1要比训练方法2好。因为训练方法1中,5和6两数据分类错误,但这两个数据位于分类面附近,而训练方法2中,将10和1两个数据分类错误,但这两个数据均离分类面较远。
&&& AUC正是衡量分类正确度的方法,将训练集中的label看两类{0,1}的分类问题,分类目标是将预测结果尽量将两者分开。将每个0和1看成一个pair关系,团中的训练集共有5*5=25个pair关系,只有将所有pair关系一至时,分类结果才是最好的,而auc为1。在训练方法1中,与10相关的pair关系完全正确,同样9、8、7的pair关系也完全正确,但对于6,其pair关系(6,5)关系错误,而与4、3、2、1的关系正确,故其auc为(25-1)/25=0.96;对于分类方法2,其6、7、8、9的pair关系,均有一个错误,即(6,1)、(7,1)、(8,1)、(9,1),对于数据点10,其正任何数据点的pair关系,都错误,即(10,1)、(10,2)、(10,3)、(10,4)、(10,5),故方法2的auc为(25-4-5)/25=0.64,因而正如直观所见,分类方法1要优于分类方法2。
参考文献:
1& Andrew NG. Logistic Regression Classification
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致机器学习(100)
数学基础(32)
回归问题的条件/前提:
1) 收集的数据
2) 假设的模型,即一个函数,这个函数里含有未知的参数,通过学习,可以估计出参数。然后利用这个模型去预测/分类新的数据。
1. 线性回归
假设 特征 和 结果 都满足线性。即不大于一次方。这个是针对 收集的数据而言。
收集的数据中,每一个分量,就可以看做一个特征数据。每个特征至少对应一个未知的参数。这样就形成了一个线性模型函数,向量表示形式:
这个就是一个组合问题,已知一些数据,如何求里面的未知参数,给出一个最优解。 一个线性矩阵方程,直接求解,很可能无法直接求解。有唯一解的数据集,微乎其微。
基本上都是解不存在的超定方程组。因此,需要退一步,将参数求解问题,转化为求最小误差问题,求出一个最接近的解,这就是一个松弛求解。
求一个最接近解,直观上,就能想到,误差最小的表达形式。仍然是一个含未知参数的线性模型,一堆观测数据,其模型与数据的误差最小的形式,模型与数据差的平方和最小:
这就是损失函数的来源。接下来,就是求解这个函数的方法,有最小二乘法,梯度下降法。
http://zh.wikipedia.org/wiki/%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%E7%BB%84
最小二乘法
是一个直接的数学求解公式,不过它要求X是列满秩的,
梯度下降法
分别有梯度下降法,批梯度下降法,增量梯度下降。本质上,都是偏导数,步长/最佳学习率,更新,收敛的问题。这个算法只是最优化原理中的一个普通的方法,可以结合最优化原理来学,就容易理解了。
2. 逻辑回归
逻辑回归与线性回归的联系、异同?
逻辑回归的模型 是一个非线性模型,sigmoid函数,又称逻辑回归函数。但是它本质上又是一个线性回归模型,因为除去sigmoid映射函数关系,其他的步骤,算法都是线性回归的。可以说,逻辑回归,都是以线性回归为理论支持的。
只不过,线性模型,无法做到sigmoid的非线性形式,sigmoid可以轻松处理0/1分类问题。
另外它的推导含义:仍然与线性回归的最大似然估计推导相同,最大似然函数连续积(这里的分布,可以使伯努利分布,或泊松分布等其他分布形式),求导,得损失函数。
逻辑回归函数
表现了0,1分类的形式。
应用举例:
是否垃圾邮件分类?
是否肿瘤、癌症诊断?
是否金融欺诈?
3. 一般线性回归
线性回归 是以 高斯分布 为误差分析模型; 逻辑回归 采用的是 伯努利分布 分析误差。
而高斯分布、伯努利分布、贝塔分布、迪特里特分布,都属于指数分布。
而一般线性回归,在x条件下,y的概率分布 p(y|x) 就是指 指数分布.
经历最大似然估计的推导,就能导出一般线性回归的 误差分析模型(最小化误差模型)。
softmax回归就是 一般线性回归的一个例子。
有监督学习回归,针对多类问题(逻辑回归,解决的是二类划分问题),如数字字符的分类问题,0-9,10个数字,y值有10个可能性。
而这种可能的分布,是一种指数分布。而且所有可能的和 为1,则对于一个输入的结果,其结果可表示为:
参数是一个k维的向量。
而代价函数:
是逻辑回归代价函数的推广。
而对于softmax的求解,没有闭式解法(高阶多项方程组求解),仍用梯度下降法,或L-BFGS求解。
当k=2时,softmax退化为逻辑回归,这也能反映softmax回归是逻辑回归的推广。
线性回归,逻辑回归,softmax回归 三者联系,需要反复回味,想的多了,理解就能深入了。
4. 拟合:拟合模型/函数
由测量的数据,估计一个假定的模型/函数。如何拟合,拟合的模型是否合适?可分为以下三类
看过一篇文章(附录)的图示,理解起来很不错:
合适的拟合
过拟合的问题如何解决?
问题起源?模型太复杂,参数过多,特征数目过多。
方法: 1) 减少特征的数量,有人工选择,或者采用模型选择算法
/heaad/archive//1924088.html (特征选择算法的综述)
& & &2) 正则化,即保留所有特征,但降低参数的值的影响。正则化的优点是,特征很多时,每个特征都会有一个合适的影响因子。
5. 概率解释:线性回归中为什么选用平方和作为误差函数?
假设模型结果与测量值 误差满足,均值为0的高斯分布,即正态分布。这个假设是靠谱的,符合一般客观统计规律。
数据x与y的条件概率:
若使 模型与测量数据最接近,那么其概率积就最大。概率积,就是概率密度函数的连续积,这样,就形成了一个最大似然函数估计。对最大似然函数估计进行推导,就得出了求导后结果: 平方和最小公式
6. 参数估计 与 数据的关系
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
括号内的矩阵,即使在样本数小于特征数的情况下,也是可逆的。
逻辑回归的正则化:
从贝叶斯估计来看,正则化项对应模型的先验概率,复杂模型有较大先验概率,简单模型具有较小先验概率。这个里面又有几个概念。
什么是结构风险最小化?先验概率?模型简单与否与先验概率的关系?
经验风险、期望风险、经验损失、结构风险
期望风险(真实风险),可理解为 模型函数固定时,数据 平均的 损失程度,或“平均”犯错误的程度。 期望风险是依赖损失函数和概率分布的。
只有样本,是无法计算期望风险的。
所以,采用经验风险,对期望风险进行估计,并设计学习算法,使其最小化。即经验风险最小化(Empirical Risk Minimization)ERM,而经验风险是用损失函数来评估的、计算的。
对于分类问题,经验风险,就训练样本错误率。
对于函数逼近,拟合问题,经验风险,就平方训练误差。
对于概率密度估计问题,ERM,就是最大似然估计法。
而经验风险最小,并不一定就是期望风险最小,无理论依据。只有样本无限大时,经验风险就逼近了期望风险。
如何解决这个问题? 统计学习理论SLT,支持向量机SVM就是专门解决这个问题的。
有限样本条件下,学习出一个较好的模型。
由于有限样本下,经验风险无法近似期望风险。因此,统计学习理论给出了二者之间的关系:
而右端的表达形式就是结构风险,是期望风险的上界。而是置信区间,是VC维h的增函数,也是样本数n的减函数。
VC维的定义在 SVM,SLT中有详细介绍。e依赖h和n,若使期望风险最小,只需关心其上界最小,即e最小化。所以,需要选择合适的h和n。这就是结构风险最小化Structure Risk Minimization,SRM.
SVM就是SRM的近似实现,SVM中的概念另有一大筐。就此打住。
1范数,2范数 的物理意义:
范数,能将一个事物,映射到非负实数,且满足非负性,齐次性,三角不等式。是一个具有“长度”概念的函数。
1范数为什么能得到稀疏解?
压缩感知理论,求解与重构,求解一个L1范数正则化的最小二乘问题。其解正是 欠定线性系统的解。
2范数为什么能得到最大间隔解?
2范数代表能量的度量单位,用来重构误差。
以上几个概念理解需要补充。
9. 最小描述长度准则:
即一组实例数据,存储时,利用一模型,编码压缩。模型长度,加上压缩后长度,即为该数据的总的描述长度。最小描述长度准则,就是选择 总的描述长度最小的模型。
最小描述长度MDL准则,一个重要特性就是避免过度拟合现象。
如利用贝叶斯网络,压缩数据,一方面,&模型自身描述长度 随模型复杂度的增加而增加 ; 另一方面, 对数据集描述的长度随模型复杂度的增加而下降。因此, 贝叶斯网络的 MD L总是力求在模型精度和模型复杂度之间找到平衡。当模型过于复杂时,最小描述长度准则就会其作用,限制复杂程度。
奥卡姆剃刀原则:
 如果你有两个原理,它们都能解释观测到的事实,那么你应该使用简单的那个,直到发现更多的证据。
& &万事万物应该尽量简单,而不是更简单。
11. 凸松弛技术:
将组合优化问题,转化为易于求解极值点的凸优化技术。凸函数/代价函数的推导,最大似然估计法。
12. 牛顿法求解 最大似然估计
前提条件:求导迭代,似然函数可导,且二阶可导。
迭代公式:
若是 向量形式,
H就是 n*n 的hessian矩阵了。
特征:当靠近极值点时,牛顿法能快速收敛,而在远离极值点的地方,牛顿法可能不收敛。 这个的推导?
这点是与梯度下降法的收敛特征是相反的。
线性与非线性:
线性,一次函数;非线性,输入、输出不成正比,非一次函数。
线性的局限性:xor问题。线性不可分,形式:
而线性可分,是只用一个线性函数,将数据分类。线性函数,直线。
线性无关:各个独立的特征,独立的分量,无法由其他分量或特征线性表示。
核函数的物理意义:
映射到高维,使其变得线性可分。什么是高维?如一个一维数据特征x,转换为(x,x^2, x^3),就成为了一个三维特征,且线性无关。一个一维特征线性不可分的特征,在高维,就可能线性可分了。
逻辑回归logicalistic regression 本质上仍为线性回归,为什么被单独列为一类?
其存在一个非线性的映射关系,处理的一般是二元结构的0,1问题,是线性回归的扩展,应用广泛,被单独列为一类。
而且如果直接应用线性回归来拟合 逻辑回归数据,就会形成很多局部最小值。是一个非凸集,而线性回归损失函数 是一个 凸函数,即最小极值点,即是全局极小点。模型不符。
若采用 逻辑回归的 损失函数,损失函数就能形成一个 凸函数。
多项式样条函数拟合
多项式拟合,模型是一个多项式形式;样条函数,模型不仅连续,而且在边界处,高阶导数也是连续的。好处:是一条光滑的曲线,能避免边界出现震荡的形式出现(龙格线性)
/view/301735.htm
以下是几个需慢慢深入理解的概念:
无结构化预测模型
结构化预测模型
什么是结构化问题?
adaboost, svm, lr 三个算法的关系。
三种算法的分布对应 exponential loss(指数 损失函数), hinge loss, log loss(对数损失函数), 无本质区别。应用凸上界取代0、1损失,即凸松弛技术。从组合优化到凸集优化问题。凸函数,比较容易计算极值点。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:142002次
积分:3735
积分:3735
排名:千里之外
原创:175篇
转载:341篇
评论:14条
(34)(41)(48)(25)(49)(36)(30)(2)(8)(29)(15)(1)(18)(13)(25)(25)(31)(48)(28)(30)

我要回帖

更多关于 逻辑回归模型 的文章

 

随机推荐