经典算法
Posted guohaoblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经典算法相关的知识,希望对你有一定的参考价值。
第三章 经典算法
0 写在前面
本章介绍了 SVM,逻辑回归和决策树 三个经典算法。这三个算法在李航的《统计学习方法》中分别拿出了三章重点讲解。本节的提问需要有相应的基础,通过书中的提问发现自己基础太弱了,而基础知识最能考察一个人的学习能力。(记得考研时张宇说过,基础知识不等于简单知识,越是抽象的基础知识越困难,双手赞成!)《百面机器学习》是本很好的书,一遍远远不够,鉴于时间和需求不同,第一遍暂时快速浏览,从宏观把我覆盖的知识点。
1 支持向量机SVM
关于SVM的介绍,网上有很多博客对其进行了讲解。这里强烈推荐https://cuijiahua.com/blog/2017/11/ml_8_svm_1.html的博客,very nice 如果觉得还不够,可以结合七月的https://blog.csdn.net/v_JULY_v/article/details/7624837 和 李航的统计学习方法。这些个人绝对足够。言归正传,下面是本节所提问题
Q1:在空间上线性可分的两类点,分别向SVM分类的超平面上做投影,这些点在超平面上的投影仍然是线性可分的吗?
A1:首先得明确什么是线性可分,即通过一个超平面可以将两类点完全分开。对于任意线性可分的两组点,他们在SVM分类超平面上的投影都是线性不可分的(P52的图3.9与图3.10)。关于其证明需要用到KKT条件、拉格朗日对偶等一些列数学知识,这些知识点在推导SVM时都会用到,此处省略。
Q2:是否存在一组参数使SVM训练误差为0?
A2:一个使用高斯核()训练的SVM中,若训练集中不存在两个点在同一位置,则存在一组参数以及参数使得该SVM的训练误差为0。
Q3:训练误差为0的SVM分类器一定存在吗?
A3:一定存在。 详见P56
Q4:加入松弛变量的SVM的训练误差可以为0吗?
A4:并不一定能得到训练误差为0的模型。如果使用SMO算法来训练一个加入松弛变量的线性SVM模型,则我们的优化目标改变了,并不再是使训练误差最小。考虑带松弛变量的SVM模型优化的目标函数所包含的两项为:和。当我们的参数选取较小的值时,后面的正则项将占据优化的较大比重。这样,一个带有训练误差,但是参数较小的点将成为更优的结果。当取0时,也取0时即可达到优化目标。(P57)
以上是关于经典算法的主要内容,如果未能解决你的问题,请参考以下文章