机器学习笔记(一):走近机器学习

一、机器学习是什么
       机器学习(Machine Learning, ML)是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。近年来,随着人工智能(AI)的爆发,ML也成为了一门炙手可热的技术。不过,如果你问我机器学习是什么,我可能会犯难。因为这个领域对机器学习尚没有一个可以称得上权威的、被广泛认可的标准定义,至少目前我还没有找到。
而且,首先我们要知道,机器学习并不是一个新概念。
        第一个机器学习的定义诞生于上世纪50年代。一个叫Arthur Samuel 的人,他定义机器学习为,在进行特定编程的情况下,给予计算机学习能力的领域。这位仁兄编写了一个西洋棋程序,程序自己跟自己下了上万盘棋,通过观察哪种布局会赢、哪种布局会输,久而久之,让这个西洋棋程序自己具备了判断棋局好坏的能力。神奇的事情出现了,虽然Samuel自己并不是个下棋高手,但这款程序的下棋水平却随着上万次的练习水涨船高,最后超过了编程者。这是一个历史性的成果,计算机第一次拥有了学习的能力。

下面,我们再看一看其他的定义。

在《机器学习》一书中,周志华先生对机器学习这样做了定义:机器学习是这样一门学科,它致力于如何通过计算的手段,利用经验来改善系统自身的性能。

在维基百科上,也有以下几种定义:

“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。

“机器学习是对能通过经验自动改进的计算机算法的研究”。

“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”

通过以上的几种定义,可以看到机器学习的概念中有这三个关键字:算法、经验、性能。

经验是人类学习的基础,不管是亲身的经历,还是书本或博客上的文字,都是自己或前人的经验成果。而对计算机来说,经验则是以“数据”的形式存在着,甚至是可以量化的。这一点着实令人歆羡,因为用于学习或训练的数据量的大小可以很直接地决定着一个学习算法的性能。训练数据量越大,算法就越可靠。而对于人来说,我想大家都曾见过这样的同学:学习很刻苦,但成绩就是不理想!

如果有人说,“机器学习是算法”,那肯定是不准确的,这么说实在是太狭隘了。但机器学习确确实实是一门研究算法的科学,或学科。确切的说,机器学习所研究的主要内容是“学习算法”。这种算法可以从计算机存储的数据中产生“模型”。而当面临新的情况(数据)时,该模型会给我们提供相应的判断。我理解的“模型”,其实就是某种算法或规则,可用于对新的数据进行预测、以产生相应的预测结果。当我们把经过训练后的模型在实际场合中应用时,就需要一系列的指标来衡量该模型的实际性能。比如,错误率与精度,查准率与查全率,等等。

上图表明机器学习是数据通过算法构建出模型并对模型进行评估,评估的性能如果达到要求就拿这个模型来测试其他的数据,如果达不到要求就要调整算法来重新建立模型,再次进行评估,如此循环往复,最终获得满意的模型来处理其他的数据。

二、机器学习的应用领域

机器学习的应用领域广泛,如数据库挖掘、自然语言处理、计算机视觉、模式识别等。与直接编码的传统方法相比,机器学习具有以下优势:

需要进行大量手工调整或长串规则才能解决的问题,机器学习算法通常可以简化代码、提高性能;

当问题复杂、传统方法难以解决,机器学习方法也许能够找到解决方案;

洞察复杂问题和大量数据,如数据挖掘;

一些无法通过手动编程来编写的应用,如自然语言处理,计算机视觉、语音识别等。

三、机器学习的类型及应用场景

我们先了解一些基本术语。

数据集,是数据的集合,其中每条记录称为样品或示例。模型,前面有说过,是一种用来预测结果的算法或规则。从数据中产生模型的过程,叫做学习或训练。训练过程中使用的数据集,称为训练集,其中每个样本称之为训练样本。每个预测模型都对应着数据的某种潜在规律,因此模型也可以称为假设。而潜在规律自身则可以称为真实或真相。学习过程就是使预测模型不断逼近真实的过程。

机器学习分为多个类型,包括监督学习、非监督学习、半监督学习和强化学习。

 

1. 监督学习

即带有监督的学习。监督的具体表现是,训练集的样本中都带有标签。标签,可以理解为数据的真实运算结果。比如,一组代表分数的数字,50的标签为“不及格”,“70”的标签为“及格”,等等。这样,学习算法可根据这些数据,得到一个模型,而模型可用于判断新的数据(如 80)为“及格”还是“不及格”。标签的作用是在训练时可判断生成模型的精度及错误率等指标,就好比老师在安排课堂练习时会准备参考答案一样。

监督学习的两大任务,分类与回归。

分类问题就是预测新数据的类别问题。比如上文中的分数问题,其实就是个二分类问题。模型用于预测一个新的数据为及格还是不及格。

