机器学习:分类问题及损失函数优化

在模型训练过程中,我们发现参数paramenter越多,训练集和测试集的loss差别越大,反而越容易过拟合,这节课主要来看如何确定参数的数量保证最佳训练结果

上图显示,机器学习首先要定义一个带有未知参数的function,这个参数需要根据已有知识确定

H是分别指各个参数的可能性的数量,加绝对值是指所有参数可以选择的数目,也就是我们常说的模型复杂度

分类问题损失函数的设置:

h是指设置的参数,D是指数据集设置,预测值与真实值相同输出0,预测值与真实值不同输出1,然后取均值,最终输出错误率,但是我们之前讲过对于分类问题使用使用cross-entropy,这里错误率显示更直观,loss function 其实影响不大,后续会继续讨论

损失函数的function定好了,下面要看如何优化,理想的样本来自所有数据,但是实际上我们可能只有其中的一些样例

上面两张图可以看到,训练结果的好坏和sample 数据的质量有很大的关系

如何将训练的loss贴合全部训练的结果loss,选择其中的任意一组参数,使得它的训练结果无限贴近全部训练结果

下面的讨论可以用于多种情景下,不仅仅用于loss function,也适用于其他情况

上面我们已经提到,sample数据的质量可以很大程度影响loss的训练结果,那么下面我们继续讨论sample到一组坏的数据的几率有多大

train数据被某一个参数h弄坏的几率有一个上界:

总结:

H是可以选择的function的数目,那么sample到的date是坏的几率被我们用公式表示出来了,N是训练资料的数目

下面要考虑如何把这个几率变小

把N调大,每个h可以弄坏的训练资料变少了

H的数量变小:

下面的例子可以看到随着训练资料N的增加,sample到坏的数据的几率越来越小

出现问题:我们说function中参数的变化是连续的,那么H(function)的数值就可以变得无限大,那么带入原来的公式就没有意义了,我们用两个方向解释:1,计算机上有一个最小的单位,不可能是连续的 2,有一个专门的vc-dimension指标用来衡量模型的复杂度

但是H可不可以尽量小呢?

不能

如下图所示,当H数量足够小,htrain和hall几乎没什么区别效果都不好(因为function 的数量太少),就算h train尽量的靠近h all,但是效果也不会好的

怎么样在保证h train和h all尽量接近的情况下同时不削减h all的效果呢?答:可以利用及深度学习,后面我们会详细介绍

相关推荐
云和数据.ChenGuang2 小时前
Codex 下载与本地部署实战:从零搭建你的 AI 编程助手
人工智能·深度学习·机器学习·语言模型·fastapi
没有钱的钱仔3 小时前
最大似然估计(MLE)通俗理解
算法·机器学习·概率论
Zachery Pole4 小时前
具身智能强化学习(1)引言
算法·机器学习
XMAIPC_Robot5 小时前
国产FPGA替代Xilinx在储能电力采集场景可行性评估与移植经验
人工智能·算法·机器学习·fpga开发·rk3588+fpga
具身AGI5 小时前
世界模型改当裁判,物理AI 物理推理 做判据
人工智能·深度学习·机器学习
袖清暮雨6 小时前
机器学习之其他聚类(层次聚类+DBSCAN算法)
人工智能·机器学习·ai·聚类
小宋10216 小时前
Recursive Language Models 实战:递归处理超长外部文本
人工智能·深度学习·机器学习
鱼宵7 小时前
LangChain4j RAG 流水线:手写问答全流程,给 AI 开卷考试
大数据·人工智能·机器学习·langchain4j
AOI小白新手上路7 小时前
深度学习项目模板与机器学习软件工程(MLSE)实践笔记
深度学习·机器学习·软件工程
haluhalu.7 小时前
Agent = LLM + 上下文 + 工具(含观察 / 动作空间、ReAct 循环)
前端·javascript·人工智能·python·react.js·机器学习·个人开发