机器学习—入门篇(1)—导论

本文介绍了机器学习的基本概念,包括机器学习在人工智能中的地位,与深度学习的关系及其区别。强调了数学(如线性代数、矩阵求导、概率论+统计)在机器学习中的重要性,并概述了人工智能的分类领域。

一、什么是机器学习?

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

二、人工智能、机器学习、深度学习

在这里插入图片描述
在这里插入图片描述

【1】人工智能

人工智能(Artificial Intelligence)——为机器赋予人的智能

【2】机器学习—— 一种实现人工智能的方法

没有最好的分类器,只有最合适的分类器。
在这里插入图片描述

机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。

机器学习直接来源于早期的人工智能领域。传统算法包括决策树学习、推导逻辑规划、聚类、分类、回归、强化学习和贝叶斯网络等等(当然还有很多)。众所周知,我们还没有实现强人工智能。早期机器学习方法甚至都无法实现弱人工智能。
机器学习最成功的应用领域是计算机视觉,虽然也还是需要大量的手工编码来完成工作。人们需要手工编写分类器、边缘检测滤波器,以便让程序能识别物体从哪里开始,到哪里结束;写形状检测程序来判断检测对象是不是有八条边;写分类器来识别字母“ST-O-P”。使用以上这些手工编写的分类器,人们总算可以开发算法来感知图像,判断图像是不是一个停止标志牌。

这个结果还算不错,但并不是那种能让人为之一振的成功。特别是遇到云雾天,标志牌变得不是那么清晰可见,又或者被树遮挡一部分,算法就难以成功了。这就是为什么前一段时间,计算机视觉的性能一直无法接近到人的能力。它太僵化,太容易受环境条件的干扰。
**机器学习是现阶段人工智能的核心技术,是通过统计学原理,来对数据进行分析与建模
**
在这里插入图片描述

【3】深度学习——一种实现机器学习的技术

1、深度学习是一种特殊的机器学习,是机器学习的一个子集。深度学习的概念源于人工神经网络。可以这样归纳:含多隐层的多层感知器就是一种深度学习结构。------百度百科。
 2、人工神经网络(Artificial Neural Networks)是早期机器学习中的一个重要的算法,历经数十年风风雨雨。神经网络的原理是受我们大脑的生理结构——互相交叉相连的神经元启发。但与大脑中一个神经元可以连接一定距离内的任意神经元不同,人工神经网络具有离散的层、连接和数据传播的方向。

【4】机器学习和深度学习的区别有哪些?

深度学习和普通机器学习的区别:通过更高的复杂度,加强了让机器自我归纳总结的能力,并且通过规则的设计,让算法的扩展性更大
普通机器学习算法:一般就一个公式,一层推导,比较直接
深度学习算法:多个公式,多层推导,层层递进
强化学习和普通机器学习的区别:强化学习模拟人的认知过程,加入评价体系
1、对数据量要求不同

数据量要求不同

深度学习和机器学习对数据量的依赖程度是不一样的,当数据量很少的时候,深度学习的性能并不好,因为深度学习算法需要大量数据才能很好理解其中蕴含的模式。而数据量比较小的时候,用传统机器学习方法也许更合适。

2、对计算机硬件的要求不同

通常情况下,用机器学习处理任务时,一方面由于数据量不太大,另一方面由于所用算法已经确定,所以对计算机硬件的要求不是太高。

而深度学习由于要处理大量数据,且涉及许多矩阵运算,因此对计算机硬件要求非常高,很多时候普通cpu已经无法顺利完成任务,而必须借助于诸如GPU等硬件。
硬件要求

3、特征处理方式不同

机器学习和深度学习的主要区别在于特征。

在传统的机器学习算法中,我们首先需要用一些算法(比如PCA、LDA等)来进行特征的提取,然后再用机器学习算法(如svm等)进行模型训练。特征提取的过程很麻烦,对工作者要求也很高。
相比之下,在深度学习中,特征由算法本身自动完成提取,通常不需要我们另外写一个算法来进行特征提取。比如CNN网络中,卷积层的作用就实现了特征的提取。
特征处理方式

