线性回归、逻辑回归(LR)
线性回归
回归是⼀种极易理解的模型,就相当于y=f(x),表明⾃变量 x 和因变量 y 的关系。最常见问题有如医⽣治病时的望、闻、问、切之后判定病⼈是否⽣了什么病,其中的望闻问切就是获得⾃变量x,即特征数据,判断是否⽣病就相当于获取因变量y,即预测分类。
最简单的回归是线性回归,如图1.a所⽰,X为数据点——肿瘤的⼤⼩,Y为观测值——是否是恶性肿瘤。通过构建线性回归模型,如 hθ (x)所⽰,构建线性回归模型后,可以根据肿瘤⼤⼩,预测是否为恶性肿瘤。h θ (x)≥.05为恶性,h θ (x)<0.5为良性:
然⽽线性回归的鲁棒性很差,例如在图1.b的数据集上建⽴回归,因最右边噪点的存在,使回归模型在训练集上表现都很差。这主要是由于线性回归在整个实数域内敏感度⼀致,⽽分类范围,需要在[0,1]。
线性回归的应⽤场合⼤多是回归分析,⼀般不⽤在分类问题上,原因可以概括为⼀下两个:
  1)回归模型是连续模型,即预测出的值都是连续值(实数值),⾮离散值;
  2)预测结果受样本噪声的影响⽐较⼤。
