kmeans算法的优缺点_AI算法机器学习常见面试题(三)

本文深入探讨了KMeans算法,从EM角度理解其工作原理,分析了为何KMeans能确保收敛及初始点选取的策略。同时,文章对比了KMeans与朴素贝叶斯的条件独立假设,介绍了朴素贝叶斯的多种模型及其处理概率值为0的方法。此外,文章还详细阐述了SVM的最优超平面、支持向量概念,以及SVM与数据量、LR的关联,展示了SVM在解决分类问题上的应用。
摘要由CSDN通过智能技术生成

b1540d42-492f-eb11-8da9-e4434bdf6706.png

请问从EM角度理解kmeans?

  • k-means是两个步骤交替进行,可以分别看成E步和M步
  • M步中将每类的中心更新为分给该类各点的均值,可以认为是在「各类分布均为单位方差的高斯分布」的假设下,最大化似然值;
  • E步中将每个点分给中心距它最近的类(硬分配),可以看成是EM算法中E步(软分配)的近似

为什么kmeans一定会收敛?

M步中的最大化似然值,更新参数依赖的是MSE,MSE至少存在局部最优解,必然收敛

kmeans初始点除了随机选取之外的方法?

先层次聚类,再在不同层次上选取初始点进行kmeans聚类

解释一下朴素贝叶斯中考虑到的条件独立假设

d5540d42-492f-eb11-8da9-e4434bdf6706.png

讲一讲你眼中的贝叶斯公式和朴素贝叶斯分类差别

贝叶斯公式是完整的数学公式P(A/B) = P(A)P(B/A)/P(B)

朴素贝叶斯 = 贝叶斯公式 + 条件独立假设,在实际使用过程中,朴素贝叶斯完全只需要关注P(A,B)=P(A)P(B/A)即可

朴素贝叶斯中出现的常见模型有哪些

  • 多项式:多项式模型适用于离散特征情况,在文本领域应用广泛, 其基本思想是:我们将重复的词语视为其出现多次因为统计次数,所以会出现0次可能,所以实际中进行了平滑操作先验平滑:后验平滑:两者形式非常像,区别就在先验平滑分母考虑的是平滑类别y个数,后验平滑分母考虑的是平滑特征对应特征x可选的个数
  • 高斯:高斯模型适合连续特征情况,高斯公式高斯模型假设在对应类别下的每一维特征都服从高斯分布(正态分布)
  • 伯努利:伯努利模型适用于离散特征情况,它将重复的词语都视为只出现一次

出现估计概率值为 0 怎么处理

拉普拉斯平滑

朴素贝叶斯的优缺点?

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

朴素贝叶斯与 LR 区别?

  • 生成模型和判别模型
  • 条件独立要求
  • 小数据集和大数据集

简单介绍SVM?

  • 从分类平面,到求两类间的最大间隔,到转化为求间隔分之一等优化问题:loss=min(1/2·||W||·||W||) subject to:y(wx+b)>=1,其中||·||为2范数
  • 然后就是优化问题的解决办法,首先是用拉格拉日乘子把约束优化转化为无约束优化,对各个变量求导令其为零,得到的式子带入拉格朗日式子从而转化为对偶问题
  • 最后再利用SMO(序列最小优化)来解决这个对偶问题

什么叫最优超平面?

  • 两类样本分别分割在该超平面的两侧
  • 超平面两侧的点离超平面尽可能的远

什么是支持向量?

在求解的过程中,会发现只根据部分数据就可以确定分类器,这些数据称为支持向量。换句话说,就是超平面附近决定超平面位置的那些参与计算锁定平面位置的点

SVM 和全部数据有关还是和局部数据有关?

局部

加大训练数据量一定能提高SVM准确率吗?

支持向量的添加才会提高,否则无效

如何解决多分类问题?

对训练器进行组合。其中比较典型的有一对一,和一对多

可以做回归吗,怎么做?

可以,把loss函数变为:

e8540d42-492f-eb11-8da9-e4434bdf6706.png

SVM 能解决哪些问题?

  • 线性问题对于n为数据,找到n-1维的超平面将数据分成2份。通过增加一个约束条件: 要求这个超平面到每边最近数据点的距离是最大的
  • 非线性问题SVM通过结合使用拉格朗日乘子法和KTT条件,以及核函数可以用smo算法解出非线性分类器

