机器学习常见算法简单介绍

Machine Learning

Python、MATLAB、R语言

1、 监督式学习

监督式学习的例子有:回归、决策树、随机森林、K近邻、逻辑回归

2、非监督式学习

这个算法用在不同的组内聚类分析

非监督式学习的例子有:关联算法和 K均值算法

3、强化学习

机器被放在一个能让它通过反复试错来训练自己的环境中

强化学习的例子有马尔可夫决策过程

常见机器学习算法:

1线性回归2逻辑回归3决策树4 SVM5朴素贝叶斯6 K最近邻算法

7 K均值算法8随机森林算法9降维算法10 Gradient Boost 和 Adaboost 算法

1、线性回归

    线性回归通常用于根据连续变量估计实际数值,我们通过拟合最佳直线来建立自变量和因变量的关系。这条最佳直线叫做回归线,用 Y= a *X + b 线性等式来表示。

Y因变量、a斜率、x自变量、b截距

系数 a 和 b 可以通过最小二乘法获得

    线性回归的主要类型是一元线性回归和多元线性回归。多元线性回归存在多个自变量,找最佳拟合直线的时候,可以拟合到多项或者曲线回归

找出最佳拟合直线 y=0.2811x+13.9。已知身高,求出体重

 

2、逻辑回归

别被迷惑这是一个分类算法而回归算法。根据已知的一系列因变量估计离散数值(比方说0或1,是或否,真或假)。简单来说,它通过将数据拟合进一个逻辑函数来预估一个事件出现的概率。预估的是概率,输出值在 0 和 1 之间

例子:假设你的朋友让你解开一个谜题。这只会有两个结果:你解开了或是你没有解开。想象你要解答很多道题来找出你所擅长的主题。这个研究的结果就会像是这样:假设题目是一道十年级的三角函数题,你有 70%的可能会解开这道题。然而,若题目是个五年级的历史题,你只有30%的可能性回答正确。这就是逻辑回归能提供给你的信息。

    从数学上看,在结果中,几率的对数使用的是预测变量的线性组合模型

 

在上面的式子里,p 是我们感兴趣的特征出现的概率。它选用使观察样本值可能性最大化的值作为参数,而不是通过计算误差平方和的最小值(回归分析用到的)。

为什么要求出对数呢?简而言之,这种方法是复制一个阶梯函数的最佳方法之一。

   

 

 

3、决策树

这是我最喜爱最频繁使用的算法之一。这个监督学习算法通常被用于分类问题。

令人惊奇的是,它同时适用于分类变量和连续因变量。在这个算法中,我们将总体分成两个或更多的同类群。这是根据最重要的属性或者自变量来分成尽可能不同的组别。

决策树也在把总体尽量分割到不同的组里去。

 

https://www.analyticsvidhya.com/blog/2016/04/complete-tutorial-tree-based-modeling-scratch-in-python/

 

4、支持向量机

这是一种分类方法。在这个算法中,我们将每个数据在N维空间中用点标出(N是你所有的特征总数),每个特征的值是一个坐标的值

举个例子,如果我们只有身高和头发长度两个特征,我们会在二维空间中标出这两个变量,每个点有两个坐标(这些坐标叫做支持向量)。

   

现在,我们会找到将两组不同数据分开的一条直线。两个分组中距离最近的两个点到这条线的距离同时最优化

 上面示例中的黑线将数据分类优化成两个小组,两组中距离最近的点(A、B点)到达黑线的距离满足最优条件。这条直线就是我们的分割线。

https://www.analyticsvidhya.com/blog/2014/10/support-vector-machine-simplified/

5、朴素贝叶斯

预示变量间相互独立的前提下,根据贝叶斯定理得到朴素贝叶斯这个分类方法。简单的说,一个朴素贝叶斯分类器假设一个分类的特性与该分类的其它特性不相关

举个例子,如果一个水果又圆又红,并且直径大约是 3 英寸,那么这个水果可能会是苹果。即便这些特性互相依赖,或者依赖于别的特性的存在,朴素贝叶斯分类器还是会假设这些特性分别独立地暗示这个水果是个苹果。

