最近在学习机器学习,看了吴恩达老师的机器学习课程,收获很多,想把课上学做的笔记结合自己的理解以及找到的一些资料综合起来做一个总结,希望能够写的通俗易懂,有所收获。大家感兴趣也可以自己去看一看吴恩达老师的课,这套课程,被公认为最好的机器学习的入门教程,下面是课程视频链接:
一、人工智能和机器学习、深度学习有什么关系
首先我们来讲讲最近特别火的人工智能、深度学习和我们的机器学习有什么关系。
人工智能(Artificial Intelligence,简称AI)、机器学习(Machine Learning,简称ML)以及深度学习(Deep Learning,简称DL)。
首先人工智能并不是一个新的术语,它已经有几十年的历史了,大约从80年代初开始,计算机科学家们开始设计可以学习和模仿人类行为的算法。人工智能是一个大概念,而机器学习则是人工智能领域的一个分支,如果说AI是一个合集,那么ML就是AI的子集。它是人工智能的核心,是使计算机具有智能的根本途径。任何通过数据训练的学习算法的相关研究都属于机器学习,包括很多已经发展多年的技术,比如线性回归(Linear Regression)、K均值(K-means,基于原型的目标函数聚类方法)、决策树(Decision Trees,运用概率分析的一种图解法)、随机森林(Random Forest,运用概率分析的一种图解法)、PCA(Principal Component Analysis,主成分分析)、SVM(Support Vector Machine,支持向量机)以及ANN(Artificial Neural Networks,人工神经网络)。
而上面的这些算法中,每种算法结构都可以生成对应的预测模型。其中人工神经网络就是深度学习的起源,每种模型都有自己的特点,在一些任务中表现不错,但在其他方面表现不佳。但总体来说,我们可以把它们分成低功耗(简单)模型和高功耗(复杂)模型。20世纪时,由于没有强大的处理能力和大量的数据,导致训练高功率模型十分困难。而现在的大数据时代,云计算得到大量可用的数据以及像GPU这样更强大的计算引擎的出现,使我们不再局限于低功耗/简单的模型。于是计算机科学家重新使用神经网络的许多层来完成人类模仿的任务。这给DNN(深度神经网络)带来了新的生机,DNN的主要区别在于,你可以将原始信号(例如RGB像素值)直接输入DNN,而不需要创建任何域特定的输入功能。通过多层神经元(这就是为什么它被称为“深度”神经网络),DNN可以“自动”通过每一层产生适当的特征,最后提供一个非常好的预测。DNN也演变成许多不同的网络拓扑结构,所以有CNN(卷积神经网络),RNN(递归神经网络),LSTM(长期短期记忆),GAN(生成敌对网络),转移学习,注意模型(attention model)所有的这些被统称为深度学习(Deep Learning)。
所以,简单来说,就是人工智能包括了机器学习,而深度学习又是机器学习的一种,包含在机器学习中。
上面这些参考了知乎上的一个回答,把链接放这里 知乎:机器学习、深度学习和强化学习的关系和区别是什么?感兴趣的可以去看看,这里讲的更详细。
多说两句,现在许多人喜欢把人工智能说的天花乱坠、无所不能,好像社会变革马上就要到来,人类的命运将被改写,等着被机器“淘汰”……。但实际上,并不是这样的,再想想,这些这么说的人貌似没有一个是真正从事人工智能研究的。人工智能的核心是机器学习,机器能够学习,不是因为机器会像人一样思考,而是因为人类会像机器一样“思考”,然后再让机器模拟人的思考。其背后是算法,是模型,是高等数学、概率论、统计学,是哲学、心理学以及无数基础学科研究者的忍耐和汗水。被吹的天花乱坠的深度学习本质上就是深层的神经网络,所谓神经网络只不过是无数人类发明的算法之一,在一定程度上模拟了人类生物神经,就像人类理解了蝙蝠判别方向的原理之后发明了雷达一样,经过几十年的迭代优化,比原来更加强大。
二、机器学习的定义
机器学习有很多种定义,通常引用的英文定义是Arthur Samuel和Tom Mitchell两位教授的。
IBM的Arthur Samuel,被誉为“机器学习之父”,他对于机器学习的定义是:Field of study that fives computers the ability to learn without being explicitly programmed.
翻译过来为:在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域。
全球机器学习教父、人工智能领域顶尖科学家Tom Mitchell教授,在定义机器学习时提到:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
翻译过来为:对于一个计算机程序来说,给他一个任务T和一个性能测试P,如果在经验E的影响下,P对T的测量结果得到了改进,那么就说程序从E中学习。
简单来说就是:机器学习是研究如何使用机器来模拟人类学习活动的一门学科。
三、机器学习的发展史
1950-1970,使机器具有逻辑推理能力,代表有逻辑理论家、通用问题求解程序。同时图灵提出机器学习的可能。
1970-1980,使机器具有知识,专家系统问世。同时统计学习理论奠基。
1980-1990,机器学习成为独立学科,各种技术百家争鸣。广泛研究从样例中学习(归纳学习),主流为归纳逻辑程序设计(Inductive Logic Programming, ILP)。
1990-2000,前期神经网络连接主义学习,后期统计学习(statistical learning)。
2000-今,大红大紫的深度学习(连接主义学习第二春,多层神经网络),得益于数据大了、计算能力强了。
四、机器学习的算法分类
广义来说,有三种机器学习算法:① 监督式学习,② 无监督式学习,③ 强化学习,以下分别介绍这三种方法的区别。
监督式学习
定义:从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。训练集中的目标是由人标注的。常见的监督学习算法包括线性回归分析和逻辑回归分析。
监督式学习的例子有:线性回归、决策树、随机森林、K – 近邻算法、逻辑回归等。
无监督式学习
定义:与监督学习相比,训练集没有人为标注的结果。常见的无监督学习算法有聚类。这种分析方式被广泛地用来细分客户,根据干预的方式分为不同的用户组。
无监督式学习的例子有:关联算法和 K – 均值算法。
强化学习
定义:通过观察来学习做成如何的动作。每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断。这个算法训练机器进行决策。它是这样工作的:机器被放在一个能让它通过反复试错来训练自己的环境中。机器从过去的经验中进行学习,并且尝试利用了解最透彻的知识作出精确的判断。
强化学习的例子有:马尔可夫决策过程。
五、机器学习的应用领域
机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人等众多领域。
写的若有错误之处,欢迎大家批评指正!