1 / 21
文档名称:

10种机器学习算法介绍.pptx

格式:pptx   大小:790KB   页数:21页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

10种机器学习算法介绍.pptx

上传人:fangjinyan2017021 2018/3/1 文件大小:790 KB

下载得到文件列表

10种机器学习算法介绍.pptx

文档介绍

文档介绍:10种机器学****算法介绍
基本概念分类
监督式学****br/>多轮学****以达到目的:实现回归或分类
非监督式学****br/>特定方法实现聚类。(由于目的性不明确,所以一般没有多轮)
强化学****br/>不断学****永无止境
分类算法
适用因变量为连续变量
回归算法
适用因变量为离散变量
聚类和分类的差别
聚类:无限种类别可能
分类:有限种类别可能
监督式学****br/>工作机制
这个算法由一个目标变量或结果变量(或因变量)组成。
此变量由已知的一系列预示变量(自变量)预测而来。
利用这一系列变量,我们生成一个将输入值映射到期望输出值的函数。
这个训练过程会一直持续,直到模型在训练数据上获得期望的精确度。
例子
回归,决策树,随机森林,K –近邻算法,逻辑回归等
非监督式学****br/>工作机制
在这个算法中,没有任何目标变量或结果变量要预测或估计。
这个算法用在不同的组内聚类分析。
这种分析方式被广泛地用来细分客户,根据干预的方式分为不同的用户组。
例子
关联算法, K –均值算法
强化学****br/>工作机制
这个算法训练机器进行决策。
机器被放在一个能让它通过反复试错来训练自己的环境中。
机器从过去的经验中进行学****并且尝试利用了解最透彻的知识作出精确的商业判断。
(好虚。。。。)
例子
马尔可夫决策过程
监督式学****与非监督式学****的差别
监督式学****方法,要求:
事先明确知道各个类别的信息
所有待分类项都有一个类别与之对应
如果不能满足上述两个条件(例如有海量数据),则需适用聚类算法,即非监督式学****br/>监督式学****br/>非监督式学****br/>线性回归
逻辑回归
决策树
朴素贝叶斯
SVM
KNN
K-MEANS
随机森林
降维算法
Gradient Boosting 和 AdaBoost 算法
大数据
线性回归
适用场景
根据连续变量估计实际数值(房价、呼叫次数、总销售额等)。
原理
可通过拟合最佳直线来建立自变量和因变量的关系。拟合结果是条直线 Y= a *X + b:其中Y是因变量,a是斜率,x是自变量,b是截距
最佳直线叫做回归线。系数 a 和 b 通过最小二乘法获得。
R语言代码
# Train the model using the training sets and check score
linear <- lm(y_train ~ x_train)
summary(linear)
#Predict Output
predicted= predict(linear,x_test)
假设在不问对方体重的情况下,让一个五年级的孩子按体重从轻到重的顺序对班上的同学排序,你觉得这个孩子会怎么做?他(她)很可能会目测人们的身高和体型,综合这些可见的参数来排列他们。这是现实生活中使用线性回归的例子。
逻辑回归
适用场景
该算法可根据已知的一系列因变量估计离散数值的出现概率。
原理
这是一个分类算法而不是一个回归算法。
从数学上看,在结果中,几率的对数使用的是预测变量的线性组合模型。
ln(p/(1-p)) = b0+b1*X1+b2*X2+b3*X3....+bk*Xk
R语言代码
假设你的朋友让你解开一个谜题。这只会有两个结果:你解开了或是你没有解开。想象你要解答很多道题来找出你所擅长的主题。这个研究的结果就会像是这样:假设题目是一道十年级的三角函数题,你有 70%的可能会解开这道题。然而,若题目是个五年级的历史题,你只有30%的可能性回答正确。这就是逻辑回归能提供给你的信息。
# Train the model using the training sets and check score
logistic <- glm(y_train ~ ., data = x,family='binomial')
summary(logistic)
#Predict Output
predicted= predict(logistic,x_test)
决策树
使用场景
这个监督式学****算法通常被用于分类问题。
它同时适用于分类变量和连续因变量。
原理
在这个算法中,我们将总体分成两个或更多的同类群。
这是根据最重要的属性或者自变量来分成尽可能不同的组别。
R语言代码
library(rpart)
x <- cbind(x_train,y_train)
# grow tree
fit <- rpart(y_train ~ ., data = x,method="class")
summary(fit)
#Predict Output
predicted= predict(fit,x_test)
library()
(fit)
细说决策树(1)——混乱度判断

熵:E