机器学习概要

一、机器学习的定义

机器学习是一个很广的研究领域,其实到现在也并没有一个很正式官方的定义,但历史上确有流传下两个比较有名的版本

"Field of study that gives computers the ability to learn without being explicity programmed." —— Arthur.Samuel

这是一个比较老的版本,Ng说这种定义是older and informal,不过我觉得还比较简单好理解,然后下面是比较新比较正式的一个

"A computer program is said to learn from experience E with respect to same class of tasks T and performance at tasks in T, as measured by P, improved with experience E." —— Tom mitchell

这个定义可能稍微抽象一些,举个下棋的例子就是,E代表下了很多盘棋之后程序获得的下棋经验,T代表下棋这个任务,P代表程序在下一局棋中获胜的概率,那么机器学习就是使得一个程序在T这个任务中,性能(通过P来衡量)伴随着E的存在而表现得更好。

二、机器学习的分类

按针对的问题以及算法的不同,我们可以大致将机器学习分为监督学习(Supervised Learning)、非监督学习(Unsupervised Learning),还有强化学习(Reinforcement Learning)和推荐系统(Recommender Learning System)等

1.监督学习(Supervised Learning)

监督学习的特点是(1)有一个数据集(2)知道正确的输出应该是什么(3)输入输出之间存在某种关系,这些特点是监督学习和非监督学习不同的地方所在,也是我们分析问题,决定采用何种算法的依据所在,而监督学习又可以分为回归(Regression)分类(Classification),其中回归问题尝试通过连续的输出来预测结果,而分类问题期望得到离散的预测,对目标进行分类。

举个栗子

(1)给你看一张美女照片,喊你猜一下这姑娘多大——这就是回归问题,因为

给你了一个数据集(照片)

已经有人知道正确的输出是多少(至少那姑娘自己该知道吧)

我们知道输入输出之间存在某种关系(废话嘛姑娘的照片啥样肯定和她的年龄有关系呀)

好!所以首先这是一个监督学习问题,然后因为要预测的是她的年龄,所以可能的输出是连续的(随便你猜嘛),不是点头摇头就能猜对的,所以这是一个回归问题

(2)你对象问你,你爱不爱我——这就是分类问题,因为

给你了一个数据集(对象)

已经有人知道正确的输出是多少(爱不爱,相信你的心里有tree)

输入输出之间存在某种关系(...)

所以这也是一个监督学习问题,然后你要回答爱或不爱(没错标准程序员理工直男思维),只有这两个选项(对应两种结果的分类),所以这就是一个分类问题(其他回答超过本门课程范畴暂不讨论:) )

2.非监督学习(Unsupervised Learning)

非监督学习的特点是(1)允许我们在几乎不知道会出现什么结果的情况下对问题进行探索(2)在我们并不一定知道其中变量(Variables)的意义的情况下,从数据中挖掘出一些结构(Structure)(3)基于数据中变量之间关系对数据进行聚类(Clustering)并得到一种结构(4)对于预测的结果并不存在反馈(Feedback),而非监督学习也可分为聚类(Clustering)非聚类(Non-clustering),聚类对输入数据通过分析划分成不同的类,每个类都具有一定的共性(区别于其他的类别),非聚类是对数据分析发现数据中的一些特点。

再举个栗子

(1)给你一堆猪,有野猪,家猪,小猪佩奇和乔治,让你对这些猪分个类——这是聚类问题,因为

这个问题并没有标准答案(你要是愿意把佩奇和野猪分到一起也不能说有啥不对...emm)

我们可能并不知道划分的依据是什么,就得到了一个结果

聚类过程是根据数据变量间的关系来进行划分的

对于预测结果没有什么反馈

所以首先这是一个非监督学习问题,然后我们就是希望对这些猪做一个聚类,所以很明显就是一个聚类问题啦

(2)这里有一个很有名的例子," The Cocktail Party Algorithm ",大概就是在鸡尾酒聚会上,在嘈杂的环境中分离出了一个人报数的声音(就是所有人都玩的很嗨的时候他在静静的报数)——这就是一个非聚类问题因为

