机器学习算法汇总:人工神经网络、深度学习及其它

学习方式

根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果。

监督式学习:


在监督式学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮件”“非垃圾邮件”,对手写数字识别中的“1“,”2“,”3“,”4“等。在建立预测模型的时候,监督式学习建立一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断的调整预测模型,直到模型的预测结果达到一个预期的准确率。监督式学习的常见应用场景如分类问题和回归问题。常见算法有逻辑回归(Logistic Regression)和反向传递神经网络(Back Propagation Neural Network)

非监督式学习:


在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。常见的应用场景包括关联规则的学习以及聚类等。常见算法包括Apriori算法以及k-Means算法。

半监督式学习:


在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM.)等。

强化学习:


在这种学习模式下,输入数据作为对模型的反馈,不像监督模型那样,输入数据仅仅是作为一个检查模型对错的方式,在强化学习下,输入数据直接反馈到模型,模型必须对此立刻作出调整。常见的应用场景包括动态系统以及机器人控制等。常见算法包括Q-Learning以及时间差学习(Temporal difference learning)

在企业数据应用的场景下, 人们最常用的可能就是监督式学习和非监督式学习的模型。 在图像识别等领域,由于存在大量的非标识的数据和少量的可标识数据, 目前半监督式学习是一个很热的话题。 而强化学习更多的应用在机器人控制及其他需要进行系统控制的领域。

算法类似性

根据算法的功能和形式的类似性,我们可以把算法分类,比如说基于树的算法,基于神经网络的算法等等。当然,机器学习的范围非常庞大,有些算法很难明确归类到某一类。而对于有些分类来说,同一分类的算法可以针对不同类型的问题。这里,我们尽量把常用的算法按照最容易理解的方式进行分类。

回归算法


回归算法是试图采用对误差的衡量来探索变量之间的关系的一类算法。回归算法是统计机器学习的利器。在机器学习领域,人们说起回归,有时候是指一类问题,有时候是指一类算法,这一点常常会使初学者有所困惑。常见的回归算法包括:最小二乘法(Ordinary Least Square),逻辑回归(Logistic Regression),逐步式回归(Stepwise Regression),多元自适应回归样条(Multivariate Adaptive Regression Splines)以及本地散点平滑估计(Locally Estimated Scatterplot Smoothing)

基于实例的算法


基于实例的算法常常用来对决策问题建立模型,这样的模型常常先选取一批样本数据,然后根据某些近似性把新数据与样本数据进行比较。通过这种方式来寻找最佳的匹配。因此,基于实例的算法常常也被称为“赢家通吃”学习或者“基于记忆的学习”。常见的算法包括 k-Nearest Neighbor(KNN), 学习矢量量化(Learning Vector Quantization, LVQ),以及自组织映射算法(Self-Organizing Map , SOM)

正则化方法


正则化方法是其他算法(通常是回归算法)的延伸,根据算法的复杂度对算法进行调整。正则化方法通常对简单模型予以奖励而对复杂算法予以惩罚。常见的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及弹性网络(Elastic Net)。

决策树学习


决策树算法根据数据的属性采用树状结构建立决策模型, 决策树模型常常用来解决分类和回归问题。常见的算法包括:分类及回归树(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 随机森林(Random Forest), 多元自适应回归样条(MARS)以及梯度推进机(Gradient Boosting Machine, GBM)

贝叶斯方法


贝叶斯方法算法是基于贝叶斯定理的一类算法,主要用来解决分类和回归问题。常见算法包括:朴素贝叶斯算法,平均单依赖估计(Averaged One-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN)。

基于核的算法


基于核的算法中最著名的莫过于支持向量机(SVM)了。 基于核的算法把输入数据映射到一个高阶的向量空间, 在这些高阶向量空间里, 有些分类或者回归问题能够更容易的解决。 常见的基于核的算法包括:支持向量机(Support Vector Machine, SVM), 径向基函数(Radial Basis Function ,RBF), 以及线性判别分析(Linear Discriminate Analysis ,LDA)等。

聚类算法


聚类,就像回归一样,有时候人们描述的是一类问题,有时候描述的是一类算法。聚类算法通常按照中心点或者分层的方式对输入数据进行归并。所以的聚类算法都试图找到数据的内在结构,以便按照最大的共同点将数据进行归类。常见的聚类算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM)。

