机器学习基础入门
发布于 4 个月前 作者 zmecust 525 次浏览 最后一次编辑是 2 个月前 来自 分享

终于开始入正题了。你或许每天都在不知不觉中使用了机器学习的算法,每次你打开谷歌、必应搜索到你需要的内容,正是因为他们有良好的学习算法。谷歌和微软实现了学习算法来排行网页。每次,你用 Facebook 或苹果的图片分类程序他能认出你朋友的照片,这也是机器学习。每次您阅读您的电子邮件垃圾邮件筛选器,可以帮你过滤大量的垃圾邮件这也是一种学习算法。对我来说,我感到激动的原因之一是有一天做出一个和人类一样聪明的机器。实现这个想法任重而道远,许多 AI 研究者认为,实现这个目标最好的方法是通过让机器试着模仿人的大脑学习。

机器学习分类

在介绍机器学习分类之前,先介绍人工智能(AI)、机器学习(ML)、深度学习(DL)三者之间的区别。用一张图可以表示他们之间的区别和联系。

00678rgojw1f7vkx9f07dj30m80bojt8.jpg

人工智能:这个很好理解,就是通过模仿人类,为机器赋予类似于人类的智慧。

机器学习:一种实现人工智能的方法。机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。指通过数据训练出能完成一定功能的模型,是实现人工智能的手段之一,也是目前最主流的人工智能实现方法。

深度学习:一种实现机器学习的技术。是更深层次的神经网络(一种机器学习的技术)。深度即层数,超过 8 层的神经网络模型就叫深度学习——目前在语音、图像等领域取得了很好的效果。

我们先从机器学习问题本身分类的角度来看,我们可以分成下列类型的算法:

  • 监督学习算法

机器学习中有一大部分的问题属于『监督学习』的范畴,简单口语化地说明,这类问题中,给定的训练样本中,每个样本的输入 xxx 都对应一个确定的结果 yyy,我们需要训练出一个模型(数学上看是一个 x→y 的映射关系 f),在未知的样本 x′x′x′ 给定后,我们能对结果 y′y′y′ 做出预测。

这里的预测结果如果是离散值(很多时候是类别类型,比如邮件分类问题中的垃圾邮件/普通邮件,比如用户会/不会购买某商品),那么我们把它叫做分类问题(classification problem);如果预测结果是连续值(比如房价,股票价格等等),那么我们把它叫做回归问题(regression problem)。

有一系列的机器学习算法是用以解决监督学习问题的,比如最经典的用于分类问题的朴素贝叶斯、逻辑回归、支持向量机等等;比如说用于回归问题的线性回归等等。

  • 无监督学习

有另外一类问题,给我们的样本并没有给出『标签/标准答案』,就是一系列的样本。而我们需要做的事情是,在一些样本中抽取出通用的规则。这叫做『无监督学习』。包括关联规则和聚类算法在内的一系列机器学习算法都属于这个范畴。

监督学习算法

k-近邻算法(KNN)

决策树

朴素贝叶斯

逻辑回归

线性回归

支持向量机(SVM)

无监督学习算法

K-均值聚类

Apriori 关联规则

最大期望

其它

AdaBoost 元算法

AdaBoost 算法原理与推导

PCA 降维

PCA 降维的数学原理

奇异值分解(SVD)

机器学习路线

第一条路线: (基于最小二乘法的)简单线性回归 —> 线性回归中的新进展(岭回归和LASSO回归)—> 决策树(重点 Bagging) —> Logistic 回归 —> 支持向量机(SVM) —> 神经网络 —> 深度学习

之所以把它们归为一条线路,因为所有这些算法都是围绕着 y = Σxiβi,这样一条简单的公式展开的,如果你抓住这条线索,不断探索下去,就算是抓住它们之间的绳索了。其中蓝色部分主要是回归,绿色部分主要是有监督的分类学习法。

第二条线路: K-means —> EM —> 朴素贝叶斯 —> 贝叶斯网络 —> 隐马尔科夫模型(基本模型,前向算法,维特比算法,前向-后向算法)—> (卡尔曼滤波)

这条线路所涉及的基本都是那些各种画来画去的图模型,一个学术名词是 PGM 。这条线的思路和第一条是截然不同的!贝叶斯网络、HMM(隐马尔科夫模型),也就是绿色字体的部分是这个线路中的核心内容。而蓝色部分是为绿色内容做准备的部分。K-means 和 EM 具有与生俱来的联系,认识到这一点才能说明你真正读懂了它们。而 EM 算法要在 HMM 的模型训练中用到,所以你要先学 EM 才能深入学习 HMM。所以尽管在EM中看不到那种画来画去的图模型,但我还把它放在了这条线路中,这也就是原因所在。朴素贝叶斯里面的很多内容在,贝叶斯网络和HMM里都会用到,类似贝叶斯定理,先验和后验概率,边缘分布等等(主要是概念性的)。最后,卡尔曼滤波可以作为 HMM 的一直深入或者后续扩展。尽管很多 machine learning 的书里没把它看做是一种机器学习算法(或许那些作者认为它应该是信号处理中的内容),但是它也确实可以被看成是一种机器学习技术。

回到顶部