- 博客(62)
- 收藏
- 关注
原创 【从决定论到分布论】:统计学最关键的一次思想革命
从拉普拉斯、高斯到卡尔·皮尔逊,本质上不是统计方法的简单升级,而是一次彻底的世界观革命:拉普拉斯时代,我们追求“唯一真值”,把不确定性(误差)当成敌人,试图消灭它;皮尔逊时代,我们接受“不确定性”,把分布当成研究对象,试图描述它、理解它。皮尔逊虽然没有解决“无限套娃”和“小样本”的问题,但他迈出了最关键的一步——他让“概率分布”正式成为科学研究的核心对象,而不是“误差的附属品”。这也为后来戈赛特(t检验)、费希尔(极大似然估计、ANOVA)的突破,埋下了最重要的伏笔。
2026-04-19 16:49:17
385
原创 【Python爬虫】验证码识别技术
本文介绍了爬虫开发中验证码识别的关键技术,包括文字验证码和计算型验证码的解决方案。重点讲解了使用ddddocr库处理文字验证码的方法,包括颜色过滤预处理技术,以及利用超级鹰API识别计算型验证码的流程。文章还提供了提高识别准确率的实用技巧和注意事项,帮助开发者有效应对网站反爬机制,同时强调了遵守法律法规的重要性。
2026-04-16 02:00:50
1426
原创 【爬虫脚本自动化录制】playwright codegen使用教程
在做 Web 自动化测试、爬虫脚本开发时,手动写定位、写操作步骤往往耗时又容易出错。Playwright 官方提供了一个codegen,只需要在浏览器里用鼠标点击,就能自动生成可直接运行的 Python/Java/JS 自动化代码,极大提升开发效率。codegen是 Playwright 内置的交互式录制工具记录鼠标点击、输入、选择、滚动、切换页面等操作实时生成高质量、可直接运行的代码自动识别 iframe、弹窗、下拉框等复杂场景。
2026-04-14 09:11:04
2102
原创 【Python 异步编程入门】:彻底弄懂 async&await
最近在写爬虫(尤其是多分片ts视频下载)、高并发请求相关的代码时,发现在接触 Python 的为什么 async 定义的函数直接调用不执行?await 到底是干嘛的?异步代码的执行顺序和同步到底有啥区别?遇到 await 程序到底是挂起还是等待?本篇就用大白话+通俗例子+代码实例asyncawait,不讲晦涩术语,新手也能轻松吃透,看完直接上手写异步代码!async 修饰 → 协程函数,非普通函数直接调用 → 返回协程对象,不执行代码必须配合 await/事件循环,才能真正运行。
2026-03-31 14:59:09
595
原创 【Python爬虫常见错误】- AJAX动态加载数据爬取
摘要: 爬虫新手常遇页面可见视频链接但解析失败的问题,核心原因是浏览器渲染后的DOM(含JS动态内容)与服务器返回的原始HTML不同。视频链接通常通过AJAX动态加载,而requests等工具无法执行JS获取后续内容。解决方案包括:1) 抓包定位AJAX接口直接获取JSON数据;2) 使用Selenium等工具模拟浏览器执行JS;3) 正则提取JS代码中的链接。关键要区分Elements面板(动态渲染结果)与网页源代码(静态HTML),并理解爬虫仅能获取初始响应。建议优先采用抓包法,复杂场景再用浏览器自动化
2026-03-31 14:56:11
803
原创 【Data Mining】01抽样技术
摘要:本实验使用R语言的iris数据集,介绍了四种常见抽样方法:简单随机抽样(有放回/无放回)、分层抽样(按Species分组抽样)、整群抽样(随机选择完整群体)以及训练集/测试集划分(75%:25%)。实验详细演示了每种方法的R实现代码,包括数据加载、分组处理、样本抽取等技术要点,帮助学习者掌握数据挖掘中的基础抽样技术。通过实践操作,可以理解不同抽样方法的应用场景和实现方式,为后续数据分析工作奠定基础。
2026-03-11 21:24:06
479
原创 【Rmarkdown】快速入门
本文介绍了R Markdown文档在RStudio中的创建与使用流程。首先通过新建项目向导对话框配置文档类型(文档/演示文稿/Shiny应用)、元数据(标题/作者/日期)和输出格式(HTML/PDF/Word)。生成的.Rmd文件包含YAML配置、代码块和Markdown文本,支持源代码和可视化两种编辑模式。导出时点击Knit按钮选择格式即可生成最终文档。文章还详细说明了代码块参数设置,包括控制代码执行(eval)、结果显示(include/echo)、图形输出(fig.width/fig.cap)等选项,
2026-03-11 19:16:24
654
原创 【manim】绘制爱心动画
这篇文章展示了一个使用Manim库创建的心形动画效果。代码通过组合正方形和两个圆形,旋转45度后形成心形基础图形,然后逐步添加动画效果:包括图形创建、透明度变化、缩放等。最后在图形下方添加了彩虹渐变色的文字"romantic to the death"。运行命令"manim -pql heart_animation.py HeartShape"可生成预览质量的动画。整个动画简洁地演示了如何用Manim创建基本图形组合和动画效果。(135字)
2025-11-01 10:49:11
298
原创 【GSR】皮肤电反应 数据分析全流程教程
数据预处理是整个信号分析流程的基础步骤,其主要任务是对所有被试的原始 GSR 数据进行批量读取、分段、整合与清洗。实验共包含两个组别,分别为 A 组(Control,对照组)与 B 组(Alcohol,实验组)。每位被试在多个飞行天数(FlightDay)内完成任务,而每个任务又划分为若干实验阶段,如 Baseline、Takeoff、Turn、Cruise、Landing 等。本次分析流程完整覆盖了从原始信号到统计建模的全过程。阶段核心要点注意事项数据提取自动批处理与事件配对。
2025-11-01 10:09:05
1193
原创 【深度学习详解】卷积神经网络CNN
CNN通过局部感受野、参数共享和池化三大机制实现高效图像识别。局部感受野模拟人类视觉,逐层扩大以捕捉复杂特征;参数共享利用空间不变性,显著降低参数量;池化则压缩特征图尺寸,保留显著特征。设计时需遵循层级传递规则,如浅层用小感受野捕捉边缘,深层用大感受野识别物体。经验表明,通道独立性假设允许单卷积核处理多通道,而Max Pooling优于Mean Pooling以保留细节。高精度任务建议使用空洞卷积替代池化。
2025-08-10 03:14:39
759
原创 【YOLOv11】目标检测任务-实操过程
在根目录新建一个python文件,取名为:train_test_split.pyimport os# 设置参数# 创建输出文件夹# 获取标签文件列表# 划分数据集# 定义文件复制函数try:print(f"文件 {img_source_path} 或 {txt_source_path} 未找到。")print(f"复制文件时发生错误: {e}")# 复制训练集文件# 复制验证集文件# 复制测试集文件print("数据集划分完成!")
2025-03-29 16:47:17
3170
2
原创 【构建CV图像识别系统】从传统方法到深度学习
从像素、过滤、卷积,到传统的边缘检测、角点检测,再到基于深度学习的 CNN,图像识别系统经历了从手工设计特征到自动特征学习的巨大转变。虽然传统方法在理解上更直观,但深度学习凭借其强大的端到端特性,已成为当前图像识别领域的主流技术。未来,随着计算能力和数据量的不断提升,我们有理由相信图像识别技术将在更多领域实现突破,并推动智能系统的发展。通过对基本概念和关键技术的深入理解,我们不仅能更好地构建图像识别系统,还能为解决更复杂的视觉任务打下坚实基础。
2025-03-21 12:52:10
1195
原创 【推荐系统】由浅入深
在互联网时代,推荐系统已经成为各大平台提升用户体验和增加用户粘性的重要工具。无论是电商平台的商品推荐,还是视频平台的内容推荐,其核心思想都是通过计算对象之间的相似度,为用户提供个性化的推荐结果。本文将详细介绍三种常见的相似度计算方法及其优缺点,并探讨基于内容和协同过滤两大推荐系统算法的原理、优缺点以及选择策略。
2025-03-18 09:31:09
616
原创 【Gaussian Model】高斯分布模型
高斯分布(又称正态分布)是最常见的概率分布之一,具有对称性和钟形曲线的特点。对于一维数据xxxpx12πσ2exp−x−μ22σ2px2πσ21exp−2σ2x−μ2μ\muμ为均值,表示数据的中心位置。σ2\sigma^2σ2为方差,表示数据的离散程度。在多维情况下(特征维度为nnnpx12πn2∣Σ∣12exp−12x−μTΣ−1x−μpx。
2025-03-05 16:41:56
1400
原创 【无监督学习】异常检测算法
异常检测指的是识别数据集中不符合正常模式的样本。监督学习:需要正常样本和异常样本的标注,适用于已知异常类型的情况。半监督学习:仅使用正常样本进行训练,异常样本在训练阶段不可见。无监督学习:不需要任何数据标注,直接从数据分布中推测异常样本。无监督异常检测的核心思想是利用数据的统计特性或结构化模式,识别那些与多数数据不同的样本。在很多实际应用中,我们并不总是能事先获得异常数据的样本,因此无监督方法特别适用于未知异常类型的检测任务。无监督异常检测算法在各种实际场景中具有重要作用。
2025-03-05 16:35:53
1895
原创 决策树 vs 神经网络:何时使用?
如果你需要一个易解释、快速训练的模型,且数据量较小,选择决策树。如果你的任务是复杂的非线性映射,且数据量较大,选择神经网络。在某些情况下,二者可以结合使用,以取长补短。选择合适的算法,才能最大化地发挥机器学习的价值!💡。
2025-02-27 17:26:43
1915
原创 深入浅出地理解-随机森林与XGBoost模型
随机森林通过多个决策树的集成来提升模型的稳定性和鲁棒性,能够很好地应对复杂的分类与回归问题。其优点在于减少过拟合、提高鲁棒性,但相对于其他集成方法,计算效率可能稍差。XGBoost作为一种高效的Boosting算法,采用了更多的优化措施,能够在计算效率和预测精度之间取得平衡。其强大的正则化功能使其在许多机器学习竞赛中表现突出。在实际应用中,选择哪种模型取决于任务的特点、数据的规模以及对模型训练效率的要求。通过合理调整模型的超参数,我们能够使得这些强大的算法在不同任务中发挥最大作用。
2025-02-27 17:23:19
2055
原创 【Logistic Regression】机器学习中的基础分类模型
范围,从而将问题转化为概率预测,适用于二分类问题。通过最小化该损失函数,可以优化模型参数,使预测结果更接近真实情况。为了训练逻辑斯蒂回归模型,需要定义一个损失函数来衡量模型预测与真实标签之间的差异。Sigmoid 函数将线性回归的输出结果压缩到 0 和 1 之间,因此它非常适合表示概率。线性回归预测的是一个连续值,而逻辑斯蒂回归预测的是概率值,通常用于分类任务。与线性回归不同的是,逻辑斯蒂回归通过。区间,从而输出一个概率值,表示事件发生的可能性。与线性回归不同,逻辑斯蒂回归的损失函数使用。
2025-02-14 06:55:03
962
原创 【Address Overfitting】解决过拟合的三种方法
手动选择:结合领域知识,直接剔除与任务无关的特征。统计方法:使用统计学工具(如皮尔逊相关系数)计算特征与目标变量之间的相关性。模型辅助选择Lasso回归:利用L1L_1L1正则化,将不重要的特征权重收缩到000;递归特征消除(RFE):逐步移除最不重要的特征,观察模型性能变化。方法适用场景优点缺点增加数据数据不足或噪声较多的场景从根本上解决问题,提升泛化能力数据获取成本高特征选择高维数据或数据中包含无关特征降低模型复杂度,提升训练效率激进选择可能导致信息丢失正则化。
2025-01-24 22:32:34
3054
原创 【Feature Scaling】:加速梯度下降法的利器
特征缩放是数据预处理中不可忽视的一步,其核心目的是加速梯度下降法的收敛,同时提高模型的训练效率。根据数据的特性和模型的需求,可以选择最小-最大缩放、标准化或最大绝对值缩放等方法。在实际应用中,结合对数据分布的理解选择合适的缩放方式,能让你的机器学习模型更高效、更准确!其主要目的是使数据的特征值具有相似的范围,从而加速梯度下降法的收敛,提高模型的训练效率。在机器学习中,数据集的特征往往具有不同的量纲和范围。这种情况下,不同特征对梯度下降的贡献可能相差甚远,导致梯度下降收敛变慢,甚至可能陷入局部最优。
2025-01-24 22:07:51
872
原创 【NumPy进阶】:内存视图、性能优化与高级线性代数
内存视图与拷贝:理解何时使用视图、何时使用拷贝。性能优化技巧:利用向量化、合适的数据类型和并行计算来提升性能。高级线性代数运算:使用np.linalg模块解决复杂的线性代数问题。继续练习这些概念和技巧,将帮助你在数据科学、机器学习和科学计算领域更上一层楼!
2024-12-10 20:51:01
1476
原创 【NumPy】使用numexpr和Numba加速运算
在处理大规模数据时,优化计算性能是至关重要的。`numexpr` 和 `Numba` 是两个强大的工具,它们可以显著提高 Python 代码的执行速度。本文将详细介绍这两个库的特点、应用场景及使用示例,帮助你在数据处理过程中节省时间和计算资源。
2024-12-10 20:48:57
1711
原创 【提高效率】Jupyter Notebook 常用快捷键
这些快捷键可以大大提高你在 Jupyter Notebook 中的工作效率,帮助你更快速地进行数据分析和开发。掌握这些快捷键,能够让你更流畅地操作 Jupyter Notebook,提升工作效率。Jupyter Notebook 是一个强大的工具,广泛应用于数据分析、机器学习、科研等领域。本文将介绍一些常用的快捷键,帮助你更高效地使用 Jupyter Notebook。在命令模式下,你可以操作单元格的结构,比如插入、删除、复制等。在编辑模式下,你可以编辑单元格的内容。
2024-12-10 20:26:12
920
原创 深入理解 NumPy 广播机制:从基础到应用
广播机制是 NumPy 中用于处理不同形状数组之间算术运算的一种方法。当两个数组的形状不完全相同时,NumPy 通过自动扩展(广播)较小的数组来匹配较大的数组,从而使它们能够进行逐元素运算。这种机制避免了手动调整数组形状的繁琐过程,大大提高了代码的简洁性和执行效率。自动扩展:通过广播机制,NumPy 可以自动扩展数组来匹配形状进行运算。简洁高效:避免了显式地调整数组形状,提高了代码可读性和性能。广播规则:理解广播的三条规则可以帮助你快速判断数组是否可以进行广播运算。
2024-12-09 20:31:10
1508
原创 【信息论基础】- 信息量、香农熵、交叉熵与 KL 散度详解
信息量:衡量单个事件的罕见程度。香农熵:衡量整个随机变量的不确定性。交叉熵:衡量用预测分布qxq(x)qx编码真实分布pxp(x)px的代价。KL 散度:衡量两个概率分布之间的差异,是交叉熵与熵的差。这些概念在信息论和机器学习中具有广泛的应用,如数据压缩、自然语言处理和深度学习中的模型优化。理解它们,可以帮助我们更好地理解和改进各种算法和模型。希望这篇博客对你有所帮助!如果你有任何疑问或想进一步探讨,欢迎在评论区留言!
2024-12-09 09:32:59
2301
原创 Manim中的三大核心对象:Scene、Mobject和Animation
在 Manim 中,SceneMobject和AnimationScene:管理整个动画的容器,定义了动画的结构和流程。Mobject:所有对象的基类,代表场景中的所有可视化元素,如图形和文本。Animation:控制对象的变化,通过时间插值产生动画效果。这三者的协同作用使得 Manim 可以制作出复杂而精美的数学动画。通过理解这三个核心对象的作用和关系,你可以更加高效地使用 Manim,创作出多种富有表现力的动画效果。希望通过这篇文章,你能对 Manim 的核心概念有一个清晰的理解。
2024-12-03 06:00:00
1097
原创 【概率论】分布函数的定义与应用:从直观到数学形式
对于一个随机变量XXX,分布函数FxF(x)FxFxPX≤xFxPX≤x即FxF(x)Fx是XXX取值“小于等于xxx”的概率。它反映了随机变量取值的累计概率分布。本文从直观实例出发,逐步引入分布函数的定义、性质和计算方法。我们不仅探讨了离散型与连续型分布函数的差异,还通过实例展示了分布函数的应用。在实际应用中,分布函数被广泛用于统计分析、数据建模和工程问题中。未来的内容中,我们将进一步探讨分布函数与统计学其他概念(如分位数、概率图)的联系。
2024-11-27 14:09:39
4461
原创 【科研绘图】Matplotlib 教学
Matplotlib 是 Python 中最流行的数据可视化库之一,特别适合静态图表绘制。它有着灵活的 API,可以轻松实现定制化的图表。Matplotlib 是一个功能强大的工具,本教程介绍了从基础到高级的用法。建议大家多动手练习,逐步掌握每个模块。
2024-11-25 19:48:36
1274
原创 【科研绘图】Matplotlib 中文字符乱码(debug)
通过设置中的和,你可以轻松解决中文显示不正常的问题,并确保图表中的中文和负号正确显示。你也可以通过指定字体文件路径来使用其他特定字体。
2024-11-25 19:35:26
1053
原创 【机器学习】- 模型复杂度vs模型误差
模型复杂度与模型误差之间的关系是机器学习中的核心问题。通过理解偏差与方差的权衡,我们可以设计出泛化能力强的模型,从而更好地解决实际问题。在统计和机器学习中,方差描述的是模型预测值的分布范围,即:当训练数据发生变化时,模型预测值的变化程度。方差Ey−Ey2\text{方差} = \mathbb{E}\left[(\hat{y} - \mathbb{E}[\hat{y}])^2\right]方差Ey−Ey2y\hat{y}y表示模型的预测值;EyEy。
2024-11-22 00:09:54
1243
原创 【机器学习】- L1&L2 正则化操作
正则化是控制模型复杂度的重要方法,通过引入 L1 或 L2 正则化项,既可以提高模型的泛化能力,又可以在某些场景下实现特征选择。合理设置正则化强度λ\lambdaλ,能够帮助模型在偏差与方差之间取得良好的平衡。
2024-11-22 00:02:47
1049
原创 深入理解马尔可夫链:无记忆性的随机过程
马尔可夫链的基本组成要素是状态和状态空间。状态:系统可能处于的不同情况。例如,如果我们模拟天气变化,天气的不同状况(如“晴天”、“雨天”)就是系统的状态。状态空间:所有可能状态的集合,通常用 ( S ) 来表示。如果我们将天气模型的状态定义为“晴天”与“雨天”,那么状态空间 ( S ) 就是 ({晴天雨天\text{晴天}, \text{雨天}晴天雨天})。马尔可夫链是一个强大的工具,用于描述和预测具有随机性质的系统。其核心特点是“无记忆性”,即未来状态只依赖于当前状态而与历史无关。
2024-11-15 06:00:00
1881
原创 【随机过程】简介:从简单到复杂的探索
随机过程是一个随机变量序列,通常用来描述那些随着时间或空间变化而发生的随机事件。它包含了一系列的随机变量,这些变量的取值在时间上可能是离散的,也可能是连续的。时间:时间可以是离散的(例如,时间是整数:第1秒、第2秒等),也可以是连续的(例如,时间是实数:从0秒到1秒之间的任意时间点)。状态:每个时间点上的随机变量代表该时刻系统的状态。例如,在金融市场中,状态可能代表股票的价格。随机过程是用来描述随时间变化的随机现象的数学模型。
2024-11-14 21:15:07
2206
原创 【混沌理论】介绍
在动力系统中,吸引子描述的是系统长期行为的最终状态。吸引子反映了系统随时间演化后的稳定模式,即当时间趋于无穷时系统的状态会被吸引到的状态。
2024-11-13 22:35:44
4199
原创 【数理哲学】决定论与混沌理论
(Determinism)指的是一种哲学和科学理论,认为宇宙中所有的事件都是由先前的事件决定的。也就是说,如果我们知道系统的初始状态和所有影响它的因素,就可以精确预测该系统未来的状态。这揭示了决定论的一个局限性:即使系统是完全由先前的条件决定的,但实际的预测可能性仍然受到初始条件测量精度的限制。混沌理论表明,在许多系统中,即使所有的规则和公式都已知,长期预测依然是不可能的。总的来说,混沌理论为科学提供了一种新的视角,表明复杂的动态系统可以是决定性的,但因其对初始条件的极端敏感性而表现出难以预测的混乱行为。
2024-11-13 06:00:00
1021
原创 【Discrete Convolution】离散卷积&快速傅里叶变换(FFT)
在离散信号处理中,卷积是一种将两个信号序列相互组合以生成新序列的运算。它用于测量两个序列的相似性、检测信号中的特征或执行滤波操作。ynx∗hn∑k−∞∞xkhn−kynx∗hnk−∞∑∞xkhn−k这个定义描述了将序列 ( h ) 反转并平移后与序列 ( x ) 的逐元素乘积再求和。
2024-11-12 19:03:11
2549
原创 【Transformer】损失函数-交叉熵损失
交叉熵损失用于衡量模型的预测分布与真实分布之间的差异。−∑i1Nyilogpi−i1∑NyilogpiNNN) 是目标词汇的总数;yiy_iyi) 是目标序列中每个词的真实标签;pip_ipi) 是模型对每个词的预测概率。对于每个时间步,交叉熵损失会根据模型的预测概率与真实标签的匹配程度计算损失值,并将所有时间步的损失求和,得出序列的整体损失。
2024-11-12 06:00:00
4489
原创 【Transformer】模型输出模块处理
交叉注意力后得到的词向量会经过线性变换,得到一个与词汇表大小相同的 logits 向量。softmax被应用于 logits 向量,将其转换为一个概率分布。解码器根据概率选择下一个词(最大概率的词)。选定的词会被作为输入传递给解码器,进行下一轮预测。
2024-11-11 22:17:42
1611
原创 【Word2Vec】传统词嵌入矩阵训练方法
Word2Vec是一种词嵌入模型,主要通过无监督学习来训练词汇的稠密向量表示。它通过分析大量的语料库,学习到每个词(token)在该语料库中的上下文关系。Word2Vec 使用神经网络模型来生成每个词的嵌入向量,嵌入向量的维度通常远小于词汇表的大小。
2024-11-11 21:27:56
1225
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