`

机器学习常用算法

阅读更多
原文链接:http://click.aliyun.com/m/26359/
摘要: 算法名称 算法描述 算法类型 用途 典型算法 特点 算法使用前提条件 运用场景 随笔

算法名称 算法描述 算法类型 用途 典型算法 特点 算法使用前提条件 运用场景 随笔
贝叶斯算法 给予贝叶斯定理与特征条件独立假设的分类方法 监督型 分类 朴素贝叶斯、高斯朴素贝叶斯、多种名义朴素贝叶斯、平均单依赖估计、BBN、BN 各特征相互独立 1.文本分类
2.疾病预测
3.检测SNS社区中不真实账号
4.垃圾邮件过滤 对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别
决策树 利用训练数据集来构造决策树,用构造好的决策树对将来的新数据进行分类 监督型 分类 ID3、ID4、ID5、C4.0、C4.5、C5.0、CART 可用于二元或者多元分类 变量只能数值型、名称型 1.金融行业用决策树做贷款风险评估
2.保险行业用决策树做推广预测
3.医疗行业用决策树生成辅助诊断处置模型
4.用户分级评估
5.分析对某种响应可能性影响最大的因素,比如判断具有什么特征的客户流失概率更高
6.为其他模型筛选变量。决策数找到的变量是对目标变量影响很大的变量。所以可以作为筛选变量的手段。 其核心概念中涉及信息熵、信息增益,在构造决策树时,实际上是选择信息增益Max的属性作为决策节点。算法C4.5引入来信息增益率的概念
支持向量机 svm的基本想法就是求解能正确划分训练样本并且其几何间隔最大化的超平面 监督型 分类 线性支持向量机既可以解决线性可分问题,又可以解决线性不可分问题 模式识别领域中的文本识别,中文分类,人脸识别等;
工程技术和信息过滤 支持向量机模型是这样建立的:获取训练输入,将其映射至多维空间,使用回归算法找到可最佳分离两类输入数据的超平面(超平面是一个在 n 维空间中将空间划分为两个半空间的一个平面)。一旦支持向量机完成了受训,它就可以评估有关划分超平面的新输入数据,并将划分为其中一类,在SVM分类决策中起决定作用的是支持向量
聚类算法 聚类将数据集中的样本划分为若干个不相交的子集,每个子集可能对应一个潜在的类别,这些类别对聚类算法是未知的 无监督 聚类 K-means,LVQ,高斯混合聚类,密度聚类,层次聚类 没有训练集 商业:刻画不同的客户群特征;细分市场;
生物:基因分类
保险:保险单持有者分组
电子商务:相似浏览行为客户聚类
线性回归 线性回归的目的在于找出某一变量与其他多个变量之间的定量关系,并且是线性关系 监督型 回归 LinearRegression,Ridge Regression,RidgeCV,Lasso Regression
,lasticNet, 特征与结果之间是线性关系 1.机场客流量预测
2.网约车出行流量与测
3.股价走势预测
4.中国人口增长预测 线性回归模型太简单,如果数据呈线性关系可采用
逻辑回归 它将数据拟合到一个logit函数(或者叫做logistic函数)中,从而能够完成对事件发生的概率进行预测。 监督 分类 LogisticRegression 常用来二分类 1.预测某一种情况出现的概率
2.二分类
3.多分类 逻辑回归相对来说模型更简单,好理解,实现起来,特别是大规模线性分类时比较方便;
同样的线性分类情况下,如果异常点较多的话,无法剔除,首先LR,LR中每个样本都是有贡献的,最大似然后会自动压制异常的贡献
神经网络 人工神经网络算法模拟生物神经网络,是一类模式匹配算法。一般分为输入层、隐藏层、输出层,隐藏层的层数根据算法需要来定,层数越多,模型越复杂,计算能力要求越高。对于输入层和隐藏层,每一个神经元代表输入,经过一系列计算得到输出,将输出作为下一层神经元的输入,以此类推,直到传递到输出层。 监督 分类 感知器神经网络(Perceptron Neural Network), 反向传递(Back Propagation), Hopfield网络,自组织映射(Self-Organizing Map, SOM)。学习矢量量化(Learning Vector Quantization, LVQ),深度学习 (1)可以充分逼近任意复杂的非线性关系;
(2)所有定量或定性的信息都等势分布贮存于网络内的各神经元,故有很强的鲁棒性和容错性;
(3)采用并行分布处理方法,使得快速进行大量运算成为可能;
(4)可学习和自适应不知道或不确定的系统; 神经网络的应用非常多:
1.OCR
2.销售量的非线性预测
3.计算机智能控制
4.图像的处理
5.优化算法方面等等语音搜索
6.文本到语音
7.垃圾邮件筛选(异常情况探测)
8.欺诈探测
9.推荐系统(客户关系管理、广告技术、避免用户流失 神经网络常用在模式识别这一块,机器学习火了之后许多人在不同的领域做了尝试。
深度学习 深度学习的核心是特征学习,旨在通过分层网络获取分层次的特征信息,从而解决以往需要人工设计特征的重要难题。 从下而上是非监督的,从下而上是监督的。一般归为无监督 分类、回归 Deep Boltzmann Machine,Deep Belief Networks,Stacked Denoising Auto-Encoders,CNN,RNN,LSTM (1)需要大量数据进行训练
(2)训练要求很高的硬件配置
(3)模型处于「黑箱状态」,难以理解内部机制
(4)元参数(Metaparameter)与网络拓扑选择困难。 数据量要大 1.语音识别
2.图像识别
3.人脸识别
4.行人检测
5.人体行为检测
3.推荐系统
4.自然语言处理
5.智能客服 深度学习自从alphaGo火了之后,很多人都开始做了尝试。现在一些深度学习的框架也非常流行,比如:MXNet, Caffe, TensorFlow, Torch, Theano。
随机森林 顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。顾名思义, 监督 主要是分类 随机森林算法 随机森林对多元公线性不敏感,结果对缺失数据和非平衡的数据比较稳健,可以很好地预测多达几千个解释变量的作用;
a. 在数据集上表现良好,两个随机性的引入,使得随机森林不容易陷入过拟合
b. 在当前的很多数据集上,相对其他算法有着很大的优势,两个随机性的引入,使得随机森林具有很好的抗噪声能力
c. 它能够处理很高维度(feature很多)的数据,并且不用做特征选择,对数据集的适应能力强:既能处理离散型数据,也能处理连续型数据,数据集无需规范化
d. 可生成一个Proximities=(pij)矩阵,用于度量样本之间的相似性: pij=aij/N, aij表示样本i和j出现在随机森林中同一个叶子结点的次数,N随机森林中树的颗数
e. 在创建随机森林的时候,对generlization error使用的是无偏估计
f. 训练速度快,可以得到变量重要性排序(两种:基于OOB误分率的增加量和基于分裂时的GINI下降量
g. 在训练过程中,能够检测到feature间的互相影响
h. 容易做成并行化方法
i. 实现比较简单 采样(有放回的采样)与完全分裂(叶子节点要么无法再分裂,要么要么里面的所有样本的都是指向的同一个分类) 1.根据花瓣的长,宽,花萼的长宽。来预测植株的种类 在集成学习中的两个主要算法
Adaboost 这就是Adaboost的结构,最后的分类器YM是由数个弱分类器(weak classifier)组合而成的,相当于最后m个弱分类器来投票决定分类,而且每个弱分类器的“话语权”α不一样。 监督 主要是分类 Adaboost 和随机森林有点像,区别在于随机森林是并行,Adaboost是串行,上一个分类器的结果放入下一个分类器 1)用于二分类或多分类的应用场景

2)用于做分类任务的baseline--无脑化,简单,不会overfitting,不用调分类器

3)用于特征选择(feature selection)

4)Boosting框架用于对badcase的修正--只需要增加新的分类器,不需要变动原有分类器
KNN(K近邻算法) KNN是通过测量不同特征值之间的距离进行分类。它的的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。K通常是不大于20的整数。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 监督 分类 KNN 优点:
1.简单,易于理解,易于实现,无需估计参数,无需训练;
2. 适合对稀有事件进行分类;
3.特别适合于多分类问题(multi-modal,对象具有多个类别标签), kNN比SVM的表现要好。
缺点:
1.样本不平衡时,抗造能力差
原文链接:http://click.aliyun.com/m/26359/
分享到:
评论

相关推荐

    人工智能机器学习常用算法总结及各个常用算法精确率对比

    机器学习算法的分类可以从不同的角度进行,例如根据算法执行过程中是否有监督可分为监督学习、非监督学习和强化学习,根据算法是否具有层次结构可分为决策树算法、逻辑回归算法、朴素贝叶斯算法等。而每种算法在实际...

    机器学习基础课件-机器学习概述 机器学习算法分类 机器学习常用算法 特征工程与数据预处理 模型评估与优化 实践案例与编程实

    机器学习----机器学习概述 机器学习算法分类 机器学习常用算法 特征工程与数据预处理 模型评估与优化 实践案例与编程实现

    机器学习常用算法.zip

    机器学习常用算法.zip

    机器学习常用算法实战.zip

    机器学习常用算法实战

    机器学习常用算法汇总

    比较全面的总结了机器学习常用的算法和一些常用的公式

    模式识别与机器学习常用算法python实现和实验报告

    代码部分是对模式识别与机器学习中绝大多数常用的算法的实现,代码采用python语言编写,逻辑清晰,含有非常详细的注释,易于阅读,且已经进行很多次的错误排查,可以直接上机运行。报告部分是对这些算法的运行结果和...

    机器学习算法总结

    ### 机器学习算法总结 #### 一、回归算法概述 回归算法是一类核心的机器学习技术,用于预测连续型变量的输出。这类算法的核心在于找到输入特征与目标变量之间的最佳数学关系,通常通过最小化预测值与实际观测值...

    机器学习常用算法Python实现.zip

    机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的...

    机器学习常用算法实现.zip

    机器学习是一种通用的数据处理技术,其包含了大量的学习算法。不同的学习算法在不同的行业及应用中能够表现出不同的性能和优势。目前,机器学习已成功地应用于下列领域: 互联网领域----语音识别、搜索引擎、语言...

    机器学习常用算法实现Demo.zip

    机器学习是一种通用的数据处理技术,其包含了大量的学习算法。不同的学习算法在不同的行业及应用中能够表现出不同的性能和优势。目前,机器学习已成功地应用于下列领域: 互联网领域----语音识别、搜索引擎、语言...

    Machine-Learning-by-scikit-learn-Algorithms-and-Practices:scikit-learn机器学习常用算法原理及编程实战黄永昌编着

    常用算法原理及编程实战黄永昌编着 第1章机器学习介绍,涵盖了机器学习的定义、应用场景及机器学习的分类,并通过一个简单的示例,让读者了解机器学习的典型步骤和机器学习领域的一些专业术语。 第2章Python机器学习...

    机器学习常用算法实现-python.zip

    机器学习是一种通用的数据处理技术,其包含了大量的学习算法。不同的学习算法在不同的行业及应用中能够表现出不同的性能和优势。目前,机器学习已成功地应用于下列领域: 互联网领域----语音识别、搜索引擎、语言...

    机器学习的一些常用算法

    在机器学习领域,掌握一些基础且实用的算法是至关重要的。这些算法可以帮助我们构建智能模型,从数据中学习规律,并做出预测。以下是标题和描述中提及的一些关键算法及其原理、应用和Python实现。 1. **决策树...

    机器学习算法的简单介绍

    在当今信息技术领域,机器学习已经成为一个非常热门的研究方向,它源于计算机科学和统计学的交叉领域,主要涉及算法和统计模型,通过这些算法和模型,计算机系统能够在数据中学习并作出决策或预测。机器学习的核心是...

    tju机器学习算法与应用大作业-基于预处理的小麦品种的分类和聚类

    经过本次项目的实践,我对机器学习常用算法的理解与编程能力有了进一步提升,了解了预处理的重要性,也进行了不同机器学习算法应用在同一个问题上的对比,并认识到了各种算法的优劣,在日后解决科研难题的过程中,...

    迁移学习基础-机器学习常用算法速查手册.zip

    机器学习是一种通用的数据处理技术,其包含了大量的学习算法。不同的学习算法在不同的行业及应用中能够表现出不同的性能和优势。目前,机器学习已成功地应用于下列领域: 互联网领域----语音识别、搜索引擎、语言...

Global site tag (gtag.js) - Google Analytics