当前位置 > CPDA数据分析师 > “数”业专攻 > 学习数据分析时 需要了解的一些机器学习算法

学习数据分析时 需要了解的一些机器学习算法

来源:数据分析师 CPDA | 时间:2018-09-17 | 作者:admin

“大数据”这个词在今年来盛行,并且在接下来的几年中将继续盛行。在我们之前的文章中,我介绍了一些关于大数据,机器学习和数据挖掘的概念。现在让我们深入研究机器学习,简要介绍一些最常用的ML算法,没有代码,没有抽象理论,只有图片和一些如何使用它们的例子。

本文涉及的算法列表包括:

  • 决策树
  • 随机森林
  • 逻辑回归
  • 支持向量机
  • 朴素贝叶斯
  • K-最近邻
  • K均值
  • Adaboost的
  • 神经网络
  • 马尔科夫

1.决策树

使用某些属性将一组数据分类到不同的组中,在每个节点上执行测试,通过brach判断,进一步将数据拆分为两个不同的组,依此类推。测试基于现有数据完成,并且当添加新数据时,可以将其分类到相应的组

根据某些功能对数据进行分类,每当进程进入下一步时,都有一个判断分支,判断将数据分成两部分,然后进行处理。当使用现有数据进行测试时,新数据可以是现有数据学习的这些问题,当有新数据进入时,计算机可以将数据分类到正确的叶子中。

 

QQ截图20180917135829 - 学习数据分析时 需要了解的一些机器学习算法

2.Random Forest
从原始数据中随机选择,并形成不同的子集。

 

QQ截图20180917135930 - 学习数据分析时 需要了解的一些机器学习算法

Matrix S是原始数据,它包含1-N个数据行,而A,B,C是特征,最后一个C代表类别。

 

QQ截图20180917140021 - 学习数据分析时 需要了解的一些机器学习算法

 

从S创建随机子集,假设我们有M组子集。

 

QQ截图20180917140037 - 学习数据分析时 需要了解的一些机器学习算法

 

我们从这些子集中获取M组决策树:将
新数据投入到这些树中,我们可以获得M组结果,并且我们计算查看哪些结果在所有M组中最多,我们可以将其视为最终结果。

 

QQ截图20180917140048 - 学习数据分析时 需要了解的一些机器学习算法

3.Logistic回归
当预测目标的概率大于0且小于或等于1时,简单线性模型无法实现。因为当定义域不在特定级别内时,范围将超过指定的间隔。

 

QQ截图20180917140100 - 学习数据分析时 需要了解的一些机器学习算法

 

我们最好选择这种型号。

 

QQ截图20180917140109 - 学习数据分析时 需要了解的一些机器学习算法

 

那么我们怎么能得到这个模型呢?
该模型需要满足两个条件,“大于或等于0”,“小于或等于1”

 

QQ截图20180917140118 - 学习数据分析时 需要了解的一些机器学习算法

 

我们改变公式,我们可以得到逻辑回归模型:

通过计算原始数据,我们可以得到相应的系数。
我们得到了逻辑模型图。

4.Support Vector Machine
要将两个类与超平面分开,最好的选择是超平面从两个类中留下最大余量。因为Z2> Z1,所以绿色更好。

 

 

QQ截图20180917140150 - 学习数据分析时 需要了解的一些机器学习算法

 

使用线性方程表示超平面,线上方的类大于或等于1,另一类小于或等于-1。

 

QQ截图20180917140159 - 学习数据分析时 需要了解的一些机器学习算法

 

使用图表中的公式计算点到曲面的距离:

 

QQ截图20180917140206 - 学习数据分析时 需要了解的一些机器学习算法

 

所以我们得到总保证金的表达如下,目的是最大化保证金,我们需要做的是最小化分母。

 

QQ截图20180917140246 - 学习数据分析时 需要了解的一些机器学习算法

 

例如,我们使用3个点来找到最优超平面,定义权重向量=(2,3) - (1,1)

 

QQ截图20180917140313 - 学习数据分析时 需要了解的一些机器学习算法

 

并获得权重向量(a,2a),将这两个点代入等式

 

QQ截图20180917140322 - 学习数据分析时 需要了解的一些机器学习算法

 

当确认a时,使用(a,2a)的结果是支持向量,
在a和w0中代入的等式是支持向量机。

 

5.Naive Bayes
这里是NLP的一个例子:
给出一段文本,检查文本的态度是积极的还是消极的。

 