逻辑回归
逻辑回归就是⼀种减⼩预测范围,将预测值限定为[0,1]间的⼀种回归模型,其回归⽅程与回归曲线如图2所⽰。逻辑曲线在z=0时,⼗分敏感,在z>>0或z<<0处,都不敏感,将预测值限定为(0,1)。
图2 逻辑⽅程与逻辑曲线
逻辑回归其实仅为在线性回归的基础上,套⽤了⼀个逻辑函数,
考虑对输⼊实例x进⾏分类的线性表达式θT,其值域为实数域,通过LR模型的表达式可以将线性函数θT 将x的结果映射到(0,1)区间,取值表⽰为结果为1的概率(在⼆分类场景中).
线性函数的值越接近于正⽆穷⼤,概率值就越近1;反之,其值越接近于负⽆穷,概率值就越接近于0,这样的模型就是LR模型。
LR本质上还是线性回归,只是特征到结果的映射过程中加了⼀层函数映射,即sigmoid函数,即先把特征线性求和,然后使⽤sigmoid函数将线性和约束⾄(0,1)之间,结果值⽤于⼆分或回归预测。
Logistic回归虽然名字⾥带“回归”,但是它实际上是⼀种分类⽅法,主要⽤于两分类问题(即输出只有两种,分别代表两个类别),但也就由于这个逻辑函数,逻辑回归成为了机器学习领域⼀颗耀眼的明星,
更是计算⼴告学的核⼼。对于多元逻辑回归,可⽤如下公式似合分类,其中公式(4)的变换,将在逻辑回归模型参数估计时,化简公式带来很多益处,y={0,1}为分类结果
对于训练数据集,特征数据x={x 1 , x 2 , … , x m }和对应的分类数据y={y 1 , y 2 , … , y m }。构建逻辑回归模型f(θ),最典型的构建⽅法便是应⽤极⼤似然估计。⾸先,对于单个样本,其后验概率为:
那么,极⼤似然函数为(后验概率的连乘):
log似然是:
2、梯度下降法
由第1节可知,求逻辑回归模型l(θ),等价于:
采⽤梯度下降法:
从⽽迭代θ⾄收敛即可:
3 模型评估
对于LR分类模型的评估,常⽤AUC来评估
对于训练集的分类,训练⽅法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)收集的数据
2)假设的模型,即⼀个函数,这个函数⾥含有未知的参数,通过学习,可以估计出参数。然后利⽤这个模型去预测/分类新的数据。
常见的问题:
1、线性回归求未知参数的⽅法?
假设特征和结果都满⾜线性。即不⼤于⼀次⽅。这个是针对收集的数据⽽⾔。
收集的数据中,每⼀个分量,就可以看做⼀个特征数据。每个特征⾄少对应⼀个未知的参数。这样就形成了⼀个线性模型函数,向量表⽰形式:
这个就是⼀个组合问题,已知⼀些数据,如何求⾥⾯的未知参数,给出⼀个最优解。⼀个线性矩阵⽅程,直接求解,很可能⽆法直接求解。有唯⼀解的数据集,微乎其微。
基本上都是解不存在的超定⽅程组。因此,需要退⼀步,将参数求解问题,转化为求最⼩误差问题,求出⼀个最接近的解,这就是⼀个松弛求解。
求⼀个最接近解,直观上,就能想到,误差最⼩的表达形式。仍然是⼀个含未知参数的线性模型,⼀堆观测数据,其模型与数据的误差最⼩的形式,模型与数据差的平⽅和最⼩:
这就是损失函数的来源。接下来,就是求解这个函数的⽅法,有最⼩⼆乘法,梯度下降法。
最⼩⼆乘法
是⼀个直接的数学求解公式,不过它要求X是列满秩的,
梯度下降法
分别有梯度下降法,批梯度下降法,增量梯度下降。本质上,都是偏导数,步长/最佳学习率,更新,收敛的问题。这个只是最优化原理中的⼀个普通的⽅法,可以结合最优化原理来学,就容易理解了。
2、逻辑回归和线性回归的联系、异同?
逻辑回归的模型是⼀个⾮线性模型,sigmoid函数,⼜称逻辑回归函数。但是它本质上⼜是⼀个线性回归模型,因为除去sigmoid映射函数关系,其他的步骤,算法都是线性回归的。可以说,逻辑回归,都是以线性回归为理论⽀持的。
只不过,线性模型,⽆法做到sigmoid的⾮线性形式,sigmoid可以轻松处理0/1分类问题。
另外它的推导含义:仍然与线性回归的最⼤似然估计推导相同,最⼤似然函数连续积(这⾥的分布,可以使伯努利分布,或泊松分布等其他分布形式),求导,得损失函数。
逻辑回归函数
表现了0,1分类的形式
损失函数:损失函数越⼩,模型就越好,⽽且损失函数尽量是⼀个凸函数,便于收敛计算。
线性回归,采⽤的是平⽅损失函数。⽽逻辑回归采⽤的是对数损失函数。
应⽤举例:
是否垃圾邮件分类?
是否肿瘤、癌症诊断?
正则化解决什么问题是否⾦融欺诈?
3、过拟合问题问题起源?如何解决?
模型太复杂,参数过多,特征数⽬过多。
⽅法: 1)减少特征的数量,有⼈⼯选择,或者采⽤模型选择算法
2)正则化,即保留所有特征,但降低参数的值的影响。正则化的优点是,特征很多时,每个特征都会有⼀个合适的影响因⼦。
    为防⽌过度拟合的模型出现(过于复杂的模型),在损失函数⾥增加⼀个每个特征的惩罚因⼦。这个就是正则化。如正则化的线性回归的损失函数
lambda就是惩罚因⼦;
    正则化是模型处理的典型⽅法。也是结构风险最⼩的策略。在经验风险(误差平⽅和)的基础上,增加⼀个惩罚项/正则化项
