天池大赛:街景字符编码识别——Part4:模型训练与验证

本文介绍了街景字符编码识别任务的模型训练与验证过程,探讨了防止过拟合和欠拟合的方法,包括L1、L2正则化、数据增强、提前终止法和丢弃法。还讨论了模型训练的流程,验证集的构建,以及模型保存和加载的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

街景字符编码识别

更新流程↓
Task01:赛题理解
Task02:数据读取与数据扩增
Task03:字符识别模型
Task04:模型训练与验证
Task05:模型集成
你是真的狗?
婧妹
正 盗 的 光
比赛链接


Part4:模型训练与验证





0. 简介

一个成熟合格的深度学习训练流程至少具备以下功能:

  • 在训练集上进行训练,并在验证集上进行验证。
  • 模型可以保存最优的权重,并读取权重。
  • 记录下训练集和验证集的精度,便于调参。

本章将从构建验证集模型训练和验证模型保存与加载模型调参四个部分进行介绍讲解。



1. 构建验证集

  在机器学习模型(特别是深度学习模型)的训练过程中,模型是非常容易过拟合的。深度学习模型在不断的训练过程中训练误差会逐渐降低,但测试误差的走势则不一定。
  在模型的训练过程中,模型只能利用训练数据来进行训练,模型并不能接触到测试集上的样本。因此模型如果将训练集学的过好,模型就会记住训练样本的细节,导致模型在测试集的泛化效果较差,这种现象称为过拟合(Overfitting)。与过拟合相对应的是欠拟合(Underfitting),即模型在训练集上的拟合效果较差。

 1.1. 过拟合与欠拟合

在这里插入图片描述

  • 拟合(Fitting):就是说这个曲线能不能很好的描述某些样本,并且有比较好的泛化能力
  • 过拟合(Overfitting):模型把数据学习的太彻底,以至于把噪声数据的特征也学习到了,这样就会导致在后期测试的时候不能够很好地识别数据,即不能正确的分类,模型泛化能力太差
  • 欠拟合(UnderFitting):模型没有很好地捕捉到数据特征,不能够很好地拟合数据,或者是模型过于简单无法拟合或区分样本。
    在这里插入图片描述
    在这里插入图片描述




  1.1.1. 防止过拟合方法介绍

  防止过拟合方法主要有:

  1. 正则化方法。正则化方法包括L0正则、L1正则和L2正则,而正则一般是在目标函数之后加上对于的范数。但是在机器学习中一般使用L2正则

  2. 数据增强(Data augmentation),增大数据的训练量,还有一个原因就是我们用于训练的数据量太小导致的,训练数据占总数据的比例过小。

  3. 重新清洗数据,导致过拟合的一个原因也有可能是数据不纯导致的,如果出现了过拟合就需要我们重新清洗数据。

  4. 提前终止法(Early stopping),对模型进行训练的过程即是对模型的参数进行学习更新的过程,这个参数学习的过程往往会用到一些迭代方法,如梯度下降(Gradient descent)学习算法。提前终止法便是一种迭代次数截断的方法来防止过拟合的方法,即在模型对训练数据集迭代收敛之前停止迭代来防止过拟合。

  5. 丢弃法(Dropout)。这个方法在神经网络里面很常用。丢弃法是ImageNet中提出的一种方法,通俗一点讲就是丢弃法在训练的时候让神经元以一定的概率不工作。具体看下图:标准 Dropout 的示例。左侧为全连接网络,右侧的网络以 0.5 的概率丢弃神经元。输出层并没有应用 Dropout。

左侧为全连接网络,右侧的网络以 0.5 的概率丢弃神经元。输出层并没有应用 Dropout



   1.1.1.1. L1正则化

  可以参考L1和L2正则化(岭回归和LASSO)进行了解。
  在原始的代价函数后面加上一个L1正则化项,即全部权重w的绝对值的和,再乘以 λ n \frac{\lambda }{n} nλ (这里不像L2正则化项那样,须要再乘以1/2)。
C = C 0 + λ n ∑ w ∣ w ∣ C=C_{0}+\frac{\lambda }{n} \sum_{w}^{}|w| C=C0+nλww
  先计算导数:
∂ C ∂ w = ∂ C 0 ∂ w + λ n s g n ( w ) \frac{\partial C}{\partial w}=\frac{\partial C_{0}}{\partial w} +\frac{\lambda }{n}sgn(w) wC=wC0+nλsgn(w)
  上式中 s g n ( w ) sgn(w) sgn(w)表示 w w w的符号,那么权重 w w w的更新规则为:
w → w ′ = w − η λ n s g n ( w ) − η ∂ C 0 ∂ w w\rightarrow {w}'=w-\frac{\eta \lambda }{n}sgn(w)-\eta\frac{\partial C_{0}}{\partial w} ww=wnηλsgn(w)ηwC0
  比原始的更新规则多出了 η ∂ C 0 ∂ w \eta\frac{\partial C_{0}}{\partial w}

### 阿里云天池城市探险家街景字符识别比赛规则 在阿里云天池的城市探险家街景字符识别比赛中,参赛者需处理来自真实世界的街景图片并从中提取文字信息。这类任务属于计算机视觉领域中的OCR(光学字符识别),特别是针对不定长字符序列的识别[^1]。 对于此类竞赛的具体规则通常会规定如下要点: - **数据集划分**:官方提供训练集用于模型开发调试;验证集帮助评估算法性能;测试集则用来最终排名打分。 - **评价标准**:一般采用编辑距离等指标衡量预测结果实际标签之间的差异程度,以此作为评判依据之一。 - **提交格式**:要求按照指定模板上传预测文件,内含每张测试图片对应的识别字符串。 为了参到这项赛事当中,有兴趣的研究人员或开发者应当遵循以下流程完成报名注册以及后续操作: - 访问[阿里云天池官网](https://tianchi.aliyun.com/)查找目标项目页面; - 登录账号后点击“立即参加”,阅读同意相关协议条款; - 下载公开的数据资源包,在本地环境中构建解决方案原型; - 利用线上环境提供的计算能力加速迭代优化过程; - 定期将最新版本的结果打包递交至系统评测接口获取即时反馈。 通过上述途径能够顺利加入到这场聚焦于先进AI技术应用实践的比赛之中。 ```python import pandas as pd # 示例代码展示如何读取CSV格式的样本提交文件结构 submission_df = pd.read_csv('sample_submission.csv') print(submission_df.head()) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值