本文共 5442 字,大约阅读时间需要 18 分钟。
(1)机器学习、深度学习、人工智能是什么关系?
(2)机器学习的基本思路
通过训练集,不断识别特征,不断建模,最后形成有效的模型,这个过程就叫“机器学习”!
(3)监督学习、非监督学习、强化学习
机器学习根据训练方法大致可以分为3大类:
a.监督学习
监督学习是指我们给算法一个数据集,并且给定正确答案。机器通过数据来学习正确答案的计算方法。
我们准备了一大堆猫和狗的照片,我们想让机器学会如何识别猫和狗。当我们使用监督学习的时候,我们需要给这些照片打上标签。
我们给照片打的标签就是“正确答案”,机器通过大量学习,就可以学会在新照片中认出猫和狗。b.非监督学习
非监督学习中,给定的数据集没有“正确答案”,所有的数据都是一样的。无监督学习的任务是从给定的数据集中,挖掘出潜在的结构。
我们把一堆猫和狗的照片给机器,不给这些照片打任何标签,但是我们希望机器能够将这些照片分分类。
非监督学习中,虽然照片分为了猫和狗,但是机器并不知道哪个是猫,哪个是狗。对于机器来说,相当于分成了 A、B 两类。
c.强化学习
强化学习更接近生物学习的本质,因此有望获得更高的智能。它关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。通过强化学习,一个智能体应该知道在什么状态下应该采取什么行为。
最典型的场景就是打游戏。
(4)机器学习实战的步骤
(5).经典机器学习算法
线性回归的位置如上图所示,它属于机器学习 – 监督学习 – 回归 – 线性回归。
(1)什么是回归
回归的目的是为了预测,比如预测明天的天气温度,预测股票的走势…
(2)什么是线性
(3)什么是线性回归
线性回归本来是是统计学里的概念,现在经常被用在机器学习中。
如果 2 个或者多个变量之间存在“线性关系”,那么我们就可以通过历史数据,摸清变量之间的“套路”,建立一个有效的模型,来预测未来的变量结果。
优点:
缺点:
逻辑回归的位置如上图所示,它属于机器学习 – 监督学习 – 分类 – 逻辑回归。
逻辑回归(Logistic Regression)主要解决二分类问题,用来表示某件事情发生的可能性。
逻辑回归 vs 线性回归
决策树是一种逻辑简单的机器学习算法,它是一种树形结构,所以叫决策树。
决策树算法采用树形结构,使用层层推理来实现最终的分类。决策树由下面几种元素构成:
预测时,在树的内部节点处用某一属性值进行判断,根据判断结果决定进入哪个分支节点,直到到达叶节点处,得到分类结果。
这是一种基于 if-then-else 规则的有监督学习算法,决策树的这些规则通过训练得到,而不是人工制定的。
(1)决策树例子
银行要用机器学习算法来确定是否给客户发放贷款,为此需要考察客户的年收入,是否有房产这两个指标。领导安排你实现这个算法,你想到了最简单的线性模型,很快就完成了这个任务。
首先判断客户的年收入指标。如果大于20万,可以贷款;否则继续判断。然后判断客户是否有房产。如果有房产,可以贷款;否则不能贷款。
这个例子的决策树如下图所示:
(2)决策树学习的3个步骤
特征选择决定了使用哪些特征来做判断。在训练数据集中,每个样本的属性可能有很多个,不同属性的作用有大有小。因而特征选择的作用就是筛选出跟分类结果相关性较高的特征,也就是分类能力较强的特征。
选择好特征后,就从根节点触发,对节点计算所有特征的信息增益,选择信息增益最大的特征作为节点特征,根据该特征的不同取值建立子节点;对每个子节点使用相同的方式生成新的子节点,直到信息增益很小或者没有特征可以选择为止。
剪枝的主要目的是对抗“过拟合”,通过主动去掉部分分支来降低过拟合的风险。
(3)3种典型的决策树算法
ID3算法
ID3 是最早提出的决策树算法,他就是利用信息增益来选择特征的。
C4.5 算法
ID3 的改进版,它不是直接使用信息增益,而是引入“信息增益比”指标作为特征的选择依据。
CART(Classification and Regression Tree)
这种算法即可以用于分类,也可以用于回归问题。CART 算法使用了基尼系数取代了信息熵模型。
通过搜索K个最相似的实例(邻居)的整个训练集并总结那些K个实例的输出变量,对新数据点进行预测。对于回归问题,这可能是平均输出变量,对于分类问题,这可能是模式(或最常见)类值。
诀窍在于如何确定数据实例之间的相似性。如果您的属性具有相同的比例(例如,以英寸为单位),则最简单的技术是使用欧几里德距离,您可以根据每个输入变量之间的差异直接计算该数字。
超平面是分割输入变量空间的线。在SVM中,选择超平面以最佳地将输入变量空间中的点与它们的类(0级或1级)分开。在二维中,您可以将其视为一条线,并假设我们的所有输入点都可以被这条线完全分开。SVM学习算法找到导致超平面最好地分离类的系数。
支持向量机的基础概念可以通过一个简单的例子来解释。让我们想象两个类别:红色和蓝色,我们的数据有两个特征:x 和 y。我们想要一个分类器,给定一对(x,y)坐标,输出仅限于红色或蓝色。我们将已标记的训练数据列在下图中:
支持向量机会接受这些数据点,并输出一个超平面(在二维的图中,就是一条线)以将两类分割开来。这条线就是判定边界:将红色和蓝色分割开。
但是,最好的超平面是什么样的?对于 SVM 来说,它是最大化两个类别边距的那种方式,换句话说:超平面(在本例中是一条线)对每个类别最近的元素距离最远。
随机森林是一种由决策树构成的集成算法,它在很多情况下都能有不错的表现。
随机森林属于 集成学习 中的 Bagging(Bootstrap AGgregation 的简称) 方法。如果用图来表示他们之间的关系如下:
(1)随机森林
随机森林是由很多决策树构成的,不同决策树之间没有关联。
当我们进行分类任务时,新的输入样本进入,就让森林中的每一棵决策树分别进行判断和分类,每个决策树会得到一个自己的分类结果,决策树的分类结果中哪一个分类最多,那么随机森林就会把这个结果当做最终的结果。
(2)构造随机森林的4个步骤
在机器学习中,我们讲了很多不同的算法。那些算法都是单打独斗的英雄。而集成学习就是将这些英雄组成团队。实现“3 个臭皮匠顶个诸葛亮”的效果。
本文将介绍集成学习的 2 种主要思路:bagging、boosting。
(1)什么是集成学习
集成学习归属于机器学习,他是一种「训练思路」,并不是某种具体的方法或者算法。
现实生活中,大家都知道「人多力量大」,「3 个臭皮匠顶个诸葛亮」。而集成学习的核心思路就是「人多力量大」,它并没有创造出新的算法,而是把已有的算法进行结合,从而得到更好的效果。
集成学习会挑选一些简单的基础模型进行组装,组装这些基础模型的思路主要有 2 种方法:
(2)Bagging
Bagging 的核心思路是——民主。
Bagging 的思路是所有基础模型都一致对待,每个基础模型手里都只有一票。然后使用民主投票的方式得到最终的结果。
大部分情况下,经过 bagging 得到的结果方差(variance)更小。
具体过程:
(3)Boosting
Boosting 的核心思路是——挑选精英。
Boosting 和 bagging 最本质的差别在于他对基础模型不是一致对待的,而是经过不停的考验和筛选来挑选出「精英」,然后给精英更多的投票权,表现不好的基础模型则给较少的投票权,然后综合所有人的投票得到最终结果。
大部分情况下,经过 boosting 得到的结果偏差(bias)更小。
具体过程:
(4)Bagging 和 Boosting 的4 点差别
样本选择上:
样例权重:
预测函数
并行计算
8.AdaBoost
集成学习归属于机器学习,他是一种“训练思路”,并不是某种具体的方法或者算法。
现实生活中,大家都知道“人多力量大”,“3 个臭皮匠顶个诸葛亮”。而集成学习的核心思路就是“人多力量大”,它并没有创造出新的算法,而是把已有的算法进行结合,从而得到更好的效果。
Boosting是一种集合技术,试图从许多弱分类器中创建一个强分类器。这是通过从训练数据构建模型,然后创建第二个模型来尝试从第一个模型中纠正错误来完成的。添加模型直到完美预测训练集或添加最大数量的模型。
AdaBoost是第一个为二进制分类开发的真正成功的增强算法。这是理解助力的最佳起点。现代助推方法建立在AdaBoost上,最着名的是随机梯度增强机。
AdaBoost用于短决策树。在创建第一个树之后,每个训练实例上的树的性能用于加权创建的下一个树应该关注每个训练实例的注意力。难以预测的训练数据被赋予更多权重,而易于预测的实例被赋予更少的权重。模型一个接一个地顺序创建,每个模型更新训练实例上的权重,这些权重影响序列中下一个树所执行的学习。构建完所有树之后,将对新数据进行预测,并根据训练数据的准确性对每棵树的性能进行加权。
转载地址:http://wegbf.baihongyu.com/