enumitem 宏包简介 enumitem 宏包 是 LaTeX 中一个非常实用的工具,它提供了一种简单且灵活的方式来定制列表环境(包括无序列表 itemize、有序列表 enumerate 以及描述列表 description)的格式和样式。通过使用 enumitem 宏包,用户可以轻松地控制列表项之间的垂直间距、水平缩进、标签样式(包括编号或符号)、悬挂缩进等参数,并能够在文档的不同部分应用不同的列表设置。 以下是一些 enumitem 宏包的主要功能: 自定义间距: \setlist 命令允许全局或局部设定各类列表环境的间距参数,如: \topsep:列表与上下文正文之间的垂直间距。 \itemsep:列表中相邻项目之间的垂直间距。 \parsep:同一项目内段落间的垂直间距。 \partopsep:在列表顶部或底部有空白行时额外增加的垂直间距。 \leftmargin 和 \rightmargin:列表整体的左右边距。 \labelwidth 和 \labelindent:标签区域的宽度和缩进。 自定义标签: 可以改变默认的编号样式,例如将 enumera ...
booktabs 宏包简介 LaTeX 宏包 booktabs 由 David Carlisle 开发,旨在提供一种专业、美观的方式来排版表格,特别适用于学术和出版物中的高质量表格设计。在 LaTeX 中,标准的表格环境通常使用细线将每个单元格分隔开来,而 booktabs 强调减少视觉混乱并增强表格的可读性,它通过引入不同粗细和间距的水平线来构建简洁、优雅且易于阅读的“三线表”。 以下是一些 booktabs 宏包提供的核心命令: \toprule: 用于绘制表格顶部的粗线,该线下面有适当的垂直间距。 \midrule: 绘制一条中等粗细的横线,用于分隔表格的主要部分。 \bottomrule: 绘制表格底部的粗线,上面也有合适的垂直间距。 \cmidrule: 可以用来画一条自定义长度的中等粗细横线,可以只覆盖部分列,并且可以灵活调整两端的悬空(trimming)效果。 \addlinespace: 提供在表格行之间增加额外垂直间距的功能,有助于改善内容层次和阅读体验。 \specialrule: 用于定制特殊粗细和间距的横线,当需要更精细控制时使用。 ...
标题和作者 ImageNet Classification with Deep Convolutional Neural Networks,意为使用深度卷积神经网络在 ImageNet 数据集上进行分类,发表于 2012 年。 作者信息: Alex Krizhevsky,本文第一作者,本文提出的网络结构后被称为 AlexNet。 Ilya Sutskever,本文第二作者,2015 年加入 OpenAI,成为 OpenAI 的联合创始人兼首席科学家。 Geoffrey E. Hinton,本文第三作者,2018 年图灵奖得主,神经网络之父,前两位作者的导师。 摘要 We trained a large, deep convolutional neural network to classify the 1.2 million high-resolution images in the ImageNet LSVRC-2010 contest into the 1000 different classes. On the test data, we achieved top-1 an ...
Transformer Attention Is All You Need 是 Google 于 2017 年发表的论文,这篇论文提出了一种新的神经网络架构: Transformer,它完全摒弃了传统的 CNN 和 RNN 结构,基于 Attention 机制来实现 Seq2Seq 的建模。 Transformer 的出现是人工智能领域的重大突破,它不仅在机器翻译任务上取得了 SOTA 的效果,而且在其他 NLP 任务上也有着非常好的表现,后续更是被广泛应用于 CV 领域。 位置编码 本文主要介绍 Transformer 中的位置编码,它是 Transformer 中非常重要的一部分。 什么是位置编码以及为什么需要位置编码 词的位置和顺序是任何语言的重要组成部分。它们决定着语法,因此也决定了句子的实际语义。 卷积神经网络(CNN)使用卷积核来捕获单词之间的相对位置信息,但其仅能捕获固定大小的局部上下文信息。 循环神经网络(RNN)在处理序列信息上会有更好的效果,其依靠循环结构,将序列信息逐步传递,这其中就引入了单词的位置和顺序信息。但随着序列长度的增加,RNN 会慢慢忘记早前的信息, ...
资源分享
未读Kaggle Kaggle,成立于 2010 年,于 2017 年 3 月被谷歌收购,目前已是全球最大、最权威的数据科学竞赛平台。Kaggle 以数据科学竞赛为主,同时也提供了 Datasets、Code、Discussions、Learn 等功能。 Kaggle 为初学者提供了很多学习资源,同时也设置了很多入门级别的练习赛,如经典的泰坦尼克号生还预测、波士顿房价预测、手写数字识别等,可以帮助初学者快速入门。Kaggle 上的竞赛往往有很高的奖金,吸引了全球的数据科学家参与其中,竞赛的难度也很大,往往需要团队合作才能取得好成绩。 平台链接:https://www.kaggle.com/ 天池 天池,阿里云旗下的开发者竞赛平台,提供丰富的 AI 学习、实验、研究、创新和展示资源,包括学习课程、编程工具、数据集、在线编程、实验室等,目前是国内最大的数据科学竞赛平台。 天池也为初学者设置了许多学习赛,并且以中文为主,更加适合国内的初学者。赛事的举办方往往是知名企业或者高校、科研机构,对于数据科学家来说,天池是一个很好的展示平台。 平台链接:https://tianchi.aliyun.c ...
实用教程
未读数学建模竞赛简介 数学建模竞赛的基本要求 通常由三人组成团队,团队分工通常为建模手、编程手和论文手 在规定时间内,解决相应的问题,并给出解决方案,通常包含一篇结构完整、思路清晰的论文和一份能够运行并得出结果的程序代码 数学建模竞赛的基本过程 由建模手将问题转化为数学模型 由编程手根据数学模型编写程序代码 将数据输入程序,得到结果 由论文手将问题、数学模型、结果整理成论文 论文与程序代码构成问题最终的解决方案 主流数学建模竞赛介绍 “高教社杯”全国大学生数学建模竞赛 全国大学生数学建模竞赛,简称国赛,由中国工业与应用数学学会主办,高等教育出版社独家冠名赞助,是世界上规模最大的数学建模竞赛。 比赛时间:通常为每年的 9 月中上旬 比赛时长:通常为 3 天 比赛语言:中文 比赛题目:通常 ABCDE 五个题目,其中 ABC 为本科生组题目,DE 为专科生组题目 比赛奖项: 国家级:一等奖、二等奖 省级:一等奖、二等奖、三等奖 赞助商特别奖项 美国大学生数学建模竞赛 美国大学生数学建模竞赛,简称美赛,由美国数学及其应用联合会(COMAP)主办,,分为 MCM(The Ma ...
t-SNE 简介 t-SNE 的全称为 t-Distributed Stochastic Neighbor Embedding,是一种非线性降维算法,它可以将高维数据映射到低维空间,同时保持数据间的相对距离不变。t-SNE 通常用于可视化高维数据,它可以将高维数据映射到二维或三维空间,从而可以通过图形的方式展示数据的特征。 相比于 PCA 等线性降维算法,t-SNE 能够更好地保留数据的局部结构,因此在可视化高维数据时,t-SNE 通常能够展示出更好的效果。 sklearn 中的 t-SNE sklearn 中的 t-SNE 位于 sklearn.manifold.TSNE,它的主要参数有: n_components:降维后的维度,默认为 2 perplexity:困惑度,用于控制每个点周围的邻域大小,默认为 30,通常取值在 5 到 50 之间 early_exaggeration:控制 t-SNE 与原始空间距离的关注度,值越大,t-SNE 与原始空间距离越大,默认为 12 learning_rate:学习率,默认为 200,通常取值在 10 到 1000 之间 n_iter:迭 ...
超参数搜索 在建模时模型的超参数往往会对精度造成一定影响,而设置和调整超参数的取值,往往称为调参。 在实践中调参往往依赖人工来进行设置调整范围,然后使用机器在超参数范围内进行搜索,找到最优的超参数组合。 在 sklearn 中,提供了四种超参数搜索方法: GridSearchCV RandomizedSearchCV HalvingGridSearchCV HalvingRandomSearchCV 默认参数 为了方便起见,我们先定义一个默认参数的模型,用于后续的超参数搜索。 1234567891011121314151617181920212223242526272829303132# 导入相关库import randomimport numpy as npimport pandas as pdfrom sklearn import datasetsfrom sklearn.experimental import enable_halving_search_cvfrom sklearn.model_selection import ( train_test_split, ...
Category Encoders 简介 Category Encoders 是一个用于将分类变量编码为数值的 Python 库,它提供了多种不同的编码技术。这些编码技术可以将分类变量转换成数值表示,以便在机器学习算法中使用。这个库的设计与 scikit-learn 类似,因此可以很容易地与 scikit-learn 的流程和工具集成。 以下是 Category Encoders 库的一些主要特点: 对 Pandas DataFrame 的原生支持:它支持 Pandas DataFrame 直接作为输入,也可以指定输出类型为 Pandas DataFrame。 灵活的列配置:你可以通过列名或索引来明确配置要编码的列,或者让它自动推断出非数值列,无论输入的数据类型如何。 低方差列的删除:它可以基于训练集可选地删除方差非常低的列,以避免给模型带来噪音。 可移植性:你可以在数据上训练一个编码器,将其保存为 pickle 文件,以后可以重新使用它,而且可以得到相同的结果。 兼容 scikit-learn:它可以像其他转换器一样接受类似数组的数据集,可以无缝地与 scikit-learn 的 ...
数据集与 Notebook 数据集:70 Dog Breeds-Image Data Set Notebook:「ResNet-18」70 Dog Breeds-Image Classification 环境准备 12import warningswarnings.filterwarnings('ignore') 禁用警告,防止干扰。 1!pip install lightning --quiet 安装 PyTorch Lightning。 1234567import randomimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snssns.set_theme(style="darkgrid", font_scale=1.5, font="SimHei", rc={"axes.unicode_minus":False}) 导入常用的库,设置绘图风格。 123456 ...