常见监督学习、聚类、集成、降维、推荐算法汇总(一):监督学习

前言

监督学习最简单的理解就是给数据打上标签后让机器进行学习的模式。

支持向量机(SVM)

硬间隔最大化支持向量机

目的: 寻找能达到最优分类的超平面,并且使其具有最优的鲁棒性,即最好的泛化能力。
感知机: 以误分类最小为策略(解)
支持向量机: 以间隔最大化为策略(存在最优解)

函数间隔和几何间隔的差别?
答:一般来说一个点距离超平面的远近可以衡量预测的确信程度。函数间隔可以表示分类预测的正确性以及准确度,但是成比例的改变超平面的参数,在超平面不变的情况下,函数间隔也会增加。为了解决这个问题就将超平面的参数做归一化调整,这样就得到了几何间隔。几何间隔是可以描述一个点被预测结果的确信程度。

支持向量和间隔边界?
答:不严谨的来说,支持向量机其实只用了几个样例来确定超平面,这些影响超平面的点就叫做支持向量。在硬间隔最大化情况下,过支持向量与超平面平行的就叫做间隔边界。
分离超平面的确定只和支持向量有关,去除掉除支持向量的样例后,解也不会发生改变。支持向量的个数通常很少,一般都由少量重要的样例构成。

拉格朗日对偶算法中的KKT条件有什么用?
答:保证原问题和对偶问题存在最优解。

线性支持向量机与软间隔最大化

软间隔最大化最重要的改变是,在硬间隔最大化约束条件的基础上,引入了松弛变量来解决线性不可分问题。
(线性不可分意味着某些样本点不能满足函数间隔大于等于1的约束条件)
软间隔的支持向量除了在间隔边界上的,还会有在间隔边界内和间隔边界外的。一搬后者都是线性不可分形况下被误分类的点。
在这里插入图片描述

合页损失函数

线性支持向量机还有另一种解释,就是最小化以下的目标函数:
min ⁡ ω , b ∑ i = 1 N [ 1 − y i ( ω ∗ x i + b ) ] + + λ ∣ ∣ ω ∣ ∣ 2 \min_{\omega,b}\sum_{i=1}^N[1-y_i(\omega*x_i+b)]_++\lambda||\omega||^2 ω,bmini=1N[1yi(ωxi+b)]++λω2
合页损失函数等价于原优化问题。
在这里插入图片描述
可以看出,合页损失函数不仅要求分类正确,而且确信度足够高时损失才是0.也就是说,合页损失函数对学习有更高的要求,这也是为什么工业界比较流行的算法。

面试问题

简单概括一下SVM
SVM是一种二分类模型,它的基本思想是在空间内寻找间隔最大的分离超平面使得数据能够高效的二分类,具体来讲有三种情况。

  • 训练样本线性可分的时候通过硬间隔最大化学习一个线性分类器,即线性可分支持向量机。
  • 训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性支持向量机。
  • 当训练数据不可分时,通过使用核技巧以及软间隔最大化,学习非线性支持向量机。

SVM为什么采用间隔最大化?
答:寻找最优解,对未知实例的泛化能力最强。

为什么SVM对缺失数据敏感?
答:这里说的缺失数据是指缺失某些特征数据,向量数据不完整。SVM 没有处理缺失值的策略。而 SVM 希望样本在特征空间中线性可分,所以特征空间的好坏对SVM的性能很重要。缺失特征数据将影响训练结果的好坏。

为什么要将求解SVM的原始问题转换为其对偶问题?
是对偶问题往往更易求解,(当我们寻找约束存在时的最优点的时候,约束的存在虽然减小了需要搜寻的范围,但是却使问题变得更加复杂。为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。)
(a)目前处理的模型严重依赖于数据集的维度d,如果维度d太高就会严重提升运算时间;
(b)对偶问题把SVM从依赖d个维度转变到依赖N个数据点,最后计算时只有支持向量有意义,所以计算量比N小很多。

