第二章 机器学习基本方法

第一节 模型评估与模型参数选择

1.对于给定的输入x,若预测值偏离真实目标值,说明模型存在误差;

2.预测值与真实值之间的误差函数度量称为损失函数; 

3.在损失函数度量下,训练集上的平均误差被称为训练误差,测试集上的误差称为泛化误差;

4.泛化误差是衡量一个模型泛化能力的重要标准。

5.误差 :预测输出
𝑦 与真实输出 𝑦 之间的差异;
经验误差、训练误差 :在 训练集 上的误差;
泛化误差 :在新样本上的误差。
泛化误差越小越好,经验误差不一定越小越好,可能导致 过拟合
6.种数据集之间的关系:
训练集相当于上课学知识
验证集相当于课后的的练习题,用来纠正和强化学到的知
测试集相当于期末考试,用来最终评估学习效果
7.验证集
新数据 (验证集和测试集是不同的数据)上的表现如何。
同时通过 调整超参数 ,让模型处于最好的状态
验证集不像训练集和测试集,它 是非必需的 如果不需要调整超参数,就可以不使用验证集,
直接用测试集来评估效果。
验证集评估出来的效果并非模型的最终效果,主要是用来调整超参数的,模型最终效果以测
试集的评估结果为准。
通过测试集(Test Dataset)来做最终的
评估,来看学习效果(模型效果)好不好
8. 划分数据集: 超参数越少,或者超参数很容易调整,那么可以减少验证集的比例,更多的分配给训练集。
9.
过拟合: 将训练样本自身的一些特点当作所
有样本潜在的泛化特点
表现: 在训练集上表现很好,在测试集上表
现不好。

 第二节 监督学习

监督学习与非监督学习

1.如果数据集中样本点只包含了模型的输入 𝒙 ,那么就需要采用 非监督学习的方法
2.如果这些样本点以 〈𝒙 , 𝒚〉 这样的输入-输出二元组的形式出现( 有数据标签
那么就可以采用 监督学习 的算法。
3.
模型与最优化算法的选择,很大程度上 取决于能得到什么样的数据
4.
在监督学习中,我们根据 训练集 𝒙 𝑖 , 𝒚 𝑖
𝑖
𝑁 =1 中的观测
样本点来优化 模型 𝑓 ⋅ ,使得给定测试样例 𝒙′ 作为模型输
入,其输出
𝒚 尽可能接近正确输出 𝒚′
𝒚 = 𝑓 x
回归:回归问题的输出是 连续值;分类: 分类问题的输出是 离散值

一个购物网站想要计算出其在某个时期的预期收益,研究人员会将相关因素如广告投放
量、网站流量、优惠力度。得到在未来某一时刻的预测值

回归问题中通常使用均方损失函数来作为度量模型效果的指标

均方误差损失函数(Mean Squared Error,MSE):
简单线性回归
自变量 x 和因变量 y之间存在一条线性关系:
多元线性回归
假设自变量 和因变量 y之间存在一条线性关系
线性回归可以用于预测什么中的场景?
1.预测房价
假设我们想要预测某个城市的房价。 我们可以收集  
  到该城市 过去几年的房价数据,以及一些相关的因
素,比如房屋的面积、房龄、所处区域、楼层等
我们可以使用这些数据 建立一条最佳拟合直线 ,从
对未来的房价进行预测
在这个例子中, 自变量 可以包括 面积、房龄、所处
区域 等, 因变量 房价
我们可以通过 最小二乘法 来估计 截距和斜率的值
2.预测销售额
假设我们想要预测某家公司未来一年的销售额。
我们可以收集到该公司 过去几年的销售额数据,以
及一些相关的因素,比如广告投入、促销活动、季
节性因素 等。我们可以使用这些数据建立一条最佳
拟合直线,从而对未来的销售额进行预测。
在这个例子中, 自变量 可以包括 广告投入、促销活
动、季节性因素 等, 因变量是销售额
想要预测(检测)的目标是猫,那么在数据集中猫为 正样本
( Positive ) , 其 他 狗 、 兔 子 、 狮 子 这 些 数 据 为 负 样 本
(Negative )
准确率 Accuracy ):对于测试集中 D 个样本,有 k 个被正
确分类, D-k 个被错误分类,则准确率为
样本不平衡,准确率就会失效
精确率(查准率) - Precision:所有被预测为正样本中实际为正样本的概率
召回率(查全率) - Recall:实际为正样本中被预测为正样本的概率
把精确率( Precision )和召回率( Recall )之
间的关系用图来表达,就是下面的 PR 曲线
mAP 是多个类别 AP 的平均值。这个 mean 的意思是对每个类的 AP 再求
平均,得到的就是 mAP 的值, mAP 的大小一定在 [0,1] 区间,越大越
好。 该指标是目标检测算法中最重要的一个。
模型评估 需要根据模型的训练历史判断模型是否处于 欠拟
合或过拟合状态

