浅话机器学习


最近大热的机器学习,似乎很多场景都会见到,但是很多非数学非统计的同学会觉得上手有点困难,每次下定决心学习一下就会被各种参考书中长篇大论的数学证明吓跑,本篇文章抛开各种复杂的公式和代码,针对于入门小白,想用最简单形象的语言介绍一下机器学习领域的基本概念。

什么是机器学习

机器学习ML,顾名思义,就是机器学习的过程,我们希望机器可以像人类一样学习和思考,能够使自身行为在没有人为干预的情况下适应新的输入,这就使我们产生机器真的像人一样在不断学习的感觉,但是实际在机器学习的背后,这种自身行为的适应是和人类编写的每一条指令一样严格的过程。

机器学习算法:揭示数据中潜在关系的过程。

机器学习模型:是机器学习算法产出的结果,可以看作是在给定输入时,用于输出结果的函数。

注意:机器学习模型不是预先定义好的函数,而是从历史数据中推导出来的,因此,当输入数据改变时,算法的输出结果也会发生改变,即机器学习模型发生了改变。

简单认识了机器学习之后,我们需要思考机器学习的任务是什么。回顾机器学习的定义发现,我们希望得到的是给定输入得到输出的这个过程,这个过程实际上就是根据数据得到机器学习模型的过程。因此,机器学习的任务,可以简单地概括为,从广阔的映射空间中得到学习函数。这里稍微涉及了一点数学知识,但不难,映射空间是指很多函数空间,从中得到一个可以比较准确衡量输入和输出关系的这样一个函数。

机器学习分类

在实际应用中,最好先弄清楚属于哪类机器学习问题,因为清楚了分类通常会使算法的选择以及后续的分析更加清晰。对机器学习分类的判断通常是比较容易的,首先可以确定它是有监督学习还是无监督学习。

有监督

在有监督的学习任务中,数据样本会包含一个目标属性y,此时学习任务就是通过学习得到一个函数F,用于接受非目标属性X并输出一个接近目标属性的值。目标属性y就好比指导学习任务的教师,提供了一个学习结果的参考标准,因此被称为有监督学习。

举个经典的例子。Iris是一个经典的数据集,包含对150个鸢尾花样本的测量,每个样本都包含其花瓣、萼片的长度、宽度测量,以及鸢尾花的类别属性。在这个数据集中,鸢尾花的类别属性可以作为目标属性,如果是利用其它属性来预测鸢尾花类别,那么这个过程便可看作是有监督学习。

根据输出值的类型可以把机器学习模型进一步划分为分类和回归。

  • 分类模型:如果机器学习模型输出的是离散值,比如布尔值,则称其为分类模型。
  • 回归模型:如果输出值是连续值,则称其为回归模型。

针对于分类和回归,分别举个简单的例子。

分类

在这里插入图片描述

判断照片中是否有猫的机器学习模型可以视为分类模型。

回归

在这里插入图片描述

根据房屋面积、地段、户型等因素预估房屋价格的模型可以看作是回归模型。上图为仅考虑面积因素输出地产价格的回归模型。

无监督

与有监督对应的是无监督,在无监督中没有明确的目标属性。我们期待从数据中学习潜在的模式规则,但不以预先设定的目标属性为基准。有人可能会疑惑,如果没有目标属性的监督,还能学习到什么?以下举两个简单的无监督学习的例子:

  • 聚类:针对给定的数据集,根据数据集中样本之间的相似性,将样本聚集成组。例如:一个数据集中包括某商店所有的客户资料,具体包括来店次数、购买商品次数、购买商品金额等属性信息,根据这些属性可以判断不同样本之间的相似性,利用相似性把数据集中的样本聚集成不同组,这就是个聚类的过程。可以通过分析不同组样本的属性信息,来提取组内样本的共同信息,便于后续分析。
  • 关联:针对给定的数据集,关联任务是发现样本不同属性之间隐藏的关联模式。例如:把网购客户的购物车看成样本,购物车中的商品看作是属性,通过关联任务可以发现不同属性之间的相关性,比如买啤酒的人通常也会买尿布。 后续可以利用关联任务的结果指导我们的行为,比如在实体商店中把啤酒和尿布放到一起,很有可能会增加彼此的销量。

