机器学习算法(SVM、决策树、k均值聚类等)
1. SVM
1.1 线性支持向量机
假设我们有两类数据,分别用圆形和方块表示。另外假设我们只有两个输入特征,这样就可以用一个二维的坐标轴上来进行可视化啦,如图所示,横轴上是第一个特征,纵轴上是第二个特征:
我们假定样本点是线性可分的,即能找到一个超平面将样本分成两类。那么,SVM 要找的超平面就是能正确划分两类数据且让几何间隔达到最大的那个超平面。这种分类方式在 SVM 中称为硬间隔最大化。
但是实际上,现实任务中很难确定这样的超平面将我们的样本完全分成两类,所以可以在 SVM 中引入松弛变量,这样允许一些样本出错,但我们希望出错的样本越少越好。这种分类方式称为软间隔最大化
1.2 非线性支持向量机
非线性分类问题是指通过利用非线性模型才能很好地进行分类的问题。上图左侧是一个分类问题,红色和蓝色表示两类点。由图可见,无法用直线(线性模型)将正负实例正确分开,但可以用一条椭圆曲线(非线性模型)将它们正确分开。
2. 决策树
决策树是一种监督学习算法,它能够从一系列有特征(输入数据)和标签(输出数据)的样本中总结出决策规则,并用树状图的结构来呈现这些规则,决策树可以解决分类和回归问题。
可以看出,在这个决策过程中,我们一直在对记录的特征进行提问。最初的问题所在
的地方叫做根节点,在得到结论前的每一个问题都是中间节点(内部节点),而得到的每一个结论(动物的类别)都叫做叶节点。
决策树算法的核心是要解决两个问题:
1)如何从数据表中找出最佳节点和最佳分枝?
2)如何让决策树停止生长,防止过拟合?
3. K均值聚类
KNN 算法的核心思想是如果一个样本在特征空间中的 K 个最相邻的样本中的大多数
属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。
该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
下面通过一个简单的例子说明一下:如下图,绿色圆要被决定赋予哪个类,是红色三
角形还是蓝色四边形?
如果 K=3,由于红色三角形所占比例为 2/3,绿色圆将被赋予红色三角形那个类,
如果 K=5,由于蓝色四边形比例为 3/5,因此绿色圆被赋予蓝色四边形类。
这说明了 KNN 算法的结果很大程度取决于 K 的选择