介绍一下你知道的不同的SVM分类器?

  • 硬SVM分类器(线性可分):当训练数据可分时,通过间隔最大化,直接得到线性表分类器
  • 软SVM分类器(线性可分):当训练数据近似可分时,通过软间隔最大化,得到线性表分类器
  • kernel SVM:当训练数据线性不可分时,通过核函数+软间隔的技巧,得到一个非线性的分类器

什么叫软间隔?

软间隔允许部分样本点不满足约束条件: 1<y(wx+b)

SVM 软间隔与硬间隔表达式

  • 硬间隔:
  • 软间隔:

SVM原问题和对偶问题的关系/解释原问题和对偶问题?

  • svm原问题是:求解
  • svm对偶问题:求解拉格朗日乘子法:求f的最小值时,有h=0的限制条件,那么就构造∑λh+f=Loss,作为新loss引入松弛变量α的目的是构造满足拉格朗日条件的限制性条件在对原来的w求偏导之外再对新构造的乘子λ和松弛变量α求偏导数

为什么要把原问题转换为对偶问题?

  • 因为原问题是带有限制性条件的凸二次规划问题不方便求解,转换为对偶问题更加高效
  • 引入了核函数

为什么求解对偶问题更加高效?

  • 原问题是要考虑限制性条件的最优,而对偶问题考虑的是类似分情况讨论的解析问题
  • 因为只用求解alpha系数,而alpha系数只有支持向量才非0,其他全部为0

alpha系数有多少个?

样本点的个数

KKT限制条件,KKT条件有哪些,完整描述

  • 分别对原来的w求偏导之外再对新构造的乘子λ和松弛变量α求偏导数,并且都等于0后的联立方程便是不等式约束优化优化问题的 KKT(Karush-Kuhn-Tucker) 条件
  • KKT乘子λ>=0

引入拉格朗日的优化方法后的损失函数解释

  • 原损失函数:
  • 优化后的损失函数:要求KKT乘子λ>=0

核函数的作用是啥

核函数能够将特征从低维空间映射到高维空间, 这个映射可以把低维空间中不可分的两类点变成高维线性可分的

核函数的种类和应用场景

  • 线性核函数:主要用于线性可分的情形。参数少,速度快。
  • 多项式核函数:
  • 高斯核函数:主要用于线性不可分的情形。参数多,分类结果非常依赖于参数。
  • sigmoid 核函数:
  • 拉普拉斯核函数:

如何选择核函数

我用的比较多的是线性核函数和高斯核函数,线性用于特征多,线性问题的时候,高斯核函数用于特征少,非线性问题需要升维的时候

常用核函数的定义?

在机器学习中常用的核函数,一般有这么几类,也就是LibSVM中自带的这几类:

  1. 线性:K(v1,v2) = <v1,v2>
  2. 多项式:K(v1,v2) = (r<v1,v2>+c)^n
  3. Radial basis function:K(v1,v2) = exp(-r||v1-v2||^2)
  4. Sigmoid:tanh(r<v1,v2>+c)

核函数需要满足什么条件?

Mercer定理:核函数矩阵是对称半正定的

为什么在数据量大的情况下常常用lr代替核SVM?

  • 计算非线性分类问题下,需要利用到SMO方法求解,该方法复杂度高O(n^2)
  • 在使用核函数的时候参数假设全靠试,时间成本过高

高斯核可以升到多少维?为什么

无穷维
e的n次方的泰勒展开得到了一个无穷维度的映射

SVM和逻辑斯特回归对同一样本A进行训练,如果某类中增加一些数据点,那么原来的决策边界分别会怎么变化?

如果在svm容忍范围内或者在svm的margin外,则不受影响;否则决策边界会发生调整

各种机器学习的应用场景分别是什么?例如,k近邻,贝叶斯,决策树,svm,逻辑斯蒂回归

  • 线性问题:线性:逻辑回归,线性svm非线性:贝叶斯,决策树,核svm,DNN
  • 数据问题:数据量大特征多:逻辑回归决策树算法数据量少特征少:核svm
  • 缺失值多:树模型

Linear SVM 和 LR 有什么异同?

  • LR是参数模型,SVM为非参数模型。
  • LR采用的损失函数为logisticalloss,而SVM采用的是hingeloss。
  • 在学习分类器的时候,SVM只考虑与分类最相关的少数支持向量点。
  • LR的模型相对简单,在进行大规模线性分类时比较方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值