4、解决问题方式不同

在解决问题的时候,传统机器学习通常会将问题分解为多个子问题,逐个子问题解决后,最后获得最终结果。而深度学习更提倡“直接的端到端”的解决问题。

比如在做OCR(文字识别)任务时,传统机器学习算法,一般要对原始图片进行灰度化、二值化、降噪、文字切分、文字识别等一步步操作。而如果用某些深度学习算法(如CRNN-CTC),则可以实现端到端的解决问题,直接传入一张图片,经过模型学习之后直接识别出文字。
解决问题方式

5、可解释性不同

机器学习的可解释性很强,许多传统的机器学习算法有明确的数学规则,解释起来相对容易。比如说线性回归,逻辑回归、决策树等这些算法解释起来就很容易。但是深度学习的可解释性就没有那么强了。深度神经网络更像是一种“黑箱子”,网络里面具体每一层是怎么操作的,神经元做了什么,很多时候是不明确的。深度学习的可解释性是一个热门研究话题。

6、使用的开源库和框架不同

我们做机器学习和深度学习时,如果使用相关的开源库和框架,会使我们的工作事半功倍。虽然许多开源库和框架既可以解决传统机器学习问题,也可以解决深度学习问题,但是如果有针对性的去选择使用,效果会更好。比如,scikit-learn库用来做机器学习问题,是很不错的。百度的开源框架 百度的开源框架PaddlePaddle、以及谷歌的tensorflow用来处理深度学习问题会更好。

三、机器学习和数学

1.线性代数

矩阵表示、矩阵运算、特征根、特征向量是基础中的基础,主成分分析(PCA)、奇异值分解(SVD)、矩阵的特征分解、LU 分解、QR 分解、对称矩阵、正交化和正交归一化、矩阵运算、投影、特征值和特征向量、向量空间和范数(Norms),这些都是理解机器学习中基本概念的基础。

国内的线性代数教材偏重于计算而忽视了线性空间,特征值等基本概念阐述。就拿小编来说,虽然考研数学分数还行,但也只知道计算,对于相关概念和知识的应用知之甚少。

线性代数课程首推 MIT的 Gilbert Strang老爷子的课程。课程链接如下:http://t.cn/RmyqB2v。

2.矩阵求导

小编个人在学习机器学习的过程中对矩阵求导产生了极大的疑惑,后来发现有类似疑惑的同学也不少,同时由于矩阵求导貌似是一个三不管的地带,微积分里的多元函数求导貌似是讲了点,矩阵分析可能也有涉及到的,但是缺乏一个统一的理论。但机器学习中好多优化问题最终都归结到矩阵求导上。

相关课程链接:The Matrix Cookbook.(http://t.cn/RmyK6Od)。

3.概率论+统计

概率论+统计(很多数据分析建模基于统计模型)、统计推断、随机过程。可以毫不夸张的说,概率论+统计是机器学习的核心数学理论,前面提到的矩阵求导和线性代数实际上是扮演打工仔的角色。

相关课程链接:MIT的概率系统分析与应用概率Probabilistic Systems Analysis and Applied Probability(https://goo.gl/stzNFZ),还有一个是中科大 概率论与数理统计(http://t.cn/RmyKd8W)。

机器学习中的数学当然不止以上,还有许多进阶数学知识,比如数值计算、凸优化理论等,这些就靠大家去探索了。

四、人工智能的分类领域

1、NLP应用领域
(大)数据分析 -> 大数据(Hadoop/Spark/MR, 深度学习/LSTM, NLP)
文本分析 -> 模式识别/NLP/LSTM
2、语音识别应用领域
个人助手 -> 深度学习
自动话务员 -> 深度学习/模式识别/LSTM
声纹识别 -> 深度学习/LSTM -
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值