回归问题主要是预测目标数值,比如根据各种金融、经济数据来预测大盘走势,根据户型、地段等预测房价等等。

常用的监督学习模型有:K近邻算法、线性回归、逻辑回归、支持向量机(SVM)、决策树和随机森林、神经网络等等。

 

2. 非监督学习

与监督学习相反,非监督学习训练时使用的是没有标签的样本。

非监督学习有4个典型的任务,分别是聚类、降维、异常检测和关联规则学习。

聚类就是将数据根据一定的规则分成多个类,通常是采用相似性。比如,对购物网站用户的分类,就可以采用聚类算法,检测相似性的分组。不需要告诉算法用户是哪个类别,它会自动根据访客的属性找到相互间的关系。比如,它可能根据用户的性别、年龄,将用户分为年轻女孩、中年男子等等类别。也可以根据收货地址,将用户按地域进行区分。或是按照消费记录,根据购买商品的类别区分出酷爱衣服香包的时尚弄潮儿、以及热衷耳机音箱的发烧友。这种做法可以帮助网站更好地认识到自己的主要受众都是哪些人。

 

常用的聚类模型有K均值、层次聚类分析(HCA)、期望最大值算法等。

降维的目的是简化数据、但是不能失去大部分信息。做法之一是合并若干相关的特征。例如,汽车的里程数与车龄高度相关,降维算法就会将它们合并成一个,表示汽车的磨损。这叫做特征提取。此外,在采用机器学习算法训练的时候,可以对训练集进行降维,这样有助于提高训练速度,降低占用的硬盘和内存空间,有时候也能提高算法的性能,但必须选择合适的降维算法,否则性能实际上是很有可能会下降的。

常用的降维模型有主成分分析(PCA)、核主成分分析、局部线型嵌入等。

另一个非常重要的非监督任务是异常检测。例如,在训练集的识别哪些样本属于不正常的样本,需要予以清除。我们知道,训练集中的数据是否正常,即能不能准确模拟实际应用场景下真实数据的特征,对生成模型的性能影响巨大。如果因为人为或别的原因,使得训练集中混入了若干奇怪的、坏的数据,训练得到的模型在实际应用中的精度就会大打折扣。而当模型在实际应用场景下接收到新的数据时,有时也需要检测该数据是否正常。比如,检测异常的信用卡转账以防盗刷等。

这里其实有个悖论,异常检测主要是用于非监督任务中的,起到的却是监督的作用;而非监督学习的初衷本就是让机器不受监督、自主学习。由此可见,完全不受监督的机器学习并不符合人们的实际需求。

最后,另一个常见的非监督任务是关联规则学习,它的目标是挖掘大量数据以发现属性间有趣的关系。例如,假设你拥有一个超市。在销售日志上运行关联规则,可能发现买了烧烤酱和薯片的人也会买牛排。因此,你可以将这些商品放在一起。

关联规则学习常用模型有Apriori 算法、Eclat算法。

3. 半监督学习

半监督学习是介于监督学习与非监督学习之间的一种学习方式。它主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。半监督学习对于减少标注代价,提高学习机器性能具有非常重大的实际意义。主要算法有五类:基于概率的算法;在现有监督算法基础上进行修改的方法;直接依赖于聚类假设的方法等,在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理地组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测,如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM)等。

4. 强化学习

强化学习通过观察来学习动作的完成,每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断。在这种学习模式下,输入数据作为对模型的反馈,不像监督模型那样,输入数据仅仅是作为一个检查模型对错的方式,在强化学习下,输入数据直接反馈到模型,模型必须对此立刻做出调整。简单地说,就是我们并没有告诉机器什么时候该做什么。而是在机器做了某个动作之后,我们给它一个反馈,奖励或惩罚。机器会根据这个反馈来反思或总结之前的行为,并反映在以后的行为中。常见的应用场景包括动态系统以及机器人控制等。著名的AlphaGo,就是强化学习的产物。常见算法包括Q-Learning 以及时间差学习。

四、小结

至此,对于机器学习我们已经有了一个基本的认识。总结一下:

1、机器学习就是让机器通过学习数据来得到解决某种问题的能力,而不需要确定地编码在代码中;

2、机器学习的过程是,训练数据得到模型,然后用模型来处理新的数据;

3、机器学习的应用非常广泛,包含图像、自然语言处理、语音、推荐系统和搜索、数据挖掘等方面,每个方面还有更加具体详细的应用方向;

4、机器学习包含监督学习、非监督学习、半监督学习和强化学习等类型;

5、最常见的监督学习任务是分类和回归;

6、常见的非监督学习任务是聚类、降维、异常值检测和关联规则学习。

 

参考文献:

《机器学习》 周志华著

https://www.jianshu.com/p/a7f1611b7ade

https://blog.csdn.net/yirenboy/article/details/47844649

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值