天天看点

线性回归/逻辑回归/SVM极大似然估计最小二乘法线性回归逻辑回归线性回归和LR对比SVMlr svm对比

本文为本人另两篇博客机器学习/计算机视觉(cv)实习面试资料整理(附字节、阿里、腾讯、美团面经)以及机器学习知识点整理下的子内容,有需要的朋友按需自取~

另:本文只是知识点的整理概括,更为详细的可以参考我每个部分给出的链接~

目录

  • 极大似然估计
  • 最小二乘法
  • 线性回归
    • 概念
    • 公式
  • 逻辑回归
    • 概述
    • 优点
    • 代价函数
    • 总结
  • 线性回归和LR对比
  • SVM
    • 概述
    • 参数
    • 核函数
      • 常用核函数类型
      • 核函数选择
      • 多分类
  • lr svm对比
    • 相同点
    • 不同点

极大似然估计

  • 极大似然估计,通俗理解来说,就是利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值!
  • 换句话说,极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”;
  • 极大似然估计中采样需满足一个重要的假设,就是所有的采样都是独立同分布的;

这部分有参考其他博客,但是找不到转载处了,如果有问题的话请联系我~

最小二乘法

线性回归/逻辑回归/SVM极大似然估计最小二乘法线性回归逻辑回归线性回归和LR对比SVMlr svm对比
  • 也就是最小平方法,使每个值和预测值之间的平方差和最小;

线性回归

详细介绍参考一、线性回归和逻辑回归

概念

  • 利用大量的样本D = ( xi , yi )i=1 N ,通过有监督的学习,学习到由x到y的映射f,利用该映射关系对未知的数据进行预估,因为y为连续值,所以是回归问题;
  • 机器学习是数据驱动的算法,数据驱动 = 数据 + 模型,模型就是输入到输出的映射关系;
  • 模型 = 假设函数(不同的学习方式)+ 优化;

公式

  • 假设函数:( Θ \Theta Θ和 x x x均为列向量)
  • 公式

      f ( x ) = Θ T x \ f(x) = \Theta^Tx  f(x)=ΘTx

  • 优化方法:监督学习的优化方法=损失函数+对损失函数的优化;
  • 利用损失函数来衡量,损失函数度量预测值和标准答案的偏差,不同的参数有不同的偏差,所以要通过最小化损失函数,也就是最小化偏差来得到最好的参数;凸函数;
    线性回归/逻辑回归/SVM极大似然估计最小二乘法线性回归逻辑回归线性回归和LR对比SVMlr svm对比
  • 损失函数的优化:损失函数如右图所示,是一个凸函数,我们的目标是达到最低点,也就是使得损失函数最小;求极值利用梯度下降法;
  • 梯度表示函数值增大的最快的方向,所以要在负梯度方向上进行迭代;
  • 学习率:① 学习率太大,会跳过最低点,可能不收敛;② 学习率太小收敛速度过慢;
  • 正则化的作用:① 控制参数变化幅度,对变化大的参数惩罚;② 限制参数搜索空间;
  • 添加正则化的损失函数:
    线性回归/逻辑回归/SVM极大似然估计最小二乘法线性回归逻辑回归线性回归和LR对比SVMlr svm对比
  • λ:对误差的惩罚程度,λ 越大对误差的惩罚越大,容易出现过拟合,λ 越小,对误差的惩罚越小,对误差的容忍度越大,泛化能力好;

逻辑回归

详细介绍参考一、线性回归和逻辑回归

概述

  • 逻辑回归的思路是,先拟合决策边界(不局限于线性,还可以是多项式),再建立这个边界与分类的概率联系,从而得到了二分类情况下的概率;
    线性回归/逻辑回归/SVM极大似然估计最小二乘法线性回归逻辑回归线性回归和LR对比SVMlr svm对比
  • 使用线性回归模型的预测值逼近分类任务真实标记的对数几率;
  • 实际上是分类模型!!!面试中会问到!

优点

  • 直接对分类的概率建模,无需实现假设数据分布,从而避免了假设分布不准确带来的问题(区别于生成式模型);
  • 不仅可预测出类别,还能得到该预测的概率,这对一些利用概率辅助决策的任务很有用;
  • 对数几率函数是任意阶可导的凸函数,有许多数值优化算法都可以求出最优解;