朴素贝叶斯模型易于建造,且对于大型数据集非常有用。虽然简单,但是朴素贝叶斯的表现却超越了非常复杂的分类方法。朴素贝叶斯使用了一个相似的方法,通过不同属性来预测不同类别的概率。这个算法通常被用于文本分类,以及涉及到多个类的问题。

贝叶斯定理提供了一种从P(c)、P(x)和P(x|c) 计算后验概率 P(c|x) 的方法。请看以下等式:

 

6、KNN(K – 最近邻算法)

该算法可用于分类问题和回归问题。它储存所有的案例,通过周围k个案例中的大多数情况划分新的案例。根据一个距离函数,新案例会被分配到它的 K 个近邻中最普遍的类别中去。

这些距离函数可以是欧式距离、曼哈顿距离、明式距离或者是汉明距离。前三个距离函数用于连续函数,第四个函数(汉明函数)则被用于分类变量。如果 K=1,新案例就直接被分到离其最近的案例所属的类别中。有时候,使用 KNN 建模时,选择 K 的取值是一个挑战

在选择使用 KNN 之前,你需要考虑的事情:

KNN 的计算成本很高

变量应该先标准化(normalized),不然会被更高范围的变量偏倚。

在使用KNN之前,要在野值去除和噪音去除等前期处理多花功夫

7、K 均值算法

K 均值算法是一种非监督式学习算法,它能解决聚类问题。将一个数据归入一定数量的集群(假设有k个集群)的过程是简单的。一个集群内的数据点是均匀齐次的,并且异于别的集群。

K – 均值算法怎样形成集群:

1K–均值算法给每个集群选择k个点。这些点称作为质心

2每一个数据点与距离最近的质心形成一个集群,也就是k个集群。

3根据现有的类别成员,找出每个类别的质心。现在我们有了新质心

4当我们有新质心后,重复步骤 2 和步骤 3。找到距离每个数据点最近的质心并与新的k集群联系起来。重复这个过程,直到数据都收敛了,也就是当质心不再改变

 

如何决定 K 值:

     K–均值算法涉及到集群,每个集群有自己的质心。一个集群内的质心和各数据点之间距离的平方和形成了这个集群的平方值之和。同时,当所有集群的平方值之和加起来的时候,就组成了集群方案的平方值之和

    我们知道,当集群的数量增加时,K(不是K吧,应该是平方和值会持续下降。但是,如果你将结果用图表来表示,你会看到距离的平方总和快速减少。到某个值 k 之后,减少的速度就大大下降了。在此,我们可以找到集群数量的最优值

 

8、随机森林

    随机森林是表示决策树总体的一个专有名词。在随机森林算法中,我们有一系列的决策树(又名森林)。为了根据一个新对象的属性将其分类每一个决策树有一个分类,称之为这个决策树投票”给该分类。这个森林选择获得森林里(在所有树中)获得票数最多的分类。

 

每棵树是像这样种植养成的:

(1)如果训练集的案例数是 N,则从 N 个案例中用重置抽样法随机抽取样本

     这个样本将作为“养育”树的训练集。

2假如有 M 个输入变量,则定义一个数字 m<<M。m 表示, M 中随机选中 m 个变量,这 m 个变量中最好的切分会被用来切分该节点。在种植森林的过程中,m 的值保持不变。

3尽可能大地种植每一棵树,全程不剪枝

 

9、降维算法

在每一个的阶段,信息捕捉都呈指数增长。

如何从 1000 或者 2000 里分辨出最重要的变量呢?

在这种情况下,降维算法和别的一些算法(比如决策树、随机森林、PCA、因子分析)帮助我们根据相关矩阵,缺失的值的比例和别的要素来找出这些重要变量。

10、Gradient Boosting 和 AdaBoost 算法

    当我们要处理很多数据来做一个有高预测能力的预测时,我们会用到 GBM 和 AdaBoost 这两种 boosting 算法

    boosting 算法是一种集成学习算法。它结合了建立在多个基础估计值基础上的预测结果,来增进单个估计值的可靠程度

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页