【从零开始的机器学习】-02 有监督学习及代价函数

如我们再上一章里讲的,机器学习分为两种:有监督学习(supervised learning)和无监督学习(unsupervised learning)。本章将介绍有监督学习以及它的评价标准: 代价函数(cost function)

1. 有监督学习

朴素地讲,所谓有监督学习就是指“用来学习的资料都带答案,根据学习资料和答案,我们建立出一套“XX情况下的答案是OO”逻辑模型,之后去考试,看看面对资料之外的题我们答题的正确率有多高,再根据正确率对逻辑进行调整”的过程。

有监督学习的具体流程如下:

  1. 我们将训练数据(training data)传输给我们的学习算法程序
  2. 算法程序根据训练数据,输出一个模型/函数 h,这个函数在接收到数据x时,就会输出结果h(x)
  3. 我们将测试数据(test data)交给我们从学习算法程序那里得来的函数h
  4. 根据每个测试数据,我们会得到一系列的结果
  5. 根据测试结果,我们调整学习算法

例子:动物分类(只为示意,数据并不严谨)

1. 我们有一系列训练数据,其中包含下面的信息:
叫声分类
喵喵喵
喵呜
汪汪汪
Meow
Woof
2. 把训练数据交给程序,则学习过程就是:
  1. “喵喵喵”叫的是“猫”
  2. “喵呜”叫的是“猫”
  3. “汪汪汪”叫的是“狗”
  4. “Meow”叫的是“猫”
  5. “Woof”叫的是“狗”

得到一个函数h,当收到一个叫声x时,它会进行判断,最后输出一个结果h(x),即“猫”或者“狗”(这里的结果是离散的)。

3. 我们有一系列的测试数据,其中包含以下信息:
叫声分类
喵~
喵喵呜~
Meow Meow Meow
Woof Woof Woof
4. 将测试数据作为输入交给函数h,得到5个结果,如下:
叫声分类结果评价
喵~正确
喵喵呜~正确
正确
Meow Meow Meow错误
Woof Woof Woof错误
5. 我们对5个结果进行分析,并根据结果的好坏对学习算法进行调整

例子2:房价估计(只为示意,数据不严谨)

1. 我们有一系列训练数据,其中包含下面的信息:
房屋面积 ( m 2 m^{2} m2)总房价 (万元)
100500
60320
120600
95400
75400
2. 把训练数据交给程序,则学习过程就是:
  1. 面积等于100平方米的房子房价为500万
  2. 面积等于60平方米的房子房价为320万
  3. 面积等于120平方米的房子房价为600万
  4. 面积等于95平方米的房子房价为400万
  5. 面积等于75平方米的房子房价为400万

得到一个函数h,当收到一个房屋面积x时,它会进行判断,最后输出一个结果h(x),即房屋的价格(这里的价格是连续的)。

3. 我们有一系列的测试数据,其中包含以下信息:
房屋面积 ( m 2 m^{2} m2)总房价 (万元)
130700
65320
80700
95480
75390
4. 将测试数据作为输入交给函数h,得到5个结果,如下:
房屋面积 ( m 2 m^{2} m2)总房价 (万元)预估房价(万元)评价
130700600低了100万
65320350高了30万
80700420低了280万
95480400低了80万
75390400高了10万
5. 我们对5个结果进行分析,并根据结果的好坏对学习算法进行调整

可是,我们怎么去评价一个结果是好是坏?好到什么程度?坏到什么程度?这就需要用到代价函数(cost function)了。

2. 什么是代价函数?

代价函数是指,用于计算“预测结果与真实结果之间的差距大小”的计算方法。代价函数还有个名字,叫“损失函数(loss function)”, 而有监督学习的主要工作就是要找到使代价函数or损失函数的值最小的参数,毕竟我们总是希望代价和损失越小越好。

例子:回归问题中的代价函数

代价函数的种类有很多,而处理回归问题最常用的代价函数就是平方误差函数(squared error function), 我们用J表示:
J θ = ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 2 m J_\theta=\frac{\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^{2}}{2m} Jθ=2mi=1m(hθ(x(i))y(i))2

  • m: 训练数据的个数;
  • θ \theta θ:学习算法中的参数
  • x ( i ) x^{(i)} x(i):第i个训练数据的输入;
  • y ( i ) y^{(i)} y(i):第i个训练数据的预期输出(即正确答案);
  • h θ ( x ( i ) ) h_\theta(x^{(i)}) hθ(x(i)):根据函数h,计算第i个训练数据的输入 x ( i ) x^{(i)} x(i)得到的预测结果

通过计算预测结果与标准答案之间的差距,我们可以知道“函数h预测的结果到底有多准”,从而针对性地对参数 θ \theta θ进行调整。

预告:

下一节,我们将会介绍一元线性回归以及它的代价函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值