当前位置: 首页 > news >正文

吴恩达机器学习课程笔记:模型描述、假设函数、代价函数

1.吴恩达机器学习课程笔记:模型描述、假设函数、代价函数

吴恩达机器学习课程笔记:模型描述
吴恩达机器学习课程笔记:代价函数

仅作为个人学习笔记,若各位大佬发现错误请指正

什么是模型?

机器学习模型简单来说,即是学习数据特征与标签的关系或者学习数据特征内部的规律的一个函数。摘自:机器学习中的模型到底是指什么?

先选一个模型,然后根据数据样本学习,不断调整优化参数得到最优参数,最终获得决策函数,之后使用该决策函数进行预测

视频中以回归问题为例介绍什么是模型?如何优化参数?
例子:房价预测

样本数据如下:
符号解释:m代表样本容量、x代表输入值(特征)、y代表输出值

根据经验先大概选一个初始模型(假设函数),这里选的是单变量线性回归模型

假设函数: h ( x ) = θ 0 + θ 1 x h(x)=\theta_0+\theta_1x h(x)=θ0+θ1x
不同的参数对应不同的函数

我们怎样调整参数才能使得模型更好地符合样本数据?也就是如何在整体上使得预测值 h ( x ) h(x) h(x)与样本值y的距离更近?由此引入最小二乘法
minimize  J ( θ 1 ) = minimize  1 2 m ∑ i = 1 m ( h ( i ) ( x ) − y ( i ) ) 2 \text{minimize}\ J(\theta_1)=\text{minimize}\ \frac{1}{2m}\sum_{i=1}^{m}\left(h^{(i)}(x)-y^{(i)}\right)^2 minimize J(θ1)=minimize 2m1i=1m(h(i)(x)y(i))2
注:右上角标代表第 i i i个样本数据、m代表样本容量
我们通过最小化代价函数 J ( θ 1 ) J(\theta_1) J(θ1)来寻找最优参数
假设函数 h ( i ) ( x ) = θ 1 x h^{(i)}(x)=\theta_1x h(i)(x)=θ1x的函数值为模型预测值、样本数据 y ( i ) y^{(i)} y(i)为真实值

例如样本数据(1,1)、(2,2)、(3,3),根据这些样本数据我们大致认为截距为0的函数可以较好拟合这些数据,所以我们就假设只有一个参数(斜率)
我们首先假设参数 θ 1 = 1 \theta_1=1 θ1=1,则假设函数为 h ( i ) ( x ) = θ 1 x = x h^{(i)}(x)=\theta_1x=x h(i)(x)=θ1x=x
x = 1 x=1 x=1代入假设函数 h ( 1 ) ( 1 ) = 1 h^{(1)}(1)=1 h(1)(1)=1
x = 2 x=2 x=2代入假设函数 h ( 2 ) ( 2 ) = 2 h^{(2)}(2)=2 h(2)(2)=2
x = 3 x=3 x=3代入假设函数 h ( 3 ) ( 3 ) = 3 h^{(3)}(3)=3 h(3)(3)=3
将样本数据代入代价函数计算, y ( 1 ) = 1 、 y ( 2 ) = 2 、 y ( 3 ) = 3 y^{(1)}=1、y^{(2)}=2、y^{(3)}=3 y(1)=1y(2)=2y(3)=3,计算结果代价函数值为 0 0 0,以参数 θ 1 \theta_1 θ1为横轴,以代价函数值为纵轴绘制图像,通过不断更新参数 θ 1 \theta_1 θ1得到不同的代价函数值,最终可以得到一个最小代价,此时代价函数值对应的参数 θ 1 \theta_1 θ1的值便是最优值

我们将参数 θ 1 \theta_1 θ1调整为 0.5 0.5 0.5,并计算代价函数值

我们将参数 θ 1 \theta_1 θ1调整为 0 0 0,并计算代价函数值

通过对参数不断调整,我们可以最终在以参数 θ 1 \theta_1 θ1为横轴,以代价函数值为纵轴的函数图像中找到代价最小时对应的参数值,此时的参数值就是最优值,
当样本数据如下图,我们大致认为假设函数有两个参数 θ 0 \theta_0 θ0(截距)、 θ 1 \theta_1 θ1(斜率),假设函数为 h ( x ) = θ 0 + θ 1 x h(x)=\theta_0+\theta_1x h(x)=θ0+θ1x

当我们有两个参数需要确定时,对应的代价函数为 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)
minimize  J ( θ 0 , θ 1 ) = minimize  1 2 m ∑ i = 1 m ( h ( i ) ( x ) − y ( i ) ) 2 \text{minimize}\ J(\theta_0,\theta_1)=\text{minimize}\ \frac{1}{2m}\sum_{i=1}^{m}\left(h^{(i)}(x)-y^{(i)}\right)^2 minimize J(θ0,θ1)=minimize 2m1i=1m(h(i)(x)y(i))2
注:右上角标代表第 i i i个样本数据、 m m m代表样本容量
我们通过最小化代价函数 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)来寻找最优参数
假设函数 h ( i ) ( x ) = θ 0 + θ 1 x h^{(i)}(x)=\theta_0+\theta_1x h(i)(x)=θ0+θ1x的函数值为模型预测值、样本数据 y ( i ) y^{(i)} y(i)为真实值
首先给两个参数初始值,并计算对应代价函数值,而后对两个参数值进行调整,每次调整都计算出对应的代价函数值,最终得到类似下图右侧的函数图像, z z z轴为代价函数值, x x x轴与 y y y轴分别为两个参数,我们可以在此图像中找到最小的代价函数值,此值对应的参数即为最优参数,我们便得到了符合以下样本数据的最优模型 h ( x ) = θ 0 + θ 1 x h(x)=\theta_0+\theta_1x h(x)=θ0+θ1x(对应的最优值代入两个参数)

当然我们也可以用等高线图来表示代价函数图像
同一个椭圆上的所有点其代价函数值相等
不同椭圆上的点代价函数值不同,颜色代表了代价函数值的高低,从下图中我们可以得到最内部的点对应的代价函数值最小,通过此值我们找到了对应两个参数的值

相关文章:

  • C 程序设计教程(17)—— 循环结构程序设计练习题
  • IO流的学习
  • 除夕New Year Eve,祝大家团圆幸福!
  • 字符串函数、内存操作函数的模拟实现
  • 《Linux Shell脚本攻略》学习笔记-第二章
  • Python加密Excel
  • “华为杯”研究生数学建模竞赛2004年-【华为杯】C题:基于样条模型的汽车可靠性双向联合预测(附优秀论文)
  • leetcode 1814. 统计一个数组中好对子的数目
  • C语言—基于realloc函数实现的通讯录
  • CHAPTER 9 Web服务与应用(一)
  • 服务注册与发现:Nacos Discovery
  • API 网关的功能用途及实现方式
  • ElasticSearch7.10配置Search-Guard之配置用户
  • 【翻车现场】初读《编程之美》就想秀一下,结果还翻车了
  • mysql之一条mysql语句时如何执行的
  • Open3D RANSAC拟合球(Python版本)
  • 【闪电侠学netty】第2章 Netty是什么
  • 如何修复u盘损坏的文件?
  • 终于有人将Session和cookie讲明白了!一节课彻底搞懂
  • 【文件指针+文件顺序读写操作函数】