Model and Cost Function(模型和代价函数)

前言

     这一章内容是接着上一章内容写的,对关于supervised learning的regression问题进行详细分析,这章内容会有很多图表和数学公式,由于绘图和描述数学公式都不是很容易,所以可能排版没那么规范,请见谅!

     最后还是那句话,如果内容有什么错误的理解,希望大家不吝赐教,指正,谢谢!

【机器学习系列】【第一章:机器学习】【第三章:多元变量的线性回归问题

第二章 模型和代价函数

下面用一个例子来说明这个问题:

      房子的size和房子的price关系。怎样用已知的每个size对应的price数据来模拟出一个最优的两者关系函数,进行对任意新给出的size进行估计出尽可能准确的price。

 

2.1数据的分析

                                                                                         图1 size和price对应的关系 

      首先这是一个典型的supervised learning问题,对于给定一个样本数据size来预测所对应的price。这还是regression问题,结果并不是只有两种,而是有一个值的输出。

      对于坐标图中数据的大体分布,进行线性回归分析,把size和price的关系用线性的关系来比拟。

 

2.2 整体系统分析和数学模型建立

                                                                                        图2 系统分析

      我们所要做的就是找到对应的h,由于我们分析size和price是一个线性的关系,所以我们设h(x)=θ0+θ*x,θ:参量,现在问题就是如何选取θ0和θ1。下面进行几组选取θ0和θ1的比较。

                                                                                  图3 选取不同的θ0和θ1

     所以我们的任务就是选取合适的θ0和θ1,让计算出来的h(x)曲线为我们用来训练的数据(x,y)来尽量接近实际的y,即给定一个x,通过h(x)函数有一个对应的h值与对应的y的距离越接近则越好,所以我们用来评估这个估计的误差的就是:J(θ0,θ1)=

这就是Cost Function(代价函数)M:测量数据组的个数,我们目标就是使J(θ0,θ1)最小。

 

2.2.1 只考虑θ1,让θ0=0

整理如下:                                                               简化:

Hypothesis:h(x)=θ0+θ1*x                                      h(x)=θ1*x

Parameters:θ0,θ1                                                 θ1

Cost Function:J(θ0,θ1)=      J(θ1)=

Goal:                                           

接下来讨论θ1和h(x)、J(θ1)的关系

                                                            图4 θ1=1  h(θ1)                        图5 θ1=1  J(θ1) 

对θ1取不同的值,对h(x)和J(θ1)进行比较分析:

                                                                        图6 不同的θ1对应的h(x)、J(θ1) 

                                                                        图7 整体进行比较h(x)和J(θ1) 

分别对θ1取0、0.5、1,可以发现当θ1=1时,J(θ1)=0,为最小值,经计算可得,当θ1取不同值时,J(θ1)大致的走向为:

                                                                                    图8 J(θ1)的整体走向 

由图可知,当θ1=1时,J(θ1)=0为最小值。即找到了θ1。

2.2.2 同时考虑θ0和θ1

                                                                                   图9 h(x)和J(θ1) 

     当同时考虑θ0和θ1时,这个时候就是一个三维图了,让我们需要求的J(θ0,θ1)就是三维面上每一个点的高度。这个时候就可能存在不同的θ0、θ1对应相同的J(θ0,θ1),但局部最小值确只有一个,这个会在后面进行详细分析。

                                                                                    图10 J(θ0,θ1)

     对于不同的θ0和θ1有不同的h(x),和对应的J(θ0,θ1),从图11的右边的图可以看出,不同的θ0和θ1会存在相同的J(θ0,θ1),右边图就像一个等位线图,当这个圈上的点越往中心靠近时,则J(θ0,θ1)越来越小,同时h(x)也越接近我们需要的回归线,由图13可知,当选取中心点对应的θ0和θ1时,h(x)越接近我们训练的数据集(x,y),即找到了合适的θ0和θ1。

 

                                                                                   图11  θ0=800 θ1=-0.15

                                                                               图12  θ0=360 θ1=0 

                                                                                   图13  θ0=230 θ1=0.12 

     所以我们需要做的就是从任意的 θ0和θ1出发,进行不断地改变两个的大小,来减小J(θ0,θ1),从而找到使J(θ0,θ1)最小的θ0和θ1,即所求。如图14所示,一步步改变θ0和θ1,从而找到使J(θ0,θ1)最小的点。

                                                                                     图14 不断改变θ0和θ1

     而一开始选取的θ0和θ1不同可能最后找到的使J(θ0,θ1)最小的点不同,因为我们要找的是局部最小值,即极值,而当找到极值时,则不能往下继续找了(这个会在后面进行解释),所以会存在图15这种情况。

                                                                            图15 另外一个点所寻找最小值的路径 

Question:那么θ0和θ1该如何一步步地改变了?

2.2.3关于θ0和θ1如何改变分析

首先给出一个式子如下,后面会进行详细分析。

   (for j=0 and j=1)

:= 和赋值语句差不多,可以理解为更新

Ɑ:learning rate(当对应点的梯度大,则ɑ比较小;否则反之)后面会详细讨论

:对应点的梯度,即变化速率。

关于式子的正确理解是:                  错误理解:

temp0:=               temp0:=

temp1:=                θ0=temp0

θ0=temp0                                temp1:=                 

θ1=temp1                                θ0=temp1

记住θ0和θ1是同时更新,中的θ0和θ1都是上一个的θ0和θ1。

1.下面对θ1单独考虑进行分析

θ1:=

1)对ɑ进行分析

Case 1:

                                                                            图16 θ1位于最小值右边时 

当θ1位于图16的位置时,为正数,所以是往θ1减小的方向进行,即往函数的最小值点移动。

Case 2:

                                                                               图17 θ1位于最小值左边时 

当θ1位于图17的位置时,为负数,所以是往θ1增大的方向进行,即往函数的最小值点移动。

 

综上:不管哪种情况,都是向J(θ1)减小的方向进行。

Question 1:ɑ改如何取值呢?

Case 1:ɑ较小

                                                                                       图18 ɑ较小时 

如图18所示,当ɑ较小时,则J(θ1)向最小值移动的速度会比较慢,但最终会到达最小值点。

Case 2:ɑ较大时

                                                                                         图19 ɑ较大时 

如图19所示,当ɑ较大时,每走一步太大,可能永远都不能到达最小值点,甚至越离越远。

   2)对进行分析

   当J(θ1)已经到达一个局部最小值时,则θ1不会再改变了,因为为0,变化率为0,所以不再改变,即找到所求的θ1。

                                                                   图20 当θ1处于使J(θ1)最小的位置时 

     当θ1所对应的变化率比较大时,即较大时,减小的速度较快,而当θ1所对应的变化率比较小时,即较小时,减小的速度较慢,所以是自动改变J(θ1)的变化速度的,即我们不需要实时改变ɑ。如图21所示。

                                                                            图21 关于对J(θ1)的影响

整体总结:

Gradient descent algorithm:      Linear Regression Model:

      h(x)=θ0+θ1*x

 (for j=0 and j=1)                   J(θ0,θ1)=

综上:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烊萌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值