代价函数

  • 极大似然估计法来求解,即找到一组参数,使得在这组参数下,我们的数据的似然度(概率)最大;
    线性回归/逻辑回归/SVM极大似然估计最小二乘法线性回归逻辑回归线性回归和LR对比SVMlr svm对比

总结

  • 经典线性模型的优化目标函数是最小二乘;逻辑回归则是似然函数;
  • 分类的本质:在空间中找到一个决策边界来完成分类的决策;
  • 逻辑回归:线性回归可以预测连续值,但是不能解决分类问题,我们需要根据预测的结果判定其属于正类还是负类。所以逻辑回归就是将线性回归的(−∞,+∞)结果,通过sigmoid函数映射到(0,1)之间;
  • 将线性回归的决策函数通过sigmoid获得逻辑回归的决策函数:
    线性回归/逻辑回归/SVM极大似然估计最小二乘法线性回归逻辑回归线性回归和LR对比SVMlr svm对比
  • 为什么用sigmoid:
    线性回归/逻辑回归/SVM极大似然估计最小二乘法线性回归逻辑回归线性回归和LR对比SVMlr svm对比
  • 线性回归的损失函数为平方损失函数,如果将其用于逻辑回归的损失函数,则其数学特性不好,有很多局部极小值,难以用梯度下降法求最优;
  • 逻辑回归损失函数:对数损失函数;
    线性回归/逻辑回归/SVM极大似然估计最小二乘法线性回归逻辑回归线性回归和LR对比SVMlr svm对比
    线性回归/逻辑回归/SVM极大似然估计最小二乘法线性回归逻辑回归线性回归和LR对比SVMlr svm对比
  • 为什么要用log:样本集中有很多样本,要求其概率连乘,概率为(0,1)间的数,连乘越来越小,利用log变换将其变为连加,不会溢出,不会超出计算精度;
  • 逻辑回归实现多分类:

    一对一(one vs one):一对一分类,每两个类之间构建一个分类器,共需要N(N−1) /2 个分类器;

    一对多(one vs rest):一对多分类器,每个分类器判断是不是某一类,共需要N个分类器;

  • LR特点:可解释性高,工业中可控度高;
    线性回归/逻辑回归/SVM极大似然估计最小二乘法线性回归逻辑回归线性回归和LR对比SVMlr svm对比
  • 多元分类,就要把sigmoid换成softmax了;

线性回归和LR对比

  • 线性回归 是以 高斯分布 为误差分析模型; 逻辑回归 采用的是 伯努利分布 分析误差;
  • 线性回归要求变量服从正态分布,logistic回归对变量分布没有要求;
  • 线性回归要求因变量是连续性数值变量,而logistic回归要求因变量是分类型变量;
  • 线性回归要求自变量和因变量呈线性关系,而logistic回归不要求自变量和因变量呈线性关系;
  • logistic回归是分析因变量取某个值的概率与自变量的关系,而线性回归是直接分析因变量与自变量的关系;
  • 经典线性模型的优化目标函数是最小二乘;逻辑回归则是似然函数;

SVM

详细介绍参考:

  • SVM教程:支持向量机的直观理解
  • SVM核函数的分类
  • SVM使用高斯核函数(RBF)时的超参数C和gamma如何选择

概述

  • 对于SVM,存在一个分类面,两个点集到此平面的最小距离最大,两个点集中的边缘点到此平面的距离最大;
  • 找到正确分类训练数据的一组直线;
  • 在找到的所有直线中,选择那条离最接近的数据点距离最远的直线;
  • 当数据集不是线性可分的时候,需要利用到核函数将数据集映射到高维空间。这样数据在高维空间中就线性可分;

参数

  • sigma: rbf核函数的参数,用于生成高维的特征,常用的有几种核函数,如径向核函数,线性核函数;
  • C:惩罚因子。在最优化函数中,对离群点的惩罚因子,也是对离群点的重视程度体现;
  • C :较宽的间隔;正确分类训练数据。C值较高,意味着训练数据上容许的误差较少;C是惩罚系数,即对样本分错的宽容度。C越高,说明越不能容忍出现分错,容易过拟合。C越小,容易欠拟合。C过大或过小,泛化能力变差;
  • rbf参数;
  • gamma:和σ是倒数关系;
    线性回归/逻辑回归/SVM极大似然估计最小二乘法线性回归逻辑回归线性回归和LR对比SVMlr svm对比
  • 如果gamma设的太大,容易导致过拟合;因为σ会很小,很小的高斯分布长得又高又瘦,会造成只会作用于支持向量样本附近,对于未知样本分类效果很差,但训练准确率可以很高,(如果让无穷小,则理论上,高斯核的SVM可以拟合任何非线性数据,但容易过拟合);
  • gamma越小,则往着欠拟合的方向走;

