机器学习中最常见的50个问题
进阶篇
1.解释SVM的工作原理。
SVM,全称支持向量机(Support Vector Machine),是一种有监督学习算法,主要用于解决数据挖掘或模式识别领域中的数据分类问题。
SVM的工作原理是建立一个最优决策超平面,使得该平面两侧距平面最近的两类样本之间的距离最大化,从而对分类问题提供良好的泛化力(推广能力)。这里的“支持向量”是指训练集中的某些训练点,这些点最靠近分类决策面,是最难分类的数据点。
SVM可以处理二类分类问题,也可以扩展到多类分类问题。在二类分类问题中,SVM寻找一个最优超平面,将两类样本分隔开。这个最优超平面需要满足间隔最大化的条件,即两侧距平面最近的两类样本之间的距离最大化。当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机。当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性支持向量机。当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。
SVM使用核函数来处理非线性可分的情况。核函数的定义是K(x,y)=<ϕ(x),ϕ(y)>,即在特征空间的内积等于它们在原始样本空间中通过核函数K计算的结果。通过使用核函数,SVM可以将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。
2.k-means和k-means++算法有什么区别?
两者之间的唯一区别是初始化质心的方式。在k-means算法中,质心从给定点随机初始化。这种方法存在一个缺