机器学习十大算法都是何方神圣?看完你就懂了

雷锋网(公众号:雷锋网)按:机器学习与人工智能变得越来越热。大数据原本在工业界中就已经炙手可热,而基于大数据的机器学习则更加流行,因为其通过对数据的计算,可以实现数据预测、为公司提供决策依据。跟我们生活息息相关的最常见机器学习算法包括电影推荐算法、图书推荐算法。这些算法都是基于你的电影观看记录或图书购买记录来给你做推荐的。

James Le 在 KDnuggets 上发布了一篇文章,介绍了他是如何入门机器学习的。此外,他在其中摸索出十大常用的机器学习算法,并逐一进行介绍。雷锋网编译如下,未经许可不得转载。

如果你想学机器学习,那怎么入门呢?对于我来说,我是这样开始我的机器学习的,首先,我选修了一门人工智能课程。教我课程的老师是Technical University of Denmark的大学教授,他的研究方向就是逻辑与人工智能。我们用的教材是人工智能的经典教材: Peter Norvig's Artificial Intelligence — A Modern Approach。这本书主要讲了智能主体、对抗搜索、概率论、多智能系统、AI哲学等等。这门课程我上了三个学期,最后我做了一个简单的基于搜索的智能系统,这个系统可以完成虚拟环境下的传输任务。

通过这门课程我学到了很多知识,在将来我还要继续学习。最近几周,我有幸在旧金山的举办的机器学习大会上与众多机器学习大牛交谈,我和他们聊了很多关于深度学习、神经网络、数据结构的内容。此外,我还在网上选修了一门机器学习入门课程,正巧刚刚修完。在接下来内容中,我将和大家分享我在这门课程中所学到的机器学习常用算法。

机器学习算法分为三类:有监督学习、无监督学习、增强学习。有监督学习需要标识数据(用于训练,即有正例又有负例),无监督学习不需要标识数据,增强学习介于两者之间(有部分标识数据)。下面我将向大家具体介绍机器学习中10大算法(只介绍有监督、无监督两类,暂不介绍增强学习)。

一、有监督学习

算法一:决策树

决策树是一种树形结构,为人们提供决策依据,决策树可以用来回答yes和no问题,它通过树形结构将各种情况组合都表示出来,每个分支表示一次选择(选择yes还是no),直到所有选择都进行完毕,最终给出正确答案。

算法二:朴素贝叶斯分类器

朴素贝叶斯分类器基于贝叶斯理论及其假设(即特征之间是独立的,是不相互影响的)

P(A|B) 是后验概率, P(B|A) 是似然,P(A)为先验概率,P(B) 为我们要预测的值。

具体应用有:垃圾邮件检测、文章分类、情感分类、人脸识别等。

算法三:最小二乘法

如果你对统计学有所了解,那么你必定听说过线性回归。最小均方就是用来求线性回归的。如下图所示,平面内会有一系列点,然后我们求取一条线,使得这条线尽可能拟合这些点分布,这就是线性回归。这条线有多种找法,最小二乘法就是其中一种。最小二乘法其原理如下,找到一条线使得平面内的所有点到这条线的欧式距离和最小。这条线就是我们要求取得线。

线性指的是用一条线对数据进行拟合,距离代表的是数据误差,最小二乘法可以看做是误差最小化。

算法四:逻辑回归

逻辑回归模型是一个二分类模型,它选取不同的特征与权重来对样本进行概率分类,用一各log函数计算样本属于某一类的概率。即一个样本会有一定的概率属于一个类,会有一定的概率属于另一类,概率大的类即为样本所属类。

具体应用有:信用评级、营销活动成功概率、产品销售预测、某天是否将会地震发生。

算法五:支持向量机(SVM)

支持向量机是一个二分类算法,它可以在N维空间找到一个(N-1)维的超平面,这个超平面可以将这些点分为两类。也就是说,平面内如果存在线性可分的两类点,SVM可以找到一条最优的直线将这些点分开。SVM应用范围很广。

具体应用有:广告展示、性别检测、大规模图像识别等。

算法六:集成学习

