dbn算法
Ⅰ 机器学习算法有哪些,最常用是哪些几种,有什么优点
楼主肯定对机器学习了解不多才会提这种问题。这问题专业程度看起来和“机器学习工程师”这词汇一样。
机器学习,基础的PCA模型理论,贝叶斯,boost,Adaboost,
模式识别中的各种特征,诸如Hog,Haar,SIFT等
深度学习里的DBN,CNN,BP,RBM等等。
非专业出身,只是略懂一点。
没有常用的,只是针对需求有具体的设计,或者需要自己全新设计一个合适的算法,现在最热门的算是CNN(convolutional neural networks)卷积神经网络了。
优点:不需要训练获取特征,在学习过程中自动提取图像中的特征,免去了常规方法中,大量训练样本的时间。在样本足够大的情况下,能够得到非常精确的识别结果。一般都能95%+的正确率。
缺点:硬件要求高,CUDA的并行框架算是用的很火的了。但是一般的台式机跑一个Demo花费的时间长资源占用高。不过这也是这块算法的通病。
Ⅱ 人工智能是学习什么
1、学习并掌握一些数学知识
高等数学是基础中的基础,一切理工科都需要这个打底,数据挖掘、人工智能、模式识别此类跟数据打交道的又尤其需要多元微积分运算基础。
线性代数很重要,一般来说线性模型是你最先要考虑的模型,加上很可能要处理多维数据,你需要用线性代数来简洁清晰的描述问题,为分析求解奠定基础。
概率论、数理统计、随机过程更是少不了,涉及数据的问题,不确定性几乎是不可避免的,引入随机变量顺理成章,相关理论、方法、模型非常丰富。很多机器学习的算法都是建立在概率论和统计学的基础上的,比如贝叶斯分类器、高斯隐马尔可夫链。
再就是优化理论与算法,除非你的问题是像二元一次方程求根那样有现成的公式,否则你将不得不面对各种看起来无解但是要解的问题,优化将是你的GPS为你指路。
以上这些知识打底,就可以开拔了,针对具体应用再补充相关的知识与理论,比如说一些我觉得有帮助的是数值计算、图论、拓扑,更理论一点的还有实/复分析、测度论,偏工程类一点的还有信号处理、数据结构。
2、掌握经典机器学习理论和算法
如果有时间可以为自己建立一个机器学习的知识图谱,并争取掌握每一个经典的机器学习理论和算法,我简单地总结如下:
1) 回归算法:常见的回归算法包括最小二乘法(OrdinaryLeast Square),逻辑回归(Logistic Regression),逐步式回归(Stepwise Regression),多元自适应回归样条(MultivariateAdaptive Regression Splines)以及本地散点平滑估计(Locally Estimated Scatterplot Smoothing);
2) 基于实例的算法:常见的算法包括 k-Nearest Neighbor(KNN), 学习矢量量化(Learning Vector Quantization, LVQ),以及自组织映射算法(Self-Organizing Map , SOM);
3) 基于正则化方法:常见的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及弹性网络(Elastic Net);
4) 决策树学习:常见的算法包括:分类及回归树(ClassificationAnd Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 随机森林(Random Forest), 多元自适应回归样条(MARS)以及梯度推进机(Gradient Boosting Machine, GBM);
5) 基于贝叶斯方法:常见算法包括:朴素贝叶斯算法,平均单依赖估计(AveragedOne-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN);
6) 基于核的算法:常见的算法包括支持向量机(SupportVector Machine, SVM), 径向基函数(Radial Basis Function ,RBF), 以及线性判别分析(Linear Discriminate Analysis ,LDA)等;
7) 聚类算法:常见的聚类算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM);
8) 基于关联规则学习:常见算法包括 Apriori算法和Eclat算法等;
9) 人工神经网络:重要的人工神经网络算法包括:感知器神经网络(PerceptronNeural Network), 反向传递(Back Propagation), Hopfield网络,自组织映射(Self-OrganizingMap, SOM)。学习矢量量化(Learning Vector Quantization, LVQ);
10) 深度学习:常见的深度学习算法包括:受限波尔兹曼机(RestrictedBoltzmann Machine, RBN), Deep Belief Networks(DBN),卷积网络(Convolutional Network), 堆栈式自动编码器(Stacked Auto-encoders);
11) 降低维度的算法:常见的算法包括主成份分析(PrincipleComponent Analysis, PCA),偏最小二乘回归(Partial Least Square Regression,PLS), Sammon映射,多维尺度(Multi-Dimensional Scaling, MDS), 投影追踪(ProjectionPursuit)等;
12) 集成算法:常见的算法包括:Boosting, Bootstrapped Aggregation(Bagging),AdaBoost,堆叠泛化(Stacked Generalization, Blending),梯度推进机(GradientBoosting Machine, GBM),随机森林(Random Forest)。
3、掌握一种编程工具,比如Python
一方面Python是脚本语言,简便,拿个记事本就能写,写完拿控制台就能跑;另外,Python非常高效,效率比java、r、matlab高。matlab虽然包也多,但是效率是这四个里面最低的。
4、了解行业最新动态和研究成果,比如各大牛的经典论文、博客、读书笔记、微博微信等媒体资讯。
5、买一个GPU,找一个开源框架,自己多动手训练深度神经网络,多动手写写代码,多做一些与人工智能相关的项目。
6、选择自己感兴趣或者工作相关的一个领域深入下去
人工智能有很多方向,比如NLP、语音识别、计算机视觉等等,生命有限,必须得选一个方向深入的钻研下去,这样才能成为人工智能领域的大牛,有所成就。
根据网络给的定义,人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的还能的理论、方法、技术及应用系统的一门新的技术科学。
网络关于人工智能的定义详解中说道:人工智能是计算机的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它获得了迅速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐步成为一个独立的分支,无论在理论和实践上都已自成一个系统。
综上,从定义上讲,人工智能是一项技术。
Ⅲ 深度学习的主要分类是什么呀这些网络cnn dbn dnm rnn是怎样的关系
简单来说:
1)深度学习(Deep Learning)只是机器学习(Machine Learning)的一种类别,一个子领域。机器学习 > 深度学习
2)大数据(Big Data)不是具体的方法,甚至不算具体的研究学科,而只是对某一类问题,或需处理的数据的描述
具体来说:
1)机器学习(Machine Learning)是一个大的方向,里面包括了很多种 approach,比如 deep learning, GMM, SVM, HMM, dictionary learning, knn, Adaboosting...不同的方法会使用不同的模型,不同的假设,不同的解法。这些模型可以是线性,也可以是非线性的。他们可能是基于统计的,也可能是基于稀疏的....
不过他们的共同点是:都是 data-driven 的模型,都是学习一种更加 abstract 的方式来表达特定的数据,假设和模型都对特定数据广泛适用。好处是,这种学习出来的表达方式可以帮助我们更好的理解和分析数据,挖掘数据隐藏的结构和关系。
Machine Learning 的任务也可以不同,可以是预测(prediction),分类(classification),聚类(clustering),识别(recognition),重建(reconstruction),约束(regularization),甚至降噪(denoising),超分辨(super-resolution),除马赛克(Demosaicing)等等....
2)深度学习(Deep Learning)是机器学习的一个子类,一般特指学习高层数的网络结构。这个结构中通常会结合线性和非线性的关系。
Deep Learning 也会分各种不同的模型,比如 CNN, RNN, DBN...他们的解法也会不同。
Deep Learning 目前非常流行,因为他们在图像,视觉,语音等各种应用中表现出了很好的 empirical performance。并且利用 gpu 的并行运算,在模型相当复杂,数据特别大量的情况下,依然可以达到很理想的学习速度。
因为 Deep Learning 往往会构建多层数,多节点,多复杂度的模型,人们依然缺乏多里面学习的结构模型的理解。很多时候,Deep Learning 甚至会被认为拥有类似于人类神经网络的结构,并且这种类似性被当做 deep learning 居然更大 potential 的依据。但答主个人认为,其实这略有些牵强...听起来更像是先有了这种 network 的结构,再找一个类似性。当然,这仅仅是个人观点...(私货私货)
3)大数据(Big Data,我们也叫他逼格数据....)是对数据和问题的描述。通常被广泛接受的定义是 3 个 V 上的“大”:Volume(数据量), Velocity(数据速度)还有 variety(数据类别)。大数据问题(Big-data problem)可以指那种在这三个 V 上因为大而带来的挑战。
Volume 很好理解。一般也可以认为是 Large-scale data(其实学术上用这个更准确,只是我们出去吹逼的时候就都叫 big data 了...)。“大”可以是数据的维度,也可以是数据的 size。一般 claim 自己是 big-data 的算法会比较 scalable,复杂度上对这两个不敏感。算法和系统上,人们喜欢选择并行(Parallel),分布(distributed)等属性的方法来增加 capability。
ITjob----采集