毫无疑问,机器学习/AI的子领域在过去几年中越来越受欢迎。目前,大数据在科技行业已经非常流行,而机器学习基于大量数据进行预测或得出推荐无疑是非常强大的。一些最常见的机器学习示例是Netflix的算法根据您之前看过的电影推荐电影,以及亚马逊的算法根据您之前购买的书籍推荐书籍。那么如果你想了解更多关于机器学习的知识,你应该如何开始呢?对我来说,我的入门课程是我在哥本哈根留学期间学习的人工智能课程。我当时的讲师是丹麦技术大学应用数学和计算机科学专业的全职教授。他的研究方向是逻辑和人工智能,专注于将逻辑用于人类友好的规划、推理和问题解决。用于建模。本课程包括理论/核心概念的讨论和动手解决问题。我们用的教材是AI经典之一:PeterNorvig的ArtificialIntelligence—AModernApproach(中文译文:《人工智能:一种现代的方法》),这本书主要讲agent,搜索和解决问题,对抗搜索,概率论,multi-代理系统、社交人工智能和人工智能的哲学/伦理/未来等。在课程结束时,我们三人团队实施了一个简单的编程项目,即基于搜索的代理解决虚拟环境中的运输任务。我在那门课程中学到了很多,并决定继续研究相关主题。在过去的几周里,我在旧金山参加了几次相关的技术讲座,涉及深度学习、神经网络和数据结构,并与该领域的许多知名专家和学者一起参加了机器学习会议。最重要的是,我在6月初参加了Udacity上的机器学习入门在线课程,几天前刚刚完成。在这篇文章中,我想分享一些我从课程中学到的最常用的机器学习算法。机器学习算法可以分为三大类:监督学习、非监督学习和强化学习。当特定数据集(训练集)具有某种属性(标签),但其他数据没有标签或需要预测标签时,可以使用监督学习。无监督学习可用于给定的未标记数据集(数据未预先分配),目的是找出数据之间的潜在关系。强化学习介于两者之间,对每个预测都有某种形式的反馈,但没有精确的标签或错误消息。由于这是一门入门课程,我没有研究过强化学习,但我希望以下关于监督和非监督学习的10种算法足以引起您的兴趣。监督学习1.决策树(DecisionTrees)决策树是一种决策支持工具,它使用树状图或决策模型和一系列可能性,包括机会事件的结果、资源成本和效用。下图是基本原理:从业务决策的角度来看,决策树是一个人必须理解的最少数量的是/否问题,以便评估在大多数情况下做出正确决策的可能性。作为一种方法,它允许您以结构化和系统化的方式处理问题,从而得出合乎逻辑的结论。2.朴素贝叶斯分类(NaiveBayesianclassification)朴素贝叶斯分类器是一类基于贝叶斯定理和特征间强(朴素)独立性假设的简单概率分类器。图中显示了贝叶斯公式,其中P(A|B)是后验概率,P(B|A)是似然,P(A)是类别先验概率,P(B)是预测先验概率。一些应用实例:垃圾邮件的判断新闻类别的分类,比如科技、政治、体育判断文本中表达的情绪是积极的还是消极的人脸识别3.普通最小二乘回归如果你懂统计学的话,你可能有之前听说过线性回归。最小二乘法是一种计算线性回归的方法。您可以将线性回归视为通过一组点拟合一条直线。有很多方法可以做到这一点,“最小二乘法”是这样的:你可以画一条线,然后对于每个数据点,计算每个点到线的垂直距离,然后将它们相加,然后***得到拟合线的距离和越小越好。线性是指您用来拟合数据的模型,而最小二乘是指您最小化的误差指标。4.逻辑回归(LogisticRegression)逻辑回归是一种强大的统计方法,可以用一个或多个解释变量来表达二项式结果。它通过使用逻辑函数来估计概率,该函数衡量类别因变量与遵循累积逻辑分布的一个或多个自变量之间的关系。总的来说,逻辑回归可用于以下现实世界的应用场景:信用评分计算营销活动的成功率预测产品的收入某一天是否会发生地震5.支持向量机(SVM))SVM是一种二元分类算法。给定N维坐标中的两类点,SVM生成(N-1)维超平面将这些点分为两组。假设你在一个平面上有两类点可以线性分开,SVM会找到一条线把这些点分成两类,并且这条线离所有这些点尽可能远。在规模上,使用支持向量机(经过适当修改)解决的一些最佳问题包括展示广告、人类剪接位点识别、基于图像的性别检测、大规模图像分类……6.集成方法通过构建一组分类器然后根据它们的预测进行加权投票来获得新的数据点。最初的集成方法是贝叶斯平均,但最近的算法包括纠错输出编码、装袋和提升。那么集成方法是如何工作的呢?为什么它们优于单个模型?他们平均化了个别模型的偏差:如果你将民主党民意调查和共和党民意调查放在一起平均,你会得到一个平衡的结果,任何一方都不偏袒。它们减少了方差:一组模型的整体意见比其中任何一个的单一意见更一致。在金融领域,这称为多元化,在投资组合中拥有多只股票的不确定性低于一只股票,这就是为什么您的模型在使用更多数据时表现更好的原因。它们不太可能过度拟合:如果您有不过度拟合的单个模型,则只需组合这些模型的预测(平均、加权平均、逻辑回归),最终得到的模型将不会过度拟合。无监督学习7.聚类算法聚类是将一系列对象分组的任务,目的是使同一组(集群)中的对象比其他组中的对象更相似。每个聚类算法都是不同的,这里有一些例子:基于质心的算法基于链接的算法基于密度的算法概率降维神经网络/深度学习8.主成分分析(PCA)PCA是一种统计过程,可将一组观察值转换为通过使用正交变换将潜在相关变量转换为一组线性不相关变量的值,变换后的变量就是所谓的主成分。PCA的一些应用包括压缩、简化数据以便于学习、可视化等。请注意,领域知识对于选择是否继续使用PCA很重要。噪声数据的情况(PCA的所有分量都具有高方差)不适用。9.奇异值分解(SVD)在线性代数中,SVD是复数矩阵的因式分解。对于给定的m*n矩阵M,存在一个因式分解使得M=UΣV,其中U和V是酉矩阵,Σ是对角矩阵。PCA其实就是SVD的简单应用。在计算机视觉中,最先进的人脸识别算法使用PCA和SVD将人脸表示为“特征脸”的线性组合,进行降维,然后以简单的方式将人脸与身份进行匹配,尽管现代方法更加复杂,但许多仍然依赖于类似的技术。10.独立成分分析(IndependentComponentAnalysis,ICA)ICA是一种统计技术,主要用来揭示随机变量、测量值或信号集中度的隐藏因素。ICA为观察到的多变量数据定义了一个生成模型,通常是一个大的数据库作为样本。在模型中,假设数据变量由一些未知的隐变量线性混合,混合的方式也是未知的。潜变量假设为非高斯分布且相互独立,称为观测数据的独立分量。ICA与PCA相关,但是当这些经典方法完全失败时,ICA是一种更强大的寻找来源潜在因素的技术。它的应用包括数字图像、文档数据库、经济指标和心理测量。现在利用您对这些算法的理解来创建机器学习应用程序,为世界各地的人们带来更好的体验。