第三节:线性回归模型

(一)机器学习:数据集 模型选择 训练KNN不需要 推理(预测)

线性回归 模型是指 𝑓(⋅) 采用线性组合形式的回归模型,在线性回归问题
中,因变量和自变量之间是线性关系的。对于第 𝑖 个因变量 𝑥 𝑖 ,我们乘以
权重系数 𝑤 𝑖 ,取 𝑦 为因变量的线性组合:
𝒚 = 𝒇 𝒙 = 𝒘 𝟏 𝒙 𝟏 + ⋯ + 𝒘 𝒏 𝒙 𝒏 + 𝒃
其中 𝑏 为常数项。若令 𝒘 = (𝑤 1 , ⋯ , 𝑤 𝑛 ) ,则上式可以写成向量形式:
𝐲 = 𝒇 𝒙 = 𝒘 𝒙 + 𝒃
可以看到 𝒘 𝑏 决定了回归模型 𝑓(⋅) 的行为。由数据样本得到 𝒘 𝒃 有许
多方法,例如最小二乘法(书上)、梯度下降法。
最开始 𝜔 是选取一个随机值,然后通过训练想
要找到一个 𝜔 的取值使得生成的预测函数与真
实值的差异尽可能小,即损失尽可能小。
我们采用损失函数来衡量真实值与预测值之间的差异。
目标: 找到一个 𝜔 使得损失函数的值最小。
采用真实值与预测值的平方作为损失函数( loss)
假设 𝜔 =3 4 0… ,计算出每个样本的损失,之后求平均损失。目标就是找到一个 𝜔
使得这个平均损失最小:
Pytorch 画图: matplotlib
如果没有安装 matplotlib 库需要安装: pip install matplotlib
• plt.plot()
• plt.plot() Matplotlib 库中用于绘制线图(折线图)的主要函数之一。
它的作用是将一组数据点连接起来,以可视化数据的趋势、关系或模式。
plt.plot(x, y, fmt, **kwargs)
x :表示 X 轴上的数据点,通常是一个列表、数组或一维序列,用于指定数据点的水平位置。
y :表示 Y 轴上的数据点,通常也是一个列表、数组或一维序列,用于指定数据点的垂直位置。
fmt :是一个 可选 的格式字符串,用于指定线条的样式、标记和颜色。例如,‘ ro-’ 表示红色圆点
线条。
**kwargs :是一系列可选参数,用于进一步自定义线条的属性,如线宽、标记大小、标签等
样式参数( fmt ): 格式字符串可以包含一个字符来指定颜色,一个字符来指定标记样式,以及一
个字符来指定线条样式。例如,‘ r-’ 表示红色实线,‘ bo–’ 表示蓝色圆点虚线。
线条样式( linestyle ): 使用 linestyle 参数可以指定线条的样式,如实线(‘ -’ )、虚线(‘ –’ )、
点划线(‘ -.’ )等。
标记样式( marker ): 使用 marker 参数可以指定数据点的标记样式,如圆点(‘ o’ )、方块
(‘ s’ )、星号(‘ * ’)等。
线条颜色( color ): 使用 color 参数可以指定线条的颜色,可以使用颜色名称(如’ red’ )、缩
写(如’ r’ )或十六进制颜色码(如’ #FF5733’ )。
线宽( linewidth ): 使用 linewidth 参数可以指定线条的宽度,以数字表示。
标记大小( markersize ): 使用 markersize 参数可以指定标记的大小,以数字表示。
图例标签( label ): 使用 label 参数可以为线条指定标签,用于创建图例。
其他属性: 还有许多其他属性可用于自定义线图,如透明度、渐变、线型、阴影等。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值