关联规则学习


关联规则学习通过寻找最能够解释数据变量之间关系的规则,来找出大量多元数据集中有用的关联规则。常见算法包括 Apriori算法和Eclat算法等。

人工神经网络


人工神经网络算法模拟生物神经网络,是一类模式匹配算法。通常用于解决分类和回归问题。人工神经网络是机器学习的一个庞大的分支,有几百种不同的算法。(其中深度学习就是其中的一类算法,我们会单独讨论),重要的人工神经网络算法包括:感知器神经网络(Perceptron Neural Network), 反向传递(Back Propagation), Hopfield网络,自组织映射(Self-Organizing Map, SOM)。学习矢量量化(Learning Vector Quantization, LVQ)

深度学习


深度学习算法是对人工神经网络的发展。 在近期赢得了很多关注, 特别是 百度也开始发力深度学习后, 更是在国内引起了很多关注。  在计算能力变得日益廉价的今天,深度学习试图建立大得多也复杂得多的神经网络。很多深度学习的算法是半监督式学习算法,用来处理存在少量未标识数据的大数据集。常见的深度学习算法包括:受限波尔兹曼机(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷积网络(Convolutional Network), 堆栈式自动编码器(Stacked Auto-encoders)。

降低维度算法


像聚类算法一样,降低维度算法试图分析数据的内在结构,不过降低维度算法是以非监督学习的方式试图利用较少的信息来归纳或者解释数据。这类算法可以用于高维数据的可视化或者用来简化数据以便监督式学习使用。常见的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回归(Partial Least Square Regression,PLS), Sammon映射,多维尺度(Multi-Dimensional Scaling, MDS),  投影追踪(Projection Pursuit)等。

集成算法


集成算法用一些相对较弱的学习模型独立地就同样的样本进行训练,然后把结果整合起来进行整体预测。集成算法的主要难点在于究竟集成哪些独立的较弱的学习模型以及如何把学习结果整合起来。这是一类非常强大的算法,同时也非常流行。常见的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,堆叠泛化(Stacked Generalization, Blending),梯度推进机(Gradient Boosting Machine, GBM),随机森林(Random Forest)。

摘自:http://www.ctocio.com/hotnews/15919.html

时间: 2024-10-06 04:38:41

机器学习算法汇总:人工神经网络、深度学习及其它的相关文章

人工神经网络 深度学习 MLP RBF RBM DBN DBM CNN 整理学习

注:整理自向世明老师的PPT 内容提要 1 发展历史 2 前馈网络(单层感知器,多层感知器,径向基函数网络RBF) 3 反馈网络(Hopfield网络,联想存储网络,SOM,Boltzman及受限的玻尔兹曼机RBM,DBN,CNN) 发展历史 单层感知器 1 基本模型 2 如果激励函数是线性的话,可用最小二乘直接计算 3 如果激励函数是sifmoid function,可迭代更新(一次性或者逐样本更新) 上式只做了简单的求导展开,很容易推导 多层感知器 1 基本模型 2 举例(含有一个隐含层的多

机器学习算法汇总

机器学习算法汇总 1. 前言 通过将工作中用到的机器学习算法归纳汇总,方便以后查找,快速应用. 2. 推荐算法 交叉最小方差 算法名字 交叉最小方差, Alternating Least Squares, ALS 算法描述 Spark上的交替性最小二乘ALS本质是一种协同过滤的算法 算法原理 1. 首先将用户推荐对象交互历史转换为矩阵,行表示用户,列表示推荐对象,矩阵对应 i,j 表示用户 i 在对象 j 上有没有行为  2. 协同过滤就是要像填数独一样,填满1得到的矩阵,采用的方法是矩阵分解

机器学习原来如此有趣:用深度学习识别人脸

本系列文章目前已经更新两期,分别是: 机器学习原来如此有趣!全世界最简单的机器学习入门指南. 机器学习原来如此有趣:如何故意欺骗神经网络 你是否有注意到Facebook最近开发了一个非同寻常的功能:将你照片中的好友识别出来.过去,Facebook 让你手动点击照片上的好友,输入他们的名字,然后加上标签.现在只要你上传一张照片,Facebook就会像变魔术一样为你自动标记出所有人: 这项技术就叫做人脸识别.在你的朋友的脸被标记了几次之后,Facebook的算法就可以识别他了.这是一个让人惊艳的技术

01机器学习算法整体知识体系与学习路线攻略

入行机器学习有一年多了,做过大大小小的机器学习项目,参加数据竞赛等实践活动,从最初的懵懵懂懂到现在逐步的深入,也渐渐的有了很多的体会和理解,本篇文章主要来阐述机器学习的知识体系,以让更多人明白机器学习应该怎样学习.需要学习什么?这些问题就是本篇文章的主要讨论的内容,下面开始进行详细介绍. 先对本篇文章的目录做个介绍: 1.机器学习术语 2.常见算法类型 3.评估方法和指标 4.性能优化和超参数调优 1.机器学习术语 接下来正式介绍机器学习术语.机器学习术语作为作为最基本的常识问题,为了更好的学习

神经网络- 深度学习optimizer的选择

optimizer是在训练中,运用到的训练方法,最常用的是梯度下降法,去寻找最优loss,tf中常见的optimizer有: 通过Dr.Sebastian Ruder 的论文An overview of gradient descent optimization algorithms来详细了解一些优化器的选择. 论文地址:https://arxiv.org/pdf/1609.04747.pdf 1. 首先讨论 Batch gradient descent, 公式为: θ = θ ? η · ?θ

吴裕雄 python 机器学习——人工神经网络感知机学习算法的应用

import numpy as np from matplotlib import pyplot as plt from sklearn import neighbors, datasets from matplotlib.colors import ListedColormap from sklearn.neural_network import MLPClassifier ## 加载数据集 np.random.seed(0) # 使用 scikit-learn 自带的 iris 数据集 ir

机器学习算法汇总大梳理

多分类问题优先选择SVM,随机森林,其次是逻辑回归. 朴素贝叶斯和线性回归都是比较简单的模型,对于数据的要求比较高,功能不是特别强大. 1.决策树 不需要对数据做任何预处理, 2.随机森林 3.数据预处理与特征工程 (1)数据预处理:只需要X 数据无量钢化:标准化(转化为正态分布).归一化(不改变数据原始分布,改变范围,默认(0-1)) 处理缺失值:可用均值.众数.中位数.其他字符型或者数值型值填补 处理分类型变量:使用编码处理字符型变量.一般对于有序变量或者有距变量可使用普通的编码方式:对于名

机器学习算法脉络梳理之集成学习

集成学习(ensemble learning)通过构建并结合多个学习器完成任务.也可称为多分类器系统(multi-classifier system).基于委员会的学习(committee-based learning)等.其一般结构是先生成一组“个体学习器”(individual learner),再用某种策略将它们结合起来. 若“个体学习器”均为同种类型,则为同质集成(homogeneous ensemble): 若“个体学习器”不是同一种类型,则为异质集成(heterogenous ).

神经网络深度学习 学习小记

一.sigmod function出现的必要性: 为什么不直接用stage function?在feedback时,假如说我们现在用的是stage function,直接用楼梯式的跳跃函数,我们每次做很小的参数改动时.如果说这个之前这个参数使函数值落在0-1 改变的那一块区域,即便我们做的change很小,但是很有可能直接导致函数最后的0改为1 ,假如这只是输入层改变为1 ,但是这个1 的改变会影响后续太多的网络结构,也就是说stage function会使网络波动过大.而sigmod函数的平滑