【吴恩达机器学习笔记学习笔记02】Cost function
来源:互联网 发布:声音剪辑软件 编辑:程序博客网 时间:2024/06/04 19:26
一、Previously on Note01
【吴恩达机器学习学习笔记01】监督学习和无监督学习介绍
接下来我们学习的第一个算法是线性回归算法。还是一个关于预测房价的例子,数据集包含了俄勒冈州波特兰市的住房价格。如果你有个朋友有1250英尺的房子,那么如图你可以告诉你的朋友大概买220美元就可以了。这是一个回归问题。
在监督学习里面,我们有一个数据集,这个数据集被成为训练集,包含不同的房屋尺寸和它对应的价格。
现在介绍一些字符:
m:训练集样本的数量(这里有47个样本)X:输入变量/特征量y:输入变量/目标变量(x,y):一个训练样本(x^i,y^i):第i个训练样本(并不是i次方)
一般流程:
1、把训练集“喂”给我们的学习算法2、学习算法进行操作,然后输出一个函数我们记为h(这个函数被称为假设hypothesis)3、我们输入x给h,然后输出y的值
怎么去表示这个h?
hθ(x)=θ0+θ1x简写为h(x)=θ0+θ1x为什么是一个线性函数?有时候会是非线性或者更复杂的函数,只是线性是最简单的,比较适合入门。上面的线性模型也被叫做单变量线性回归。
二、Cost Function
1、Definition
这节课讲的是损失函数(Cost function),弄清楚如何把最有可能的直线和我们的数据相拟合。
以下是我们的线性回归的训练集(Training Set)和假设(hypothesis):
其中,θi我们称为模型参数。我们现在要讨论的就是如何去选择模型参数,能更好地拟合我们的每一个数据点?那么我们怎么得出这两个值?
我们的想法是:让我们输入x后的预测值尽可能地跟真实值的误差相对较小。所以我们需要比较多的样本点。所以我们要尽量使得
的值最小。因为要减少平均误差,因此对求和值的二分之一求最小值,应该得出相同的θ1和θ2,所以问题转化成了求θ1和θ2,使得预测值和真实值的差的平方和的1/2m 最小。因此我们要定义一个代价函数
这个也成为平方误差函数。
2、How to use?
再来看一下左边是我们上面说到的假设和损失函数,让我们来简化一下:我们把假设编程如下形式,你也可以看成θ0等于0;
然后我们假设一下数据集是(1,1)(2,2)(3,3)
接着设我们的θ1=1,这时候算得的J(θ1)(损失函数)的值为0:
然后我们就可以在右边的图标出θ1=1时候的对应点,如图。然后我们再来看一下θ1=0.5的时候:
下面是θ1=0的时候:
不难发现,对于不同的θ1都能算出对应的J(θ1)损失函数的值在1左右都在单调递增,我们可以画出如下的曲线。而我们学习算法就是想找一个能J(θ1)最小化的值。
3、In addition
和上一节不同的是我们的Parameters还是写成θ1和θ0的形式,便于我们对代价函数进行可视化。
像上面这个数据集,和我们给出来的假设hθ(x),我们尝试画出它的损失函数的图像。因为前面我们只有一个变量θ1,所以它的损失函数是二维的,但是现在我们的参数有两个:θ1和θ2,因此我们的图像变成了三维,like this:
因为三位图像比较难展示,所以用了轮廓图(Contour plots)来进行讲解。
通过选取损失函数中的数据点,画出它的对应的假设,我们可以看到这个的拟合程度明显不好。
选取比较近的点,我觉得老师讲的顺序有点颠倒,这里应该提前一点。
再选择近一点的点,可以看到拟合情况已经好多了,但是还是不够理想。再来看看下面的:
最后这个图,并不是轮廓图的中心点,但是已经很接近了。这个点正是我们所需要的,但是我们不可能人工进行筛选啊,所以怎么编写程序让他自动地寻找这个最小值点,将在后面的教程详细讲到!
- 【吴恩达机器学习笔记学习笔记02】Cost function
- 机器学习笔记3---cost function
- 吴恩达深度学习课程笔记 2.3逻辑回归cost function
- 机器学习-监督学习-cost function
- 机器学习:代价函数cost function
- 机器学习-3 cost function 代价函数
- Coursera 机器学习_Octave Cost Function
- [机器学习] 代价函数(cost function)
- 深度学习笔记(四) cost function来源和证明
- 机器学习笔记-Radial Basis Function Network
- Stanford机器学习课程(Andrew Ng) Week 1 Model and Cost Function --- 第二节 Cost Function
- 机器学习(五)- 对于cost function的思考
- 机器学习第三周(二)--Cost function--Gradient descent
- JAVA8学习笔记-function
- JAVA8学习笔记-Function
- 《机器学习》学习笔记
- 机器学习----学习笔记
- 机器学习学习笔记
- 用户输入日、月和年(月份可以是月份号、月份名或月份缩写),程序返回一年中到给定日子(包括这一天)的总天数
- 如何成为一个架构师
- 图形学opengl实验一-渐变色六芒星
- springboot 集成pagehelper
- JDBC-ODBC桥接数据库
- 【吴恩达机器学习笔记学习笔记02】Cost function
- 架构师已死
- Mac安装redis
- 每天一道算法题——替换空格
- 爬虫基础之beautiful soup操作
- 数据结构之栈实战练习
- 有关指针函数不可以返回局部变量的地址的三种解决方法
- 软件工程项目第一部分
- nginx 的默认配置语法