AI基础——如何拟合

上回说到,机器学习要做的事,就是找到一个函数(模型),给它输入数据(样本),通过运算,输出结果(标签)。

括号中的是机器学习的几个术语,代表的意思一目了然。

那么,具体如何训练模型呢?

人是如何训练的

还是类比人类学习的例子,看看人是如何学习的。

人们平时学习的过程中,会做大量的题,遇到做错或者不会做的,看看答案就学会了。到考试的时候,同样做一堆题,根据做题的准确率,评价一个人学的好不好。

机器学习也一样,也分学习和考试两部分,只是在机器学习领域,称为训练和测试。

本文先讲讲训练。

几个概念

解释一下上面提到的样本和标签的含义。

机器学习是通过数据来学习的,数据量越大,学得越好,就好比人是靠做题学习的,做题越多,学得越好。

人做题的时候需要对答案,做错了能改。

机器也一样,用来训练模型的数据称为样本,样本中有输入和答案,其中,输入称为特征,答案称为标签。当然,也不是所有的样本都有答案,有标签的称为有监督的机器学习,没有标签的称为无监督的机器学习,这个问题以后再议。

我们会把所有的样本一分为二,一部分用于训练,一部分用于考试,分配比例随意,9:1也行,8:2也可,根据数据量大小随意定。

其中,用于训练的样本称为训练集,用于考试的样本称为测试集,多简单!

这时,拟合粉墨登场了!

拟合的意义

先抛出拟合在百科中的解释:

形象的说,拟合就是把平面上一系列的点,用一条光滑的曲线连接起来。因为这条曲线有无数种可能,从而有各种拟合方法。拟合的曲线一般可以用函数表示,根据这个函数的不同有不同的拟合名字。

我们通过一个例子把今天所有的概念串起来。

比如,根据人的身高、体重判断体型(瘦、正常、胖)这么一个简单到极致的问题。
假设我们有10000条样本数据,每条数据包括3个字段:身高、体重、体型。那么,身高、体重就是特征,体型就是标签。

为啥叫这么抽象的名字,简单一句话就明白了:根据特征给样本打标签。
我们会把10000条数据分为两部分,9000条作为训练集,1000作为测试集。通过9000条样本训练模型,通过1000条样本测试这个模型好不好。

怎么训练模型呢?
其实就是找到一个函数映射,输入身高、体重,输出体型。

我们都知道,人的身高体重是成比例的,如果比例在正常范围内,就是正常体型,如果身高很高但体重偏轻,就是瘦,反之就是胖。
这三者的关系大概是个线性关系,所谓线性,就是随着x的变化,y线性变化,而不是指数或者对数,是直线不是曲线。

所以我们可以大胆的预测这个函数关系是:
y = a ∗ x 1 + b ∗ x 2 + c y = a*x_1 + b*x_2 + c y=ax1+bx2+c

其中y是体型,x1是身高,x2是体重,a、b、c是函数参数。
这里有人会问,这个函数值y是连续的,但真正的标签是离散的(只有瘦、正常、胖3个值),这怎么办呢?其实很简单,机器学习会通过一种叫做激活函数的方法,对y值进行转换。

请注意,上面的函数中,参数a、b、c是未知的。
训练的过程,就是通过把训练集中的数据带入上面的函数x1和x2,通过不断变化a、b、c,使得函数计算出来的 y 跟样本中的标签 y ^ \hat{y} y^ 尽可能相同,直到找到最优的a、b、c,让“尽可能”多的样本满足 y = y ^ y=\hat{y} y=y^,训练结束。

换句话说,就是通过9000条样本的x1、x2、y组成方程组,求“尽可能”最合适的a、b、c的,在这里,a、b、c是方程组的未知数。

这个训练的过程,就是拟合。

有聪明人又问了,数学不是应该追求极致的严谨和准确么,这里为啥"尽可能"就满足了?因为多数情况下无法做到让9000条数据都准确(有可能某些数据是极端的甚至错误的),所以,这里追求的不是100%的 y = y ^ y=\hat{y} y=y^ ,而只能是"尽可能",用拟合一词恰到好处!
在这里插入图片描述
把这个过程放在坐标系上,就大致明白百科中的表述的含义了,思考一下。

总结

这次介绍了几个术语,其实机器学习的思想很简单,只是很多术语造成了一点点阻碍。
就好比数学,可能一个很简单的概念,用数学语言表达,就显得深奥无比了,比如连续性,极限等。
而这些数学语言在数学家眼中,却美的无与伦比!
这种用简单的语言就能说明白的道理,为了严谨性,必须转化为数学语言的做法,何尝不是另一种拟合!
最后问个问题:是不是在训练集上拟合的越好,这个模型越好呢?
未必。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值