样本失衡会对SVM的结果产生影响吗?
答:会,超平面会靠近样本少的类别。因为使用的是软间隔分类,而如果对所有类别都是使用同样的惩罚系数,则由于优化目标里面有最小化惩罚量,所以靠近少数样本时,其惩罚量会少一些。比如:假设理想的分隔超平面是大样本中有很多数据到该超平面的函数距离是小于1的,而小样本中是只有少数样本的函数距离小于1的。但是由于惩罚系数相同,实际算法得到的超平面会往小样本数据靠近。
参考博客提供的解法
1)、对多数类和和少数类采用不同的惩罚因子,对正例和负例赋予不同的C值,例如正例远少于负例,则正例的C值取得较大,这种方法的缺点是可能会偏离原始数据的概率分布;
2)、对训练集的数据进行预处理即对数量少的样本以某种策略进行采样,增加其数量或者减少数量多的样本,典型的方法如:随机插入法,缺点是可能出现 overfitting,较好的是:Synthetic Minority Over-sampling TEchnique(SMOTE),其缺点是只能应用在具体的特征空间中,不适合处理那些无法用特征向量表示的问题,当然增加样本也意味着训练时间可能增加;
3)、基于核函数的不平衡数据处理。

SVM的优缺点?
优点:

  1. SVM是一个凸优化问题,所以求得的解一定是全局最优而不是局部最优。
  2. 同时适用于线性问题和非线性问题
  3. 拥有高维样本空间的数据也能用SVM,这是因为数据集的复杂度只取决于支持向量而不是数据集的维度,这在某种意义上避免了“维数灾难”。
  4. 理论基础完善

缺点:

  1. 二次规划问题求解将涉及m阶矩阵的计算(m为样本的个数), 因此SVM不适用于超大数据集。(SMO算法可以缓解这个问题)
  2. 只适用于二分类问题。(SVM的推广SVR也适用于回归问题;可以通过多个SVM的组合来解决多分类问题)

逻辑回归(LR)

一句话概括逻辑回归:逻辑回归假设数据服从伯努利分布(0-1分布),通过极大化似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。

逻辑回归的假设

  1. 假设数据服从0-1分布
  2. 假设模型的输出值是样本为正例的概率

逻辑回归的损失函数

是它的极大似然函数

逻辑回归的求解方法

由于极大似然函数无法直接求解,我们一般通过对该函数进行梯度下降来不断逼近最优解。
随机梯度下降,批梯度下降,small batch 梯度下降的优劣?

  • 批梯度下降会获得全局最优解,缺点是在更新每个参数的时候需要遍历所有的数据,计算量会很大
  • 随机梯度下降是以高方差频繁更新,优点是使得sgd会跳到新的和潜在更好的局部最优解,缺点是使得收敛到局部最优解的过程更加的复杂。
  • 小批量梯度下降结合了sgd和batch gd的优点,每次更新的时候使用n个样本。减少了参数更新的次数,可以达到更加稳定收敛结果,一般在深度学习当中我们采用这种方法。

逻辑回归的目的

该函数的目的便是将数据二分类,提高准确率。

逻辑回归如何分类

逻辑回归作为一个回归(也就是y值是连续的),如何应用到分类上去呢。y值确实是一个连续的变量。逻辑回归的做法是划定一个阈值,y值大于这个阈值的是一类,y值小于这个阈值的是另外一类。阈值具体如何调整根据实际情况选择。一般会选择0.5做为阈值来划分。

逻辑回归的损失函数为什么要使用极大似然函数作为损失函数?
将极大似然函数取对数以后等同于对数损失函数。在逻辑回归这个模型下,对数损失函数的训练求解参数的速度是比较快的。而且参数更新的速度和sigmod的梯度是无关的,这样救能保证了训练的速度。而若是选用平方损失函数的话,由于sigmod定义域内的梯度都不大于0.25,就会使得训练变的很慢。

逻辑回归的优缺点
优点:

  1. 形式简单,可解释性好。
  2. 模型效果不错。
  3. 训练速度较快,只和特征数目相关。
  4. 资源占用小。
  5. 方便结果调整,输出的概率很容易划分阈值。