半监督

有时数据集很大但是标记样本很少,需要有监督和无监督结合使用,这样的任务被称为半监督学习。一般来说,通过把有监督和无监督结合应用在一个只有少量标记的数据集,可以更好的利用数据集,获得比单独应用更好的结果。

比如:想要预测图像的分类,但是在数据集中只有少量标记了分类。若通过有监督利用有标记的样本训练出一个模型来预测未标记的样本图像分类,很有可能有失偏颇,模型的普遍性有待确认,毕竟只用了少量样本来训练。一种更好的方法是先使用无监督学习将数据集聚类成组,之后对每个组分别应用有监督学习训练模型。无监督学习聚类帮助我们缩小学习范围,使得第二阶段的有监督学习精度提高。

数据的重要性

本文开篇就提到了机器学习算法实际是揭示数据中潜在关系的过程。这句话足以说明在机器学习过程中数据的重要性。机器学习工作的本身就是从数据中得到模型,因此模型所能达到的性能上限是由数据决定的。

举一个比较形象的例子,盲人摸象。在机器学习过程中,如果训练数据单纯是象牙or象腿or象鼻子,那么我们得到的模型也不可能把整个大象原貌刻画出来。在这种情况下,训练模型表现不佳是因为我们没有更贴合实际的高质量训练数据,我们的训练数据是片面的。试想如果训练数据包括象牙、象腿、象鼻子等等大象绝大部分的局部图像,那么我们得到的训练模型表现的一定要比前一种情况好。这就体现了数据的重要性。实际在面对一个学习问题时,无论是人还是机器,都像“盲人”一样,由于技术、数据隐私等问题,通常很难收集到能描绘问题本质特征的数据。

过拟合和欠拟合

在有监督学习算法中,有两种常见的不能很好拟合模型的情况:过拟合和欠拟合。

在介绍这两种情况之前,先了解一个机器学习中常见的概念:泛化。泛化能力是用来衡量由训练数据得到的模型对新鲜样本数据的适应能力。一个能很好拟合训练样本的模型并不一定可以很好的适用于其它新鲜样本,主要有两点原因:第一,训练样本仅是从现实收集到的部分样本,不一定具有全局代表性,因此即使模型可以完全拟合训练样本,也不一定能很好地拟合新鲜样本;第二,收集到的训练样本难免会有噪声和误差,模型会不可避免地捕捉到这些噪声和误差,从而导致对新样本的预测存在噪声和误差。

在这里插入图片描述

上面这个图很形象地说明了三种状态:①欠拟合,显然用直线是不能很好的将两类样本分开的;②刚好拟合,虽然有一些被错误分类的样本,但是绝大部分都能被正确分开;③过拟合,虽然在训练样本上拟合得很好,但是模型很复杂,并不一定能处理好未知样本。

欠拟合

欠拟合是指不能很好地拟合训练样本的模型,模型显著偏离真实值。造成欠拟合常见的原因之一就是模型对于训练样本来说过于简单,无法有效捕获数据中的关系。为了避免这种情况,通常会选择利用训练数据生成一种更加复杂的模型来替代。

过拟合

过拟合模型通常在训练样本上拟合得非常好,误差很小或基本没有误差,但是不能很好地推广到其它样本数据。与欠拟合相反,过拟合通常是为了适应每一个样本数据而造成的过于复杂的模型,虽然在训练样本集上表现很好,但很有可能会陷入噪音和误差的陷阱,使得对不可见样本的预测表现不佳。为了避免过拟合,可以尝试生成更简单的模型,具体有很多的操作方法,比如正则化,增加一个代表模型复杂程度的惩罚项。

推荐书籍

  • 《机器学习》,周志华。江湖人称西瓜书,这本书基本是机器学习入门必备书,周老师用轻松简洁的语言把机器学习相关术语、概念、算法思维讲的通俗易懂,用西瓜来比喻,形象生动,读起来完全不枯燥。

  • 《机器学习实战》,图灵。结合Python编程来介绍常用的机器学习算法,实践性比较强,可以与西瓜书结合着看。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值