深度学习(神经网络)中模型的评估与性能度量

深度学习(神经网络)中模型的评估与性能度量

1.在现实任务中,我们往往有多种学习算法可供选择,那么我们如何评判一个模型的好坏呢?理想的解决方案是对模型的泛化误差进行评估,选择泛化误差最小的;实际中采用测试误差来近似泛化误差

2.对于一个数据集如何划分训练集、测试集、验证集?
a.留出法 :直接将数据集划分为互斥的两部分,一部分用作训练一部分用作测试,单次留出法得到的结果不够可靠稳定,一般要多次随机划分重复取平均。一般将数据集的2/3,4/5用作训练。
b.交叉验证法 :将数据集划分为k个大小相似的数据集,每次使用其中k-1个数据集的并集用来作为训练集,剩余的那个作为测试集,这样可以得到k组训练/测试集,从而可以进行k次训练、测试,最终返回k个测试结果的均值,该方法的稳定性与保真性与k的取值有关,为强调这一点通常称之为"k折交叉验证",k最常用的取值为10。缺点:当模型较大的时候训练m个模型的计算代价难以承受。
c.自助法 :每次从数据集D中随机挑选一个样本拷贝至数据集D',重复m次之后得到一个包含m个样本的数据集D'。样本在m次采样中始终不被选到的概率约为0.368,我们将D'用作训练集,而始终不被采样的那一部分用作测试集。缺点:改变数据集初始分布,引入了估计偏差。适用于小数据集,数据集较大时通常还是会采用方法a、b

模型评估与选择中用于评估测试的数据集通常称为验证集(validation set)

3.性能度量
a.均方误差 :均方误差(Mean Squared Error, MSE)是一种常用的评估模型预测性能的指标,特别是在回归任务中。MSE 通过计算预测值与真实值之间的平方差的平均值来衡量模型的误差。

b.错误率与精度:


c.查准率、查全率与F1:


d.ROC与AUC:

4.比较检验:

假设一家制药公司声称其新药能提高患者的康复率。为了验证这一说法,研究人员进行了临床试验,随机选取了100名患者,其中50人接受了新药治疗,另外50人接受了安慰剂治疗。结果显示,新药组的康复率为80%,安慰剂组的康复率为60%。现在,研究人员需要进行假设检验,以确定新药是否真的提高了患者的康复率。

a.设定假设:

  • H0: 新药组和安慰剂组的康复率无显著差异。
  • H1: 新药组的康复率高于安慰剂组。
    b.选择检验方法:由于是两组比例的比较,可以选择Z检验。
    c.确定显著性水平:α = 0.05。(事先确定的拒绝原假设的概率标准,通常取0.05或0.01)
    d.收集样本数据:新药组康复50人中的40人,安慰剂组康复50人中的30人。
    e.计算检验统计量:使用Z检验公式计算Z值。
    f.计算p值:根据Z值查找标准正态分布表,得到p值。
    g.作出决策:如果p值小于0.05,则拒绝原假设,认为新药确实提高了患者的康复率;否则,不拒绝原假设。
    假设经过计算,p值为0.02,小于0.05,因此拒绝原假设,接受备择假设,即新药组的康复率确实高于安慰剂组。
    注意事项:
  • 在进行假设检验时,需要注意样本的代表性和独立性。
  • 显著性水平的选择应基于研究的具体需求和领域惯例。
  • p值只是拒绝原假设的证据强度,不能直接解释为假设成立的概率。
  • 假设检验的结果需要结合实际背景进行合理解释。
相关推荐
一切尽在,你来1 分钟前
1.2 LangChain 1.2.7 版本核心特性与升级点
人工智能·langchain
LYFlied3 分钟前
AI大时代下前端跨端解决方案的现状与演进路径
前端·人工智能
深蓝电商API5 分钟前
图片验证码识别:pytesseract+opencv入门
人工智能·opencv·计算机视觉·pytesseract
.Katherine௰6 分钟前
AI数字人模拟面试机器人
人工智能
光影少年7 分钟前
AI 前端 / 高级前端
前端·人工智能·状态模式
zhangshuang-peta11 分钟前
OpenCode vs Claude Code vs OpenAI Codex:AI编程助手全面对比
人工智能·ai agent·mcp·peta
Bruk.Liu14 分钟前
(LangChain 实战14):基于 ChatMessageHistory 自定义实现对话记忆功能
人工智能·python·langchain·agent
代码改善世界15 分钟前
CANN中的AI算子开发:ops-nn仓库深度解读
人工智能
大江东去浪淘尽千古风流人物29 分钟前
【VLN】VLN(Vision-and-Language Navigation视觉语言导航)算法本质,范式难点及解决方向(1)
人工智能·python·算法
云飞云共享云桌面29 分钟前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能