缺点:

  1. 准确率不高,因为形式非常简单。
  2. 很难处理数据不平衡的问题。
  3. 处理非线性问题或者多分类问题比较麻烦
  4. 无法筛选特征,一般会用gbdt先筛选特征,然后再LR。

为什么用sigmod函数?

  • 如果选择单位阶跃函数的话,它是不连续的不可微。而如果选择sigmoid函数,它是连续的
  • sigmoid能够将z转化为一个接近0或1的值。

感觉所有的算法的损失函数的选取都是取决于梯度下降的速度。

决策树(DT)

请概括一下决策树
答:简单来说,决策树是一种不断引入特征使得原本随机变量的不确定性降低的学习算法。
信息增益和信息增益率?
答:首先必须要提到熵的概念,熵是用来度量随机变量的不确定性。若随机变量的分类越多或分布更均匀,则这个随机变量的熵越大。在熵的概念之后又要提到条件熵,即为原本的随机变量引入条件(即特征),在引入条件的基础上重新计算条件熵。而条件熵和原本的经验熵之差就定义为信息增益。
信息增益能够度量一个特征对于响应随机变量不确定性减少的程度,但也存在一定的缺点,比如更倾向于选择分类更多的特征。
在此基础上,引入了信息增益率来避免这个问题。信息增益率在原本计算信息增益的基础上除以分裂信息熵,相当于做了一个标准化一样。

决策树出现过拟合的原因及其解决办法?
对训练数据预测效果很好,但是测试数据预测效果较差的现象称为过拟合。原因可能是:没有进行合理的剪枝,样本中有一部分噪声数据等。只需要加入剪枝的操作就可以,一般在损失函数后面加入正则化项即可,减少特征,交叉验证选择最好效果的模型也是解决方法之一。

决策树的优缺点

优点:

  1. 计算简单、速度快;
  2. 可解释性强;
  3. 比较适合处理有缺失属性的样本。

缺点:

  1. 容易发生过拟合(随机森林可以很大程度上减少过拟合);
  2. 忽略了数据之间的相关性;
  3. 对于那些各类别样本数量不一致的数据,在决策树当中,信息增益的结果偏向于那些具有更多数值的特征

决策树和逻辑回归的区别

  • 决策树可以处理含有缺失值的数据,而逻辑回归不可以
  • 决策树更关注局部特征,而逻辑会馆更关注全局特征
  • 逻辑回归擅长线性关系的分析,决策树不然
  • 决策树的结果相较于逻辑回归更加粗糙

朴素贝叶斯(NB)

朴素贝叶斯的假设:特征之间相互独立
朴素贝叶斯与LR的区别?
朴素贝叶斯是基于很强的条件独立假设(在已知分类Y的条件下,各个特征变量取值是相互独立的),而LR则对此没有要求;
朴素贝叶斯适用于数据集少的情景,而LR适用于大规模数据集。
在估计条件概率P(X|Y)时出现概率为0的情况怎么办?
答:简单来说:引入λ,当λ=1时称为拉普拉斯平滑。

朴素贝叶斯的优缺点
优点:对小规模的数据表现很好,适合多分类任务,适合增量式训练。
缺点:对输入数据的表达形式很敏感(离散、连续,值极大极小之类的)。

为什么属性独立性假设在实际情况中很难成立,但朴素贝叶斯仍能取得较好的效果?
1)对于分类任务来说,只要各类别的条件概率排序正确、无需精准概率值即可导致正确分类;
2)如果属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算开销的同时不会对性能产生负面影响。

K近邻(KNN)

KNN总结

  1. 对异常数据不敏感。
  2. 可以用来做分类也可以用来做回归
  3. 可用于非线性分类
  4. 使用懒散学习方法,基本上不学习,导致预测时速度比起逻辑回归之类的算法慢。
  5. 计算量大,尤其是特征数非常多的时候
  6. 样本不平衡的时候,对稀有类别的预测准确率低
  7. KD树,球树之类的模型建立需要大量的内存
  8. 相比决策树模型,KNN模型可解释性不强

神经网络(NN)

太多了…

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值