经典算法

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)

 
2 逻辑回归
这里再次推荐https://cuijiahua.com/blog/2017/11/ml_6_logistic_1.html/comment-page-1/#comments博主的,理论+实战讲解的很详细,通俗易懂,难得的好文!
 
Q1:逻辑回归相比于线性回归,有何异同?
A1:逻辑回归处理的是分类问题,线性回归处理的是回归问题。相同之处,二者都使用了极大似然估计来对训练样本进行建模。线性回归使用最小二乘法,而逻辑回归通过似然函数而学习到的。二者在求解超参数的过程中,都可以使用梯度下降的方法。
Q2:当使用逻辑回归处理多标签的分类问题时,有哪些常见做法,分别应用于哪些场景,它们之间又怎样的关系?
A2:使用哪一种算法处理多分类的问题取决于具体问题的定义。首先,如果一个样本只对应于一个标签,我们可以假设每个样本属于不同标签的概率服从于几何分布使用多项逻辑回归来进行分类。多项逻辑回归实际上是二分类逻辑回归在多标签分类下的一种拓展。当存在样本可能属于多个标签的情况时,我们可以训练k个二分类的逻辑回归分类器。
 
3 决策树
Q1:决策树有哪些常用的启发函数?
A1:ID3 ---- 最大信息增益  P63         
  C4.5 ---- 最大信息增益比   P64
  CART ---- 最大基尼指数(Gini)  P65
     
Q2:如何对决策树进行剪枝?
A2:决策树的剪枝通常由两种方法,预剪枝和后剪枝
  预剪枝:在生成决策树的过程中提前停止树的增长。特点:具有思想直接、算法简单、效率高等特点,适合解决大规模问题,缺点在于针对不同问题会有很大差别,需要一定经验判断,且预剪枝存在一定局限性,有欠拟合的风险。
  后剪枝:相对于预剪枝,后剪枝方法通常可以得到泛化能力更强的决策树,但时间开销会更大。
 
剪枝过程在决策树模型中占据着极其重要的地位!理解剪枝方法的理论,在实际应用中根据不同的数据类型,规模决定使用何种决策树以及对应的剪枝策略,灵活变通,找到最优选择。

 

以上是关于经典算法的主要内容,如果未能解决你的问题,请参考以下文章

十大经典排序算法总结(桶排序)

十大经典排序算法总结(希尔排序)

十大经典排序算法总结(快速排序)

十大经典排序算法总结(冒泡排序)

十大经典排序算法总结(堆排序)

《算法竞赛入门经典(第2版)》pdf下载在线阅读,求百度网盘云资源