集成学习就是将很多分类器集成在一起,每个分类器有不同的权重,将这些分类器的分类结果合并在一起,作为最终的分类结果。最初集成方法为贝叶斯决策,现在多采用error-correcting output coding, bagging, and boosting等方法进行集成。

那么为什集成分类器要比单个分类器效果好呢?

1.偏差均匀化:如果你将民主党与共和党的投票数算一下均值,可定会得到你原先没有发现的结果,集成学习与这个也类似,它可以学到其它任何一种方式都学不到的东西。

2.减少方差:总体的结果要比单一模型的结果好,因为其从多个角度考虑问题。类似于股票市场,综合考虑多只股票可以要比只考虑一只股票好,这就是为什么多数据比少数据效果好原因,因为其考虑的因素更多。

3.不容易过拟合。如果的一个模型不过拟合,那么综合考虑多种因素的多模型就更不容易过拟合了。

二、无监督学习

算法七:聚类算法

聚类算法就是将一堆数据进行处理,根据它们的相似性对数据进行聚类。

聚类算法有很多种,具体如下:中心聚类、关联聚类、密度聚类、概率聚类、降维、神经网络/深度学习。

算法八:主成分分析(PCA)

主成分分析是利用正交变换将一些列可能相关数据转换为线性无关数据,从而找到主成分。

PCA主要用于简单学习与可视化中数据压缩、简化。但是PCA有一定的局限性,它需要你拥有特定领域的相关知识。对噪音比较多的数据并不适用。

算法九:SVD矩阵分解

SVD矩阵是一个复杂的实复负数矩阵,给定一个m 行、n列的矩阵M,那么M矩阵可以分解为M = UΣV。U和V是酉矩阵,Σ为对角阵。

PCA实际上就是一个简化版本的SVD分解。在计算机视觉领域,第一个脸部识别算法就是基于PCA与SVD的,用特征对脸部进行特征表示,然后降维、最后进行面部匹配。尽管现在面部识别方法复杂,但是基本原理还是类似的。

算法十:独立成分分析(ICA)

ICA是一门统计技术,用于发现存在于随机变量下的隐性因素。ICA为给观测数据定义了一个生成模型。在这个模型中,其认为数据变量是由隐性变量,经一个混合系统线性混合而成,这个混合系统未知。并且假设潜在因素属于非高斯分布、并且相互独立,称之为可观测数据的独立成分。

ICA与PCA相关,但它在发现潜在因素方面效果良好。它可以应用在数字图像、档文数据库、经济指标、心里测量等。

以上就是我对机器学习算法的一些简单介绍,现在你可以通过我的介绍与你自己的理解,好好思考机器学还可以在我们的日常生活中有哪些应用。

雷锋网总结:实际上这些机器学习算法并不是全都像想象中一样复杂,有些还和高中数学紧密相关。不过如何学以致用举一反三,不仅是机器学习的核心,也同样是每个人学习的核心要义。

via The 10 Algorithms Machine Learning Engineers Need to Know

【兼职召集令!】

如果你对未来充满憧憬,喜欢探索改变世界的科技进展,look no further!

我们需要这样的你:

精通英语,对技术与产品感兴趣,关注人工智能学术动态的萝莉&萌妹子&技术宅;

文字不求妙笔生花,但希望通俗易懂;

在这里,你会收获:

一群来自天南地北、志同道合的小伙伴;

前沿学术科技动态,每天为自己充充电;

更高的生活品质,翻翻文章就能挣到零花钱;

有意向的小伙伴们把个人介绍/简历发至 guoyixin@leiphone.com,如有作品,欢迎一并附上。

本文作者:小东

本文转自雷锋网禁止二次转载,原文链接

时间: 2024-09-05 14:34:38

机器学习十大算法都是何方神圣?看完你就懂了的相关文章

数据挖掘十大算法

国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART. 不仅仅是选中的十大算法,其实参加评选的18种算法,实际上随便拿出一种来都可以称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响. 1. C4.5 C

统治世界的十大算法

