![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 95
llfighting2018
这个作者很懒,什么都没留下…
展开
-
集成学习——AdaBoost算法的理论与sklearn代码实现
1.集成学习1.1 概念 首先介绍一下什么是集成学习(Ensemble Learning),通俗的讲,其思想就是"三个臭皮匠顶个诸葛亮"。在有监督的机器学习任务中,我们往往不容易得到一个完美的模型,这时就可以将几个不那么完美的模型结合起来来完成任务,这也是近年来各种竞赛(如kaggle、天池等)的优秀解决方案所采用的方法。这里的不那么完美的模型我们称为弱模型,多个弱模型结合起来得到的便是强模型。示意图如下: 集成学习潜在的思想是即便某一个弱模型得到了错误的预测,其他的弱模型也可以将错误纠正回来。原创 2021-10-17 20:38:04 · 282 阅读 · 0 评论 -
决策树(2)——CART算法
1.知识回顾 在前面一篇文章中,我们讨论了ID3算法和C4.5算法生成和剪枝决策树的过程,本篇文章我们主要讨论CART算法,其英文全称是Classification And Regression Trees,也就是分类与回归树,从名字上也可以看出,CART算法既可以用来分类,也可以用来回归。相比于前两种算法,CART算法的应用更加广泛,它是很多高级集成学习框架的基础,比如GBDT和XGBoost(在后面的文章中也会学习到)。 我们首先来说一下CART算法与前两种算法的不同之处。首先,CART算法既可原创 2021-10-10 10:29:04 · 1946 阅读 · 0 评论 -
决策树(1)——ID3算法与C4.5算法的理论基础与python实现
1.前言 决策树是一种常用的机器学习算法,既可以做分类任务也可以做回归任务,本文主要讨论用于分类任务的决策树。决策树与数据结构中的树相同,也是由一个根结点、若干个内部结点和若干个叶结点构成。这里我们以在相亲过程中女生的决策过程来直观的理解决策树,如下图所示,图片来自于《百面机器学习》。在决策树中根结点和内部结点对应于一个特征测试,如图中的年龄就是一个特征,通过测试年龄是不是大于30将实例分配到其不同的子结点中,如此自上而下一直循环下去,直到走到叶结点,给出最后的决策结果,即见或不见。 最著名的决策原创 2021-09-27 21:23:41 · 453 阅读 · 0 评论 -
逻辑回归模型——公式推导与python代码实现
1.前言 逻辑回归模型虽然名字是回归,但是实际上是一种二类(0或1)分类模型。在本文中,0代表负类,1代表正类。逻辑模型的输入为样本的特征向量x\boldsymbol{x}x,输出为P(y=1∣x)P(y=1|\boldsymbol{x})P(y=1∣x)和P(y=0∣x)P(y=0|\boldsymbol{x})P(y=0∣x),即在输入特征向量为x\boldsymbol{x}x条件下,样本标签属于某一类的概率。因为本文讨论的只是二类分类模型,所以有P(y=1∣x)+P(y=0∣x)=1P(y=1|\原创 2021-09-18 20:38:56 · 629 阅读 · 0 评论 -
SMO算法求解支持向量机的理论推导与代码实现
阅读提示:1.文章中的斜体符号表示单个元素,加粗斜体表示向量。2.本篇文章公式大多较长,手机端需要左右滑动查看。3.文章中只给出了部分关键代码,如需全部代码可访问我的Github获取:https://github.com/luliu-fighting/Statistical-Learning-Method。代码为之前复现李航的《统计学习方法》的代码,注释没改。1.前言 在前一篇文章中我们推导出了非线性可分支持向量机最优化问题的数学表达式:αmin 12∑i=1N∑j=1Nαiαjy..原创 2021-09-14 22:46:32 · 219 阅读 · 0 评论 -
机器学习算法——支持向量机(3)
1.前言 在前两篇文章中,我们主要讨论了数据线性可分和数据近似线性可分的情况,但是有些时候数据可能是非线性可分的,此时前两种模型将不再适用。如图1所示,显然在二维空间中无法找到一条直线将正负实例点分开,但是将数据从二维升为三维之后,便可找到一个分离超平面将正负实例点完全分开了,这就是非线性支持向量机的基本思路。即先使用一个变换将输入空间的数据映射到特征空间中,然后在特征空间中使用线性分类学习方法从训练数据中学习分类模型。我的理解是,将非线性可分的数据变换到特征空间后,特征空间中的数据变成了线性可分或者近原创 2021-09-13 21:42:45 · 154 阅读 · 0 评论 -
机器学习算法——支持向量机(2)
1.知识回顾 在前一篇文章中,我们讨论了当数据线性可分的情况下的支持向量机模型,根据几何间隔最大给出了线性可分支持向量机的原始最优化问题的数学表达式:w,bmin 12∣∣w∣∣2s.t. yi(w⋅xi+b)−1≥0{_{\boldsymbol{w},b}^{min}}\ \frac{1}{2}||\boldsymbol{w}||^2\\s.t.\ y_i({\boldsymbol{w}} \cdot \boldsymbol{x}_i+{b})-1\ge 0w,bmin&原创 2021-09-13 21:36:09 · 128 阅读 · 0 评论 -
机器学习算法——支持向量机(1)
阅读提示:文章中的斜体符号表示单个元素,加粗斜体表示向量。1.前言 支持向量机(support vector machines, SVM)也是一种二类分类模型,在前一篇文章中讲到,感知机的目标是求得一个能够将数据正确分类的分离超平面,而SVM则是要找到一个能将数据正确分类且间隔最大的分离超平面,即SVM不仅要找到一个分离超平面,而且要求以尽可能大的确信度将数据正确分类。SVM与感知机的另一个区别在于,当数据是线性可分的时候,感知机求得的分离超平面可能有无穷多个,而SVM有了间隔最大化的约束,最..原创 2021-09-12 11:09:46 · 774 阅读 · 0 评论 -
机器学习算法——感知机(Perceptron)
1.前言感知机在1957年由Rosenblatt提出,是支持向量机和神经网络的基础。感知机是一种二类分类的线性分类模型,输入为实例的特征向量,输出为实例的类别,正类取1,负类取-1。感知机是一种判别模型,其目标是求得一个能够将数据集中的正实例点和负实例点完全分开的分离超平面。如果数据不是线性可分的,则最后无法获得分离超平面。2.模型假设模型的输入为$ \boldsymbol{x}\in R^n$,输出为{+1,-1},则模型可以表示为:f(x)=sign(w⋅x+b)f(\boldsymbo原创 2021-09-12 10:55:43 · 634 阅读 · 0 评论