QQ截图20180917140343 - 学习数据分析时 需要了解的一些机器学习算法

 

要解决这个问题,我们只能看一些单词:

 

QQ截图20180917141127 - 学习数据分析时 需要了解的一些机器学习算法

 

而这些话只代表一些词语及其统计。

 

QQ截图20180917141136 - 学习数据分析时 需要了解的一些机器学习算法

 

最初的问题是:给你一个句子,它属于哪个类别?
通过使用贝叶斯规则,这将是一个简单的问题。

 

QQ截图20180917141225 - 学习数据分析时 需要了解的一些机器学习算法

 

在这个课程中,问题变成了这句话发生的概率是多少?并且记住不要忘记等式中的另外两个概率。
示例:单词“love”出现的概率在正类中为0.1,在负类中为0.001。

 

QQ截图20180917141235 - 学习数据分析时 需要了解的一些机器学习算法
6.k-NearestNeighbor
当出现一个新的数据时,哪个类别的点数最接近它,它属于哪个类别。
例如:为了区分“狗”和“猫”,我们从两个特征“爪子”和“声音”来判断。圆圈和三角形是已知的类别,“星星”怎么样:

 

QQ截图20180917141312 - 学习数据分析时 需要了解的一些机器学习算法

 

当K = 3时,这三条线连接最近的3个点,圆圈更多,因此“星”属于“猫”。

 

QQ截图20180917141321 - 学习数据分析时 需要了解的一些机器学习算法

7.k-means
将数据分为3类,粉红色部分最大,黄色最小。
选择默认值3,2,1并计算其余数据与默认值之间的距离,并将其分类为具有最短距离的类。

 

QQ截图20180917141331 - 学习数据分析时 需要了解的一些机器学习算法

 

分类后,计算每个类的平均值,并将其设置为新的中心。

 

QQ截图20180917141342 - 学习数据分析时 需要了解的一些机器学习算法

 

几轮之后,我们可以在课程不再变化时停止。

 

QQ截图20180917141353 - 学习数据分析时 需要了解的一些机器学习算法

8.Adaboost
Adaboost是提升的一种衡量标准。
提升是收集没有满意结果的分类器,并生成可能具有更好效果的分类器。
如下所示,树1和树2没有单独的好效果,但如果我们输入相同的数据,并总结结果,最终结果将更有说服力。

 

QQ截图20180917141410 - 学习数据分析时 需要了解的一些机器学习算法

 

adaboost的一个例子,在手写识别中,面板可以提取许多特征,例如开始方向,起点和终点之间的距离等。

 

QQ截图20180917141427 - 学习数据分析时 需要了解的一些机器学习算法

 

在训练机器时,它会得到每个特征的重量,如2和3,它们的写入起点非常相似,所以这个特征对分类几乎没有,所以它的重量很小。

 

QQ截图20180917141436 - 学习数据分析时 需要了解的一些机器学习算法

 

但是这个α角具有很好的可识别性,因此这个特征的重量会很大。最终结果将是考虑所有这些功能的结果。

 

QQ截图20180917141443 - 学习数据分析时 需要了解的一些机器学习算法

 

9.Nural Network
在NN中,输入可能最终成为至少两个类。
神经网络由neures和neures的连接组成。
第一层是输入层,最后一层是输出层。
在隐藏层和输出层中,它们都有自己的分类器。

 

QQ截图20180917141452 - 学习数据分析时 需要了解的一些机器学习算法

 

当输入进入网络并被激活时,计算得分将传递到下一层。输出图层中显示的分数是每个类的分数。下面的例子得到了1级的结果;

 

QQ截图20180917141500 - 学习数据分析时 需要了解的一些机器学习算法

传递给不同结的相同输入产生不同的分数,这是因为在每个结中,它具有不同的权重和偏差,这就是传播。

10.Markov
Markov Chain由状态和转换组成。
例如,根据“快速棕色狐狸跳过懒狗”获得马尔可夫链。
首先,我们需要在状态下设置每个单词,并且我们需要计算状态转换的概率。

QQ截图20180917141509 - 学习数据分析时 需要了解的一些机器学习算法

这些是由一个单句计算的概率。当您使用大量文本数据来训练计算机时,您将获得更大的状态转换矩阵,例如可以跟随“the”的单词及其相应的概率。

 

QQ截图20180917141518 - 学习数据分析时 需要了解的一些机器学习算法