此时此刻,如果你已经学过算法的话,那么在你阅读那篇文章时,你脑海中所浮现的第一件事也许是"作者是否明白算法是什么?"或是"Facebook的新闻提要是一种算法?",因为如果Facebook的新闻提要也算是一种算法的话,那么最终你可以把几乎所有的东西都归类为算法.因此,在本文中我会试着去解释什么是算法,以及哪十个(也许更多)算法是真正统治世界的. 什么是算法? 直白地说,算法就是任何明确定义的计算过程,它接收一些值或集合作为输入,并产生一些值或集合作为输出.这样,算法

真正统治世界的十大算法

英文原文:The real 10 algorithms that dominate our world 不久前的某一天,我在浏览Reddit发现了一篇有趣的文章<统治世界的十大算法>,作者George Dvorsky在那篇文章中试图解释算法之于当今世界的重要性,以及哪些算法对人类文明最为重要. 此时此刻,如果你已经学过算法的话,那么在你阅读那篇文章时,你脑海中所浮现的第一件事也许是"作者是否明白算法是什么?"或是"Facebook的新闻提要是一种算法?"

数学建模十大算法

作者:July  二零一一年一月二十九日   一.蒙特卡罗算法1946年,美国拉斯阿莫斯国家实验室的三位科学家John von Neumann,Stan Ulam 和 Nick Metropolis 共同发明了,蒙特卡罗方法. 此算法被评为20世纪最伟大的十大算法之一,详情,请参见我的博文:http://blog.csdn.net/v_JULY_v/archive/2011/01/10/6127953.aspx   蒙特卡罗方法(Monte Carlo method),又称随机抽样或统计模拟方法

最新出炉——数据科学家最常使用的十大算法

本文来自于KDnuggets所做的十大算法调查,对于数据工程师常用的算法进行排名,并对其在2011-2016年间的变化进行介绍. 基于调查,KDnuggets总结出了数据科学家最常使用的十大算法,它们分别是: 1. Regression 回归算法 2. Clustering 聚类算法 3. Decision Trees/Rules 决策树 4. Visualization 可视化 5. k-Nearest Neighbor 邻近算法 6. PCA (Principal Component Ana

细数二十世纪最伟大的十大算法

发明十大算法的其中几位算法大师 ◆ ◆ ◆ 一.1946 蒙特卡洛方法 [1946: John von Neumann, Stan Ulam, and Nick Metropolis, all at the Los Alamos Scientific Laboratory, cook up the Metropolis algorithm, also known as the Monte Carlo method.] 1946年,美国拉斯阿莫斯国家实验室的三位科学家John von Neuman

最新出炉 数据科学家最常使用的十大算法

导读:本文来自于KDnuggets所做的十大算法调查,对于数据工程师常用的算法进行排名,并对其在2011-2016年间的变化进行介绍. 基于调查,KDnuggets总结出了数据科学家最常使用的十大算法,它们分别是: 1. Regression 回归算法 2. Clustering 聚类算法 3. Decision Trees/Rules 决策树 4. Visualization 可视化 5. k-Nearest Neighbor 邻近算法 6. PCA (Principal Component

轻松看懂机器学习十大常用算法

通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题. 每个算法都看了好几个视频,挑出讲的最清晰明了有趣的,便于科普. 以后有时间再对单个算法做深入地解析. 今天的算法如下: 决策树 随机森林算法 逻辑回归 SVM 朴素贝叶斯 K最近邻算法 K均值算法 Adaboost 算法 神经网络 马尔可夫 1. 决策树 根据一些 feature 进行分类,每个节点提一个问题,通过判断,将数据分为两类,再继续提

开发者入门必读:最值得看的十大机器学习公开课

在当下的机器学习热潮,人才匮乏十分显著.截至目前,国内开设人工智能(AI)专业的高校不多,相当多的开发者是跨界入门,需要自学大量知识并摸索.因而优质的学习资源至关重要.因此,雷锋网搜集了全世界范围内最受欢迎的机器学习课程,整理成这份"机器学习十大入门公开课"盘点,集中呈现给各位.这份推荐榜颇费心血,综合考虑了难易.侧重点.时效性等诸多因素,希望能帮助大家找到最适合自己的学习资源. 这些课程全部免费开放,但有些需翻墙,有的缺少中文字幕. 1. 吴恩达"机器学习"公开课