核函数

常用核函数类型

  • 线性核函数

    K( x, xi) = x ⋅ xi

  • 多项式核

    K( x, xi) = (( x⋅ xi) + 1 )d

  • 径向基核(RBF)

    K( x, xi) = exp ( − ∥x− xi∥2σ2)

    -Gauss径向基函数则是局部性强的核函数,其外推能力随着参数 σ的增大而减弱。多项式形式的核函数具有良好的全局性质。局部性较差;

  • 傅里叶核

    K( x, xi) = 1− q22( 1− 2q cos( x− xi) + q2)

  • 样条核

    K( x, xi) = B2n +1 (x −xi)

  • Sigmoid核函数

    K( x, xi) = tanh ( κ ( x , xi) − δ )

  • 采用Sigmoid函数作为核函数时,支持向量机实现的就是一种多层感知器神经网络,应用SVM方法,隐含层节点数目(它确定神经网络的结构)、隐含层节点对输入节点的权值都是在设计(训练)的过程中自动确定的。而且支持向量机的理论基础决定了它最终求得的是全局最优值而不是局部最小值,也保证了它对于未知样本的良好泛化能力而不会出现过学习现象;

核函数选择

  • 一是利用专家的先验知识预先选定核函数;
  • 二是采用Cross-Validation方法,即在进行核函数选取时,分别试用不同的核函数,归纳误差最小的核函数就是最好的核函数。如针对傅立叶核、RBF核,结合信号处理问题中的函数回归问题,通过仿真实验,对比分析了在相同数据条件下,采用傅立叶核的SVM要比采用RBF核的SVM误差小很多;
  • 三是采用由Smits等人提出的混合核函数方法,该方法较之前两者是目前选取核函数的主流方法,也是关于如何构造核函数的又一开创性的工作。将不同的核函数结合起来后会有更好的特性,这是混合核函数方法的基本思想;
  • 最常用的是Linear核与RBF核:

    Linear核:主要用于线性可分的情形。参数少,速度快,对于一般数据,分类效果已经很理想了;

    RBF核:主要用于线性不可分的情形。参数多,分类结果非常依赖于参数;

  • 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM;
  • 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel;
  • 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况

多分类

  • 成对分类方法(one-against-one, pairwise classification);
  • 一类对余类(one-against-all,one-against-the-rest);

lr svm对比

相同点

  • 都是分类算法,本质上都是在找最佳分类超平面;
  • 都是监督学习算法;
  • 都是判别式模型,判别模型不关心数据是怎么生成的,它只关心数据之间的差别,然后用差别来简单对给定的一个数据进行分类;
  • 都可以增加不同的正则项;

不同点

  • LR 是一个统计的方法,SVM 是一个几何的方法;
  • SVM 的处理方法是只考虑 Support Vectors,也就是和分类最相关的少数点去学习分类器。而逻辑回归通过非线性映射减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重;
  • 损失函数不同:LR 的损失函数是交叉熵,SVM 的损失函数是 HingeLoss,这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。对 HingeLoss 来说,其零区域对应的正是非支持向量的普通样本,从而所有的普通样本都不参与最终超平面的决定,这是支持向量机最大的优势所在,对训练样本数目的依赖大减少,而且提高了训练效率;
  • LR 是参数模型,SVM 是非参数模型,参数模型的前提是假设数据服从某一分布,该分布由一些参数确定(比如正太分布由均值和方差确定),在此基础上构建的模型称为参数模型;非参数模型对于总体的分布不做任何假设,只是知道总体是一个随机变量,其分布是存在的(分布中也可能存在参数),但是无法知道其分布的形式,更不知道分布的相关参数,只有在给定一些样本的条件下,能够依据非参数统计的方法进行推断。所以 LR 受数据分布影响,尤其是样本不均衡时影响很大,需要先做平衡,而 SVM 不直接依赖于分布;
  • LR 可以产生概率,SVM 不能;
  • LR 不依赖样本之间的距离,SVM 是基于距离的;
  • LR 相对来说模型更简单好理解,特别是大规模线性分类时并行计算比较方便。而 SVM 的理解和优化相对来说复杂一些,SVM 转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算;

继续阅读