机器学习算法工程师学习资料(机器学习工程师必须掌握的十大算法)

本文属原创,可关注微信公众号 全球科技快讯 关注更多最新科技动态。

毫无疑问,机器学习/人工智能在过去几年中越来越受欢迎,大数据已成为目前科技行业最热门研究领域。要了解机器学习的更多知识,要成为机器学习工程师,那么应该怎么入门呢?

当我在哥本哈根读大学时,我第一次接触到《人工智能》课程。我的老师是丹麦科技大学的应用数学和计算机的教授,他主要研究领域是逻辑理论和人工智能。该课程很注重对基本理论/核心概念的掌握和对解决实际问题的训练。当时,我们所用教科书是人工智能领域的经典教材《Artificial Intelligence — A Modern Approach》,作者是Peter Norvig,现在我将此书推荐给所有立志从事人工智能的人们(大学生、研究生或者博士)。这本书中包括了智能代理、搜索问题、概率论、多代理系统、社会人工智能,甚至也包括了人工智能的哲学、伦理和未来。

在这个课程中,我学到了大量知识,后来我决定继续学习这个领域中特别的专题——机器学习。在过去几个星期里,我在旧金山参加了多场相关的技术讲座,这包括深度学习,神经网络,数据构架。我也参加了一场重要的国际机器学习会议。最重要的是,我在六月初在Udacity平台上注册了机器学习的重要课程,几天前我刚完成这系列课程。因此,我想在这篇文章中分享我在课程中所学到的机器学习算法,算是对机器学习算法的总结吧。

从商业决策的角度来看,决策树是逐级求解“是或非问题”,评估做出正确决策的概率。作为一个问题,它允许你用结构化和系统化的方式去处理问题,直到得出决定。

2.朴素贝叶斯分类:朴素贝叶斯分类器是一个简单概率分类器的家族,它基于应用贝叶斯定理与特征之间的强(独立)独立假设。其中P(A | B)是后验概率,P(B | A)是似然性,P(A)是类先验概率,P(B)是预测先验概率。

机器学习算法工程师学习资料(机器学习工程师必须掌握的十大算法)(1)

应用实例:标记垃圾邮件;将新闻进行分类(科技,体育,娱乐等);检查一段文本所包含的情绪;用于人脸识别软件

3.普通最小二乘法回归:如果你学习过统计学,你可能已经听说过线性回归。 最小二乘法是执行线性回归的方法。 你可以把线性回归视为将一组点拟合成一条直线。有多种方法能做到这一点,“普通最小二乘法”策略就像这样——你可以画一条线,然后对于每个数据点,测量点和线之间的垂直距离,并将它们相加得到累加和 ; 拟合的线将是使累加和最小的线。

机器学习算法工程师学习资料(机器学习工程师必须掌握的十大算法)(2)

应用实例:波士顿房价预测(经典案例)

4.逻辑回归:逻辑回归是用逻辑函数(logistic function)来对特征变量与类别变量建模,来处理二分类或多分类问题的。

机器学习算法工程师学习资料(机器学习工程师必须掌握的十大算法)(3)

应用实例:

用于分类:信用评级;手写字体识别。

用于回归:衡量营销活动的成功率;预测某疾病发生的概率。

5.支持向量机:SVM是二分类算法。 假定N维空间内存在两种类型的数据,SVM将产生N-1维的超平面来将这两类数据点分开。假如你看到纸上看到一些线性可分的分离点,SVM将找到一条直线将这些数据分开,并使这条直线尽可能远离这两类点。

机器学习算法工程师学习资料(机器学习工程师必须掌握的十大算法)(4)

应用实例:显示广告;识别人类剪接位点;基于图像的性别检测;大规模图像分类……

6.集成方法:集成方法是构建一组分类器的学习算法,然后通过对其加权投票来对新数据点进行分类。原始集成方法是利用贝叶斯平均,但是最近的集成算法包括纠错输出编码,装袋和提升。

机器学习算法工程师学习资料(机器学习工程师必须掌握的十大算法)(5)

那么集成方法如何工作,为什么它们优于单个模型呢?

平均偏差:如果你把一堆倾向民主的民意调查和倾向共和的民意调查平均在一起,你将得到一个较公平的结果。

减少方差:一组模型的总体意见比一个模型的单个意见的噪声要小。在金融方面,股票的多元化混合投资组合的变量将比单独投资的变量要少。这就是为什么你的模型将更好地拟合更多的数据点。

不太可能过拟合。

应用实例:泰坦尼克号上人数生存概率的预测等等。

无监督学习

7.聚类算法:聚类是对一组对象进行分组,使得同一组(簇)中的对象比其他组中的对象更相似。通常有以下几组聚类算法:基于中心的聚类、基于连通性的聚类、基于密度的聚类、基于概率的聚类、降维、神经网络/深度学习。

机器学习算法工程师学习资料(机器学习工程师必须掌握的十大算法)(6)

应用实例:找出计算机集群中更倾向于协调工作的计算机;简化复杂数据等等。

8. 主成分分析(PCA):PCA是利用正交变换将一组可能线性相关的变量变换成线性无关的变量。对于PCA的使用,需要较强的专业知识才能做出合理的选择;它不适用于数据有噪声的情况。

机器学习算法工程师学习资料(机器学习工程师必须掌握的十大算法)(7)

应用实例:

数据压缩,减少数据存储;加快机器学习过程;降维,便于可视化。

9.奇异值分解:在线性代数中,SVD是实数矩阵的因式分解。对于给定的m x n的矩阵M,存在分解使得M =UΣV,其中U和V是酉矩阵,并且Σ是对角矩阵。

机器学习算法工程师学习资料(机器学习工程师必须掌握的十大算法)(8)

应用实例:PCA实际上是SVD的一个简单应用。在计算机视觉中,首先,面部识别算法使用PCA和SVD以便将面部表示为“特征面”的线性组合,减少维数;然后,通过简单的方法将面部匹配到身份。虽然现代方法更复杂,但很多都采取了相似的方法。

10. 独立分量分析(ICA):ICA是一种用于揭示作为随机变量,测量或信号集合的隐藏因素的统计方法。 ICA定义了多变量数据的生成模型,其通常作为样本的大数据库给出。在模型中,假定数据变量是与一些未知的潜在变量的线性混合,混合系统也是未知的。潜变量假设是相互独立非高斯函数,并且它们被称为观测数据的独立分量。

机器学习算法工程师学习资料(机器学习工程师必须掌握的十大算法)(9)

ICA与PCA有关系,但是当那些经典方法完全失效时,ICA可能仍有效,能够找到源的潜在因素。其应用包括数字图像,文档数据库,经济指标和心理测量。

好了,理解了这十类机器学习算法,你就能创建机器学习应用程序,为世界各地的人们提供更好的体验!

长按关注全球科技快讯

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页