一些最常见的机器学习的例子是Netflix的算法,它可以根据你以前看过的电影提供影片建议;或者亚马逊的算法,根据你以前购买过的图书来推荐书籍。
所以,如果你想了解更多有关机器学习的信息,如何开始?
对我来说,我的第一课是我在哥本哈根留学时,参加的人工智能课。
我的讲师是丹麦科技大学应用数学和计算机科学的全职教授,他的研究领域是逻辑和人工,主要侧重于运用逻辑来模拟人类的规划,推理和解决问题。这是一门对理论以及核心概念进行讨论和动手解决问题的综合课程。
我们使用的教科书是人工智能经典之一:Peter Norvig’s Artificial Intelligence——A Modern Approach,我们涵盖的主要议题包括智能代理,搜索解决问题,对抗搜索,概率论,多代理系统,社会AI,哲学/伦理/AI的未来。在课程结束时,在一个3人团队中,做为一个编程项目,我们实现了简单的基于搜索的代理,来解决虚拟环境中的运输任务。
在这个课程中我学到了很多东西,并决定继续学习这个专题。在过去的几周里,我在旧金山参加了多个关于深度学习、神经网络、数据架构的技术讲座, 并与许多知名专业人士进行了一次机器学习会议。最重要的是,我在六月初参加了inUdacity的“机器学习入门”在线课程,并在几天前完成了学习。
在这篇文章中,我想分享一些我从课程中学到的最常见的机器学习算法。
机器学习算法可以分为三大类:监督学习,非监督学习和强化学习。
一个属性(标签)可用于某一特定数据集(训练集),但是该属性缺失了,并需要为其它情况下的该属性进行预测时,则监督学习是有效的。如果任务是在给定的未标记的数据集中发现隐性关系(项目不是预分配的),则非监督学习是有用的。强化学习在这两者之间——每个预测步骤或动作都有一些形式的反馈,但没有精确的标签或错误信息。
因为这是一个入门课程,我没有学习强化学习,但是我希望这10个关于监督学习和非监督学习的算法足以让你感兴趣。
监督学习
1.决策树:决策树是决策支持工具,它使用树状图或决策模型及其可能的后果,包括机会事件结果,资源成本和效用。看一下图像来了解它的样子。
从商业决策的角度来看,决策树就是通过尽可能少的是非判断问题来预测决策正确的概率。这种方法可以帮你用一种结构性的、系统性的方法来得出合理的结论。
2.朴素贝叶斯分类:朴素贝叶斯分类器是一类基于贝叶斯理论的简单的概率分类器,它假设特征之前是相互独立的。下图所示的就是公式 —— P(A|B)表示后验概率,P(B|A)是似然值,P(A)是类别的先验概率,P(B)代表预测器的先验概率。
一些现实世界的例子是:
? 将电子邮件标记为垃圾邮件或非垃圾邮件
? 对关于技术,政治或运动的新闻文章进行分类
? 检查一段文字表达的是积极情绪还是消极情绪
? 用于人脸识别软件
3.普通最小二乘回归:如果你知道统计学,你可能已经听说过线性回归。
如果你学过统计课程,也许听说过线性回归的概念。最小平方回归是求线性回归的一种方法。你可以把线性回归想成是用一条直线拟合若干个点。拟合的方法有许多种,“最小平方”的策略相当于你画一条直线,然后计算每个点到直线的垂直距离,最后把各个距离求和;最佳拟合的直线就是距离和最小的那一条。
线性指的是用于拟合数据的模型,而最小平方指的是待优化的损失函数。
4.逻辑回归:逻辑回归是一种用一个或多个解释变量对二项式结果进行建模的强大统计方法。它利用逻辑函数,通过估计概率来衡量分类变量和一个或多个独立变量之间的关系。该逻辑函数是累积逻辑分布。
一般来说,回归可用于实际应用,例如:
? 信用评分
? 衡量市场营销活动的成功率
? 预测某一产品的收入
? 某一天是否会发生地震
5.支撑向量机(SVM):支持向量机是一种二分类算法。在N维空间中给定两类点,支持向量机生成一个(N-1)维的超平面将这些点分为两类。举个例子,比如在纸上有两类线性可分的点。支持向量机会寻找一条直线将这两类点区分开来,并且与这些点的距离都尽可能远。
在规模方面,使用SVM(适当修改的实现)解决的一些重大问题有展示广告,人为拼接站点识别,基于图像的性别检测,大规模图像分类…
6.集成方法: 集成方法是先构建一组分类器,然后用各个分类器带权重的投票来预测新数据的算法。最初的集成方法是贝叶斯平均,但最新的算法包括误差纠正输出编码和提升算法。
那么集成模型的原理是什么,以及它为什么比独立模型的效果好呢?
它们消除了偏置的影响:比如把民主党的问卷和共和党的问卷混合,从中得到的将是一个不伦不类的偏中立的信息。
它们能减小预测的方差:多个模型聚合后的预测结果比单一模型的预测结果更稳定。在金融界,这被称为是多样化 —— 多个股票的混合产品波动总是远小于单个股票的波动。这也解释了为何增加训练数据,模型的效果会变得更好。
它们不容易产生过拟合:如果单个模型不会产生过拟合,那么将每个模型的预测结果简单地组合(取均值、加权平均、逻辑回归),没有理由产生过拟合。
非监督学习
7.聚类算法: 分类是组合一系列对象的任务,例如在同一组(分类)的对象比在其他组的更相似。
每种聚类算法都各不相同,这里列举了几种:
基于类心的聚类算法
基于连接的聚类算法
基于密度的聚类算法
概率型算法
降维算法
神经网络/深度学习
8.主成分分析:主成分分析属于统计学的方法,过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。
主成分分析的一些实际应用包括数据压缩,简化数据表示,数据可视化等。值得一提的是需要领域知识来判断是否适合使用主成分分析算法。如果数据的噪声太大(即各个成分的方差都很大),就不适合使用主成分分析算法。
9.奇异值分解:奇异值分解是线性代数中一种重要的矩阵分解,是矩阵分析中正规矩阵酉对角化的推广。对于给定的m*n矩阵M,可以将其分解为M = UΣV,其中U和V是m×m阶酉矩阵,Σ是半正定m×n阶对角矩阵。
主成分分析其实就是一种简单的奇异值分解算法。
在计算机视觉领域中,第一例人脸识别算法使用了主成分分析和奇异值分解将人脸表示为一组“特征脸(eigenfaces)”的线性组合,经过降维,然后利用简单的方法匹配候选人脸。尽管现代的方法更加精细,许多技术还是于此很相似。
10.独立成分分析:独立成分分析是一种利用统计原理进行计算来揭示随机变量、测量值或者信号背后的隐藏因素的方法。
独立成分分析算法给所观察到的多变量数据定义了一个生成模型,通常这些变量是大批量的样本。在该模型中,数据变量被假定为一些未知的潜变量的线性混合,而且混合系统也未知。潜变量被假定是非高斯和相互独立的,它们被称为所观察到的数据的独立分量。
独立成分分析与主成分分析有关联,但它是一个更强大的技术。它能够在这些经典方法失效时仍旧找到数据源的潜在因素。它的应用包括数字图像、文档数据库、经济指标和心理测量。
现在,请运用你所理解的算法,去创造机器学习应用,改善全世界人们的生活质量吧。
本文作者:网友 来源:网络收集
CIO之家 www.ciozj.com 微信公众号:imciow