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

简介:

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

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,如有作品,欢迎一并附上。


本文作者:小东


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

相关文章
|
19小时前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的支持向量机(SVM)算法
【5月更文挑战第6天】在数据科学和人工智能的广阔天地中,支持向量机(SVM)以其强大的分类能力与理论深度成为机器学习领域中的一个闪亮的星。本文将深入探讨SVM的核心原理、关键特性以及实际应用案例,为读者提供一个清晰的视角来理解这一高级算法,并展示如何利用SVM解决实际问题。
17 7
|
21小时前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的支持向量机算法
【5月更文挑战第6天】 在数据科学和人工智能领域,支持向量机(SVM)是一种强大的监督学习模型,它凭借其出色的分类能力在众多机器学习任务中占据重要地位。本文旨在深入剖析支持向量机的工作原理,探讨其在高维数据处理中的优势以及面对大规模数据集时的应对策略。通过对核技巧、软间隔以及优化问题的讨论,我们将揭示SVM如何优雅地处理线性不可分问题,并保持模型的泛化性能。
|
4天前
|
机器学习/深度学习 自然语言处理 算法
机器学习算法原理与应用:深入探索与实战
【5月更文挑战第2天】本文深入探讨机器学习算法原理,包括监督学习(如线性回归、SVM、神经网络)、非监督学习(聚类、PCA)和强化学习。通过案例展示了机器学习在图像识别(CNN)、自然语言处理(RNN/LSTM)和推荐系统(协同过滤)的应用。随着技术发展,机器学习正广泛影响各领域,但也带来隐私和算法偏见问题,需关注解决。
|
6天前
|
机器学习/深度学习 运维 算法
【Python机器学习专栏】异常检测算法在Python中的实践
【4月更文挑战第30天】本文介绍了异常检测的重要性和在不同领域的应用,如欺诈检测和网络安全。文章概述了四种常见异常检测算法:基于统计、距离、密度和模型的方法。在Python实践中,使用scikit-learn库展示了如何实现这些算法,包括正态分布拟合、K-means聚类、局部异常因子(LOF)和孤立森林(Isolation Forest)。通过计算概率密度、距离、LOF值和数据点的平均路径长度来识别异常值。
|
6天前
|
机器学习/深度学习 数据可视化 算法
【Python机器学习专栏】t-SNE算法在数据可视化中的应用
【4月更文挑战第30天】t-SNE算法是用于高维数据可视化的非线性降维技术,通过最小化Kullback-Leibler散度在低维空间保持数据点间关系。其特点包括:高维到二维/三维映射、保留局部结构、无需预定义簇数量,但计算成本高。Python中可使用`scikit-learn`的`TSNE`类实现,结合`matplotlib`进行可视化。尽管计算昂贵,t-SNE在揭示复杂数据集结构上极具价值。
|
6天前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习专栏】关联规则学习:Apriori算法详解
【4月更文挑战第30天】Apriori算法是一种用于关联规则学习的经典算法,尤其适用于购物篮分析,以发现商品间的购买关联。该算法基于支持度和置信度指标,通过迭代生成频繁项集并提取满足阈值的规则。Python中可借助mlxtend库实现Apriori,例如处理购物篮数据,设置支持度和置信度阈值,找出相关规则。
|
6天前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习专栏】层次聚类算法的原理与应用
【4月更文挑战第30天】层次聚类是数据挖掘中的聚类技术,无需预设簇数量,能生成数据的层次结构。分为凝聚(自下而上)和分裂(自上而下)两类,常用凝聚层次聚类有最短/最长距离、群集平均和Ward方法。优点是自动确定簇数、提供层次结构,适合小到中型数据集;缺点是计算成本高、过程不可逆且对异常值敏感。在Python中可使用`scipy.cluster.hierarchy`进行实现。尽管有局限,层次聚类仍是各领域强大的分析工具。
|
6天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】K-means 聚类算法在 Python 中的实现
【4月更文挑战第30天】K-means 是一种常见的聚类算法,用于将数据集划分为 K 个簇。其基本流程包括初始化簇中心、分配数据点、更新簇中心并重复此过程直到收敛。在 Python 中实现 K-means 包括数据准备、定义距离函数、初始化、迭代和输出结果。虽然算法简单高效,但它需要预先设定 K 值,且对初始点选择敏感,可能陷入局部最优。广泛应用在市场分析、图像分割等场景。理解原理与实现对应用聚类分析至关重要。
|
6天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习算法的原理与应用
【4月更文挑战第30天】集成学习通过组合多个基学习器提升预测准确性,广泛应用于分类、回归等问题。主要步骤包括生成基学习器、训练和结合预测结果。算法类型有Bagging(如随机森林)、Boosting(如AdaBoost)和Stacking。Python中可使用scikit-learn实现,如示例代码展示的随机森林分类。集成学习能降低模型方差,缓解过拟合,提高预测性能。
|
6天前
|
机器学习/深度学习 算法 Python
【Python 机器学习专栏】随机森林算法的性能与调优
【4月更文挑战第30天】随机森林是一种集成学习方法,通过构建多棵决策树并投票或平均预测结果,具有高准确性、抗过拟合、处理高维数据的能力。关键性能因素包括树的数量、深度、特征选择和样本大小。调优方法包括调整树的数量、深度,选择关键特征和参数优化。Python 示例展示了使用 GridSearchCV 进行调优。随机森林广泛应用于分类、回归和特征选择问题,是机器学习中的重要工具。