这个问题没有正确答案(我们也不知道事先会分离出什么样的音频)

不知道划分的依据是什么,那些用以划分数据的特征都有什么含义

通过数据中变量特征间的关系来对数据进行分析(这个人声音很独特,每一声报数的韵律也有相似性)

对于结果并没有反馈,我们只是得到了这个结果

所以这也是一个非监督学习问题,再因为它的目的并不是对数据进行一个聚类划分,而是从数据中提取到某些特征,所以这是一个非聚类问题

3.强化学习和推荐系统(Reinforcement learning and Recommender Learning System)

(本人学识浅薄,尚未涉及,所以无从说起,就给出维基百科上的定义大家参考参考)

(1)强化学习(Reinforcement learning)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。

强化学习和标准的监督学习之间的区别在于,它并不需要出现正确的输入/输出对,也不需要精确校正次优化的行为。强化学习更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。

(2)推荐系统(Recommender Learning System)是一种信息过滤系统,用于预测用户对物品的“评分”或“偏好”。

推荐系统近年来非常流行,应用于各行各业。推荐的对象包括:电影、音乐、新闻、书籍、学术论文、搜索查询、分众分类、以及其他产品。也有一些推荐系统专门为寻找专家、合作者、笑话、餐厅、美食、金融服务、生命保险、网络交友,以及Twitter页面设计。

三、机器学习的知识领域

机器学习是一门多领域交叉学科,涉及等范围很广,并且依然在不断扩充

1.概率论与数理统计

对数据进行处理,分析(例如判断数据是否满足某种分布,并针对不同分布类型对数据进行处理),判断模型好坏(例如在逻辑回归中通过分类准确度(Classification Accuracy),精准率(Precision)和召回率(Recall)对预测结果进行评估)往往是通过概率论与数理统计知识来实现

2.线性代数

与机器学习不谋而合,向量(Vector),矩阵(Matrix),维度(Dimension),正则化(Normalization)等线代知识在机器学习中发挥的淋漓尽致,是机器学习的理论依据也是机器学习算法实现的基本结构

3.高等数学

导数,积分等知识在机器学习中应用的非常之多(典型的梯度下降法(Gradient Descent),就是用求导不断迭代求解最优参数),还有利用一些高数知识对算法进行优化和评估

4.计算机科学

如果说数学是机器学习的理论依据的话,计算机就是实现他们的载体,包括数据结构,图论,各种编程语言等知识

······

四、机器学习的研究领域

1.计算机视觉(Computer Vision)  ——让计算机学会看

2.自然语言处理(Natural Languge Processing)  ——让计算机学会和人沟通

3.模式识别(Pattern Recognition)  ——让计算机学会分辨事物

4.语音识别(Automatic Speech Recognition)  ——让计算机学会听

5.统计学习(statistical learning)  ——机器学习的鼻祖,现如今机器学习又反过来促进着统计学习发展

6.数据挖掘(Data Mining)  ——从数据中获取价值

7.深度学习(Deep learning)  ——模拟人脑进行分析学习

······

五、关于机器学习

本文对机器学习的大致几个方向做了介绍,但其中知识之广之深可能穷其一生也无法知晓,只是以此作为无涯学海的开头,愿你我共在时间的滚滚巨轮上摸爬滚打,留下自己的痕迹。

如果说把AI具象化为一个人,那么正是机器学习成就了他的智慧,其中深度学习就像他的大脑,计算机视觉是他的眼眸,还有自然语言处理,语音识别等等,机器学习没有完美之说,只有不断突破上限,我们目睹近年来AI的火热,机器学习重振雄风,一马当先,我期待着它带给我更多惊喜,但是越往前走,眼看着摆在我们面前的确是机器学习解决不了的哲学伦理问题...我总是期盼着它能造福人类,为我们带来幸福,可未来如何,谁又知道,且让我们拭目以待(嗯额以上言论纯属扯淡,与正文无关嘻嘻)

posted @ 2018-11-24 00:02  boobo  阅读(207)  评论(0编辑  收藏  举报
^