从贝叶斯估计来看,正则化项对应模型的先验概率,复杂模型有较⼤先验概率,简单模型具有较⼩先验概率。
4、概率解释:线性回归中为什么选⽤平⽅和作为误差函数?
假设模型结果与测量值误差满⾜,均值为0的⾼斯分布,即正态分布。这个假设是靠谱的,符合⼀般客观统计规律。
数据x与y的条件概率
若使模型与测量数据最接近,那么其概率积就最⼤。概率积,就是概率密度函数的连续积,这样,就形成了⼀个最⼤似然函数估计。对最⼤似然函数估计进⾏推导,就得出了求导后结果:平⽅和最⼩公式
5、经验风险、期望风险、经验损失、结构风险之间的区别与联系?
期望风险(真实风险),可理解为模型函数固定时,数据平均的损失程度,或“平均”犯错误的程度。期望风险是依赖损失函数和概率分布的。只有样本,是⽆法计算期望风险的
所以,采⽤经验风险,对期望风险进⾏估计,并设计学习算法,使其最⼩化。即经验风险最⼩化(Empirical Risk Minimization)ERM,
⽽经验风险是⽤损失函数来评估的、计算的。对于分类问题,经验风险,就训练样本错误率。对于函数逼近,拟合问题,经验风险就是平⽅训练误差。对于概率密度估计问题,ERM,就是最⼤似然估计法。
⽽经验风险最⼩,并不⼀定就是期望风险最⼩,⽆理论依据。只有样本⽆限⼤时,经验风险就逼近了期望风险。如何解决这个问题?统计学习理论SLT,⽀持向量机SVM就是专门解决这个问题的。有限样本条件下,学习出⼀个较好的模型。由于有限样本下,经验风险Remp[f]⽆法近似期望风险R[f] 。因此,统计学习理论给出了⼆者之间的关系:R[f] <= ( Remp[f] + e )
⽽右端的表达形式就是结构风险,是期望风险的上界。⽽e = g(h/n)是置信区间,是VC维h的增函数,也是样本数n的减函数。VC维的定义在SVM,SLT中有详细介绍。e依赖h和n,若使期望风险最⼩,只需关⼼其上界最⼩,即e最⼩化。所以,需要选择合适的h(核函数)和
n(样本数)。这就是结构风险最⼩化Structure Risk Minimization,SRM. SVM就是SRM的近似实现,SVM中的概念另有⼀⼤筐。就此打住。
6、核函数的物理意义?
映射到⾼维,使其变得线性可分。什么是⾼维?如⼀个⼀维数据特征x,转换为(x,x^2, x^3),就成为了⼀个三维特征,且线性⽆关。⼀个⼀维特征线性不可分的特征,在⾼维,就可能线性可分了。
Regression问题的常规步骤为:
1. 寻h函数(即hypothesis);
2. 构造J函数(损失函数);
3. 想办法使得J函数最⼩并求得回归参数(θ)
7、LR的优缺点
优点:
  1)预测结果是介于0和1之间的概率
  2)可以适⽤于连续性和类别性⾃变量
  3)容易使⽤和解释
缺点:
  1)对模型中⾃变量多重共线性较为敏感,例如两个⾼度相关⾃变量同时放⼊模型,可能导致较弱的⼀个⾃变量回归符号不符合预期,符号被扭转。需要利⽤因⼦分析或者变量聚类分析等⼿段来选择代表性的⾃变量,以减少候选变量之间的相关性;
  2)预测结果呈“S”型,因此从kog(odds)向概率转化的过程是⾮线性的,在两端随着log(odds)值的变化,概率变化很⼩,边际值太⼩,slope太⼩,⽽中间概率的变化很⼤,很敏感,导致很多区间的变量变化对⽬标概率的影响没有区分度,⽆法确定阈值。
8、LR和SVM
  1)LR采⽤log损失,SVM采⽤合页损失
  2)LR对异常值敏感,SVM对异常值不敏感
  3)在训练集较⼩时,SVM较适⽤,⽽LR需要较多的样本
  4)LR模型到的超平⾯,是尽量让所有点都远离他,⽽SVM寻的超平⾯是只让最靠近中间分割线的⽀持向量远离他,即只⽤到了⽀持向量样本。
  5)对⾮线性问题的处理⽅式不同,LR主要靠特征构造,必须组合交叉特征,特征离散化。SVM也可以这样,但是主要通过核函数
  6)SVM更多的属于⾮参数模型,⽽LR是参数模型,本质不同。
9、那怎么根据特征数量和样本量来选择SVM和LR模型呢?
  1)如果特征的数量很⼤,跟样本量差不多,这时候选⽤LR或者是Linear Kernel的SVM
  2)如果特征的数量⽐较⼩,样本数量⼀般,不算⼤也不算⼩,选⽤SVM+Gassian Kernel
  3)如果特征的数量⽐较⼩,⽽样本数量很多,需要⼿⼯添加⼀些特征变成第⼀种情况。
  注意:LR和不带核函数的SVM⽐较类似

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。