美赛论文学习笔记
本文最后更新于:2024年7月12日 凌晨
一些优秀美赛论文的读后感和学习记录~
摘要学习
1.规范的书写结构
- 背景:一两句话对时代背景进行概括。
- 问题的引入,交代整体做了什么
- 按照
首先-其次-第三-第四-……-最后
的顺序,分别介绍 What we have done。介绍每个模型的名字(标黑),该模型的过程概括,解决了什么问题,求出的结果是什么(具体的数值)。 - 一般最后会让写一封建议信balabla的,最后一段几句话概括一下即可。
2. 一些背景引入的写法学习:
- 23年C题:
In the digital era, language is often conveyed through abbreviations, emojis, and voice messages.However, the Wordle game, provided by the New Y ork Times, offers a chance to return to the basics of language. Thus, we conducted a data analysis of the results yielded by Wordle.
论文整体书写结构
1.Introduction
1.1 Problem Background
1.2 Restatement of the Problem
1.3 预先工作eg. Data Cleaning
1.4 Our work
放一张整体建模的
流程图
2. Assumptions
To simplify our modeling, we make the following assumptions: ………
3. Notations 符号说明(三线表)
4. 模型具体的论述
4.1 模型的 Basic Description
- 概念解释
- An Overview of the Algorithm Flow of XXX :
模型的流程图或者思维导图啥的,直观清晰
- An Overview of the Algorithm Flow of XXX :
- 可以解释一下,为什么选择了这个模型,基于数据集的什么特点,问题的什么特性balabala……
After browsing through the data set provided by the competition, we were pleasantly surprised to find that during the entire collection process, the data set showed a certain timing, and the number
of player experiences reflected by the number of reports within a certain range was in line with that proposed by Bohlen——the technology adopts the law of life cycle, which to a corresponding extent cn reflect the effect of the integration of wordle as an emerging thing in the eyes of the Internet public with opportunities and attractiveness, and provide help for us to predict the number of reports that wordle can collect in the future.
翻译:在浏览了大赛提供的数据集后,我们惊喜地发现,在整个收集过程中,数据集呈现出一定的时点,在一定范围内报告次数所反映的玩家体验次数与Bohlen提出的一致——技术采用生命周期规律,这在一定程度上可以反映出world作为一个新兴事物在互联网公众眼中具有机会和吸引力的整合效果,并为我们预测未来world可以收集的报道数量提供帮助。
4.2 模型建立
- 公式推导
4.3 模型应用的结果
- 模型计算的数据结果阐述
- 结果的精确度评价
- eg.与原始参考数据的误差分析,计算
均方根误差
,评价模型的有效性
具体问题具体分析,有自己的思考,结合实际。 - 23年C题:
从图3可以看出,平均偏差在0.06左右,说明预测数据与原始数据的偏差仅为6%左右。同时,观察到一个有趣的现象:2022年12月25日圣诞节的偏差接近50%,这是由于原始数据在这一天报告的结果数量急剧下降。这很容易与它是一个重要节日的事实联系起来。这样的结果在时间序列分析中属于离群值
,有足够的理由去掉这个值。
计算剩余数据的均值和均方根误差(RMSE)。 - 官方给的数据可能有些需要清洗,即data clean。例如:数据本身的错误,受到社会某些人文环境因素影响,不适合参与模型评价等等,都应该去掉。
- eg.与原始参考数据的误差分析,计算
5. 模型敏感性分析
雷达图,柱状图啥的都可以展示。
6. 模型评价及进一步讨论
Strengths
Weaknesses And Further Discussion
7.参考文献引用
8.附件
模型和算法积累
数据处理
1.箱型图
箱型图(Box Plot)是一种统计图形,用于展示数据的分布情况
和离散程度
。它由五个关键统计量组成:最小值、下四分位数(Q1)、中位数(Q2)、上四分位数(Q3)和最大值。
箱型图提供了一种简洁的方式来观察数据的集中趋势
、离散程度以及异常值的存在
。
2.回归算法——机器学习
大多数情况下,线性回归被用作基线模型来评估和比较研究中的新方法。常用的9种回归算法有:
算法 | 基本介绍 |
---|---|
线性回归 | 是一种线性模型,它假设输入变量 (X) 和单个输出变量 (y) 之间存在线性关系,分为单变量线性回归 和多变量线性回归 |
多项式回归 | 为非线性可分数据创建模型,图像为曲线 |
支持向量机回归(SVM) | 找到一个最优的超平面,尽可能拟合训练数据,并且在超平面两侧具有最大的间隔,以确保预测的泛化能力 |
决策树回归 | 通过学习从数据特征推断出的简单决策规则来预测目标变量的值 |
随机森林回归 | 是一个元估计器,可以在数据集的各种子样本上拟合多个决策树,并使用平均来提高预测准确性和控制过拟合。 |
LASSO 回归 | 使用收缩的线性回归 的变体,收缩是将数据值收缩到中心点作为平均值的过程。这种类型的回归非常适合显示重度多重共线性 (特征相互之间高度相关)的模型。 |
岭回归 | 与 LASSO 回归非常相似,因为这两种技术都使用了收缩。Ridge 使用 L2 正则化,这意味着没有一个系数会像 LASSO 回归中那样变为零(而是接近零) |
ElasticNet 回归 | 使用 L1 和 L2 正则化训练的线性回归模型,是 Lasso 和 Ridge 回归技术的混合体 ,因此它也非常适合显示重度多重共线性(特征相互之间高度相关)的模型 |
XGBoost 回归 | 梯度提升算法 的一种高效且有效的实现 |
线性回归
实现过程:
看这个教程关于线性回归的几个关键点:
- 快速且易于建模
- 当要建模的关系不是非常复杂并且您没有大量数据时,它特别有用。
- 非常直观的理解和解释。
- 它对异常值非常敏感。
多项式回归
1.实现过程:
教程看这里
2.关于多项式回归的几个关键点:
- 能够对非线性可分数据进行建模;线性回归不能做到这一点。一般来说,它更加灵活,可以对一些相当复杂的关系进行建模。
- 完全控制特征变量的建模(要设置的指数)。
- 需要精心设计。 需要一些数据知识才能选择最佳指数。
- 如果指数选择不当,则容易过度拟合。
3.补充:过拟合
和欠拟合
过于简单的模型,无论对于训练数据还是测试数据都无法给出足够高的预测精度,这种现象叫做欠拟合。
过于复杂的模型,对于
训练数据
可以得到较高的预测精度,但对于测试数据
通常精度较低,这种现象叫做过拟合。
一个性能可以接受的学习模型应该对训练数据和测试数据都有接近的预测精度,而且精度不能太低。
支持向量机回归(SVM)
1.在拟合 SVR 模型之前,通常最好先执行特征缩放
,以便每个特征具有相似的重要性。
- 使用 StandardScaler() 执行特征缩放
2.关于支持向量回归的几个关键点:
优势:
- 它对异常值具有鲁棒性,并且在高维空间中有效
- 它具有出色的泛化能力(能够正确适应新的、以前看不见的数据)
- 如果特征数量远大于样本数量,则容易过拟合
劣势:
- 对于大规模数据集和特征数量很多的情况,训练时间可能较长
- 对于噪声较多的数据或者数据集中有重叠的情况,表现可能不佳
- SVM模型在处理多类别分类问题时需要进行额外的处理(例如一对多策略)
- 支持向量机的
分类算法
和回归算法
的python教程
教程和代码看这里
决策树回归
1.可以在没有特征缩放的情况下创建 DecisionTreeRegressor 对象
2.关于决策树的几个关键点:
- 易于理解和解释。树可以可视化。
- 适用于分类值和连续值
- 使用 DT(即预测数据)的成本与用于训练树的数据点数量成对数
- 决策树的预测既不平滑也不连续(为分段常数近似)
3.python实现:
教程和代码看这里
随机森林回归
1.关于随机森林回归的几点:
- 减少决策树中的过度拟合并提高准确性
- 它也适用于分类值和连续值
- 需要大量计算能力和资源,因为它适合许多决策树来组合它们的输出
XGBoost算法
1.关于 XGBoost 的几点:
- XGBoost 在稀疏和非结构化数据上表现不佳。
- 该算法被设计为计算效率和高效,但是对于大型数据集的训练时间仍然相当长
- 它对异常值很敏感
2.安装 XGBoost 库(如果尚未安装)pip install xgboost
3.Python自然语言处理 NLTK 库
NLTK(Natural Language Toolkit)是一个Python库,用于实现自然语言处理(NLP)的许多任务。NLTK包括一些有用的工具和资源,如文本语料库
、词性标注器
、语法分析器
等。
文本分词 —— 将文本分解成单独的词语或标记。
停用词移除 —— 移除一些常见但对分析贡献不大的词
词性标注 —— 为每个单词标记相应的词性
数据预测
1.网格搜索随机森林(Grid Search Random Forest, GSRF)算法
结合了网格搜索和随机森林两种技术,用于超参数调优和模型选择。
GSRF算法的基本思想是利用网格搜索来选择最优的随机森林超参数
,例如决策树的数量、每棵树的最大深度、节点最小样本数等。
随机森林是一种集成学习算法,通过训练多个决策树,并将它们的预测结果进行平均或投票来提高预测性能。
网格搜索是一种常用的超参数调优技术,它通过遍历指定的参数组合来寻找最佳模型。
机器学习的模型评价指标
使用机器学习算法进行预测时,两种常用的评估指标是均方误差(MSE)
和平均绝对误差(MAE)
。
- MSE是预测数据与原始数据之差平方的平均值
- MAE是预测数据与原始数据之差绝对值的平均值。
分类算法
K-Means++
K-Means++算法在聚类中心的初始化过程中的基本原则是使得初始的聚类中心之间的相互距离尽可能远
1.初始化过程如下所示:
- 在数据集中随机选择一个样本点作为第一个初始化的聚类中心
- 选择出其余的聚类中心:
- 计算样本中的每一个样本点与已经初始化的聚类中心之间的距离,并选择其中最短的距离,记为d_i
- 以概率选择距离最大的样本作为新的聚类中心,重复上述过程,直到k个聚类中心都被确定
- 对k个初始化的聚类中心,利用K-Means算法计算最终的聚类中心。
2.代码看这里