- 博客(35)
- 收藏
- 关注
原创 机器学习进阶(24):主成分分析PCA
PCA降维技术解析 PCA(主成分分析)是一种有效的数据降维方法,通过线性变换将高维数据投影到低维空间。其核心思想是找到数据方差最大的方向(主成分),保留最重要的信息同时减少冗余特征。PCA通过标准化数据、计算协方差矩阵、提取特征向量等步骤,选择最具代表性的主成分进行降维。这种方法能显著提升模型训练效率(计算量减少50%以上)、增强稳定性(过拟合风险降低30-40%)并改善数据可解释性。典型应用场景包括处理图像/文本等高维数据、消除特征相关性以及加速大规模计算。尽管PCA在线性关系处理上表现优异,但对非线性
2026-04-24 13:44:39
450
原创 机器学习进阶(23):K-means聚类
K-means聚类是一种经典的无监督学习算法,用于在没有标签的数据中发现结构。其核心思想是将数据分成K组,通过迭代更新中心点使组内数据尽可能相似。算法流程包括随机初始化K个中心点、分配样本到最近中心、重新计算中心点直至收敛。K-means适用于用户分群、客户画像等场景,优点在于简单高效,但需要预先确定K值且对初始中心敏感。与分类不同,聚类是发现而非学习数据中的结构。关键点在于:K-means通过优化组内相似度,自动将数据划分为K个紧凑的簇。
2026-04-24 10:02:09
481
原创 机器学习进阶(22):朴素贝叶斯
摘要: 朴素贝叶斯是一种基于概率的分类模型,其核心思想是通过计算样本特征在不同类别下的出现概率来判断类别归属。它采用“朴素”假设,即特征之间相互独立,虽不完全成立,却在文本分类等任务中表现优异。模型通过贝叶斯公式比较后验概率,分为高斯、多项式和伯努利等变体以适应不同数据类型。其优势在于训练速度快、适合高维稀疏数据(如词频特征),常作为基线模型。尽管假设简化,但因趋势捕捉准确且分类需求相对宽松,朴素贝叶斯在垃圾邮件识别、情感分析等场景中依然高效实用。代码示例展示了如何用词频特征快速实现文本分类。
2026-04-22 13:19:21
1053
原创 机器学习实战(21):项目监控
很多人一开始做机器学习项目的时候,会把“上线”想成一个终点。线下训练好了。测试集也过了。接口接好了。模型发到线上。好像项目就结束了。而真实世界有一个很麻烦的特点:它不会老老实实保持不变。用户会变。场景会变。业务规则会变。流量来源会变。数据质量也会变。所以机器学习模型上线以后,不是“放那儿自动一直有效”,而是需要你持续盯着看。
2026-04-22 10:34:56
391
原创 机器学习实战(20):数据分布变化带来的影响
摘要 机器学习模型在线下表现良好但上线效果不佳的常见原因是数据分布变化。这指的是模型训练时的数据分布与线上实际数据分布不一致,导致模型在新环境中表现下降。常见的数据分布变化类型包括:输入特征分布变化(covariate shift)、标签规律变化(concept drift)和标签分布变化。此外,线上线下特征工程不一致也可能造成类似现象。为预防这类问题,建议采用时间切分而非随机切分的评估方式,进行分群评估,并实施滚动验证。当发现数据分布变化时,最直接的解决方案是用新数据重新训练模型。关键在于让离线评估尽可能
2026-04-21 10:56:49
477
原创 机器学习实战(19):如何做一个完整的项目
本文系统梳理了机器学习项目从问题定义到上线前的完整流程。首先强调问题定义的重要性,包括明确预测目标、任务类型和业务应用场景。其次指出需要评估项目可行性,考虑数据质量、标签定义和预测时点等关键因素。在建模环节,建议先建立简单baseline而非追求复杂模型,重点做好特征工程和数据评估。最后强调模型调优应基于错误分析,而非盲目调参。全文突出"机器学习项目真正的难点在于前后端链路整合,而非单一模型训练",为读者提供了一份实用的项目实践指南。
2026-04-21 10:24:50
411
原创 机器学习实践(18.5):特征工程补充
特征工程的数学本质:改变模型的数据视角 本文从数学角度揭示了特征工程的核心价值:通过改变输入空间的表达方式,让模型更容易学习数据中的规律。关键点包括: 特征工程不是改变模型本身,而是改变模型"看到"问题的视角。模型能力不仅取决于算法,更取决于输入特征空间的表达方式。 通过特征映射(如多项式扩展),简单的线性模型也能表达复杂非线性关系。例如添加x²特征后,线性模型可以拟合抛物线。 特征组合和分箱等操作本质上是将隐含的模式显式化,使模型更容易捕捉特征间的交互作用和分段规律。 标准化等预处理实
2026-04-20 09:17:46
437
原创 机器学习实践(18):特征工程
摘要:特征工程是机器学习的核心环节,其本质是将原始数据转化为更适合模型学习的表达形式。文章指出,好特征往往比更换复杂模型更有效,因为模型性能很大程度上取决于输入特征的质量。特征工程主要包括数据清洗、特征变换、组合和筛选四类操作,其中业务理解是关键,需要将领域知识转化为有效特征。同时需警惕数据泄漏和特征过多带来的问题,如过拟合和噪声干扰。文章通过多个实例说明,特征工程的核心在于提取真正驱动业务的关键信号,而非简单堆砌原始数据。
2026-04-14 10:20:21
1068
原创 机器学习进阶(17.5)
本文通过数学推导解释了机器学习中的偏差-方差分解公式:Error = Bias² + Variance + Noise。首先定义了真实函数、模型预测和噪声的关系,然后逐步拆解误差来源:偏差反映模型表达能力不足,方差体现模型对数据波动的敏感性,噪声则是数据固有不可消除的随机性。文章指出模型复杂度与偏差/方差的权衡关系——简单模型偏差高方差低,复杂模型偏差低方差高,形成典型的U型测试误差曲线。最后强调机器学习的关键在于找到偏差和方差的最佳平衡点,这一理论框架统一解释了正则化、集成学习等方法的作用机制,为模型调优
2026-04-14 10:18:13
370
原创 机器学习进阶(17):偏差和方差
摘要:机器学习中的偏差和方差反映了模型在"学不够"和"学太多"之间的平衡问题。偏差大的模型过于简单,无法捕捉数据规律(欠拟合);方差大的模型过于复杂,容易记住噪声(过拟合)。理想状态是找到模型复杂度与泛化能力的平衡点。不同算法参数调整本质上都是在调节偏差-方差权衡。理解这一概念有助于避免盲目追求模型复杂度,选择最适合的模型表现。
2026-04-10 13:45:43
410
原创 机器学习进阶(16.5):如何防止过拟合补充篇
摘要: 本文从数学角度解释了防止过拟合的各种方法本质上都是通过控制模型复杂度来实现的。通过分析损失函数、正则化(L1/L2)、决策树剪枝、早停、随机森林、GBDT学习率、SVM等方法的数学原理,揭示了它们都通过限制参数大小、减少特征维度、降低模型自由度等方式来平衡偏差和方差。文章指出,虽然这些方法形式不同,但核心目标一致:适度增加训练误差以降低方差,从而提升模型泛化能力。这种统一视角有助于理解机器学习算法的本质。
2026-04-10 13:44:40
356
原创 机器学习进阶(16):如何防止过拟合
摘要 过拟合是指模型过度学习训练数据的细节和噪声,导致在新数据上表现不佳。防止过拟合的核心思路是“收一收”模型能力,而非一味增强。主要方法包括: 控制模型复杂度:限制决策树深度、随机森林单棵树强度、GBDT学习率等,避免模型过于复杂。 剪枝:通过预剪枝或后剪枝去除冗余分支,提升泛化性。 正则化(L1/L2):惩罚过大参数,平衡误差与模型复杂度。 早停:在验证集性能下降时终止训练,防止过度拟合噪声。 数据增强与扩增:通过多样化数据让模型学习稳定规律。 特征筛选:减少冗余或噪声特征,降低过拟合风险。 引入随机性
2026-04-09 13:50:11
434
原创 机器学习进阶(15):过拟合
摘要 过拟合是机器学习中常见的问题,指模型在训练集上表现优异但在验证集上表现显著下降的现象。本文深入剖析了过拟合的本质和发生机制: 本质原因:模型不仅学习了数据中的真实规律,还记住了训练数据中的噪声、异常点和局部细节,导致泛化能力下降。 典型表现:训练集准确率(如99%)远高于验证集准确率(如84%),训练损失很低但验证损失明显更高。 关键影响因素: 模型复杂度过高时,会用多余能力记忆训练数据细节 数据量太少时,模型容易把随机波动当作规律 训练时间过长时,模型可能从学习规律转向记忆噪声 判断方法: 比较训练
2026-04-09 10:01:24
530
原创 机器学习进阶(14):交叉验证
本文深入解析了交叉验证的核心作用:解决单次验证集划分的偶然性问题。当数据量不大或分布不均时,单次验证结果可能不稳定,交叉验证通过K折轮流验证(常见5折或10折)来获得更可靠的评估。特别适用于模型选择和参数调优,分类任务中常用分层K折保证类别比例均衡。文章强调交叉验证不能替代测试集,时间序列数据需特殊处理,并指出其本质是提升评估可信度而非直接改进模型。通过代码示例展示了交叉验证与调参的结合使用,阐明这是一种重要的机器学习实验习惯。
2026-04-07 15:10:07
684
原创 机器学习进阶(13.5):SVM补充
本文深入解析了SVM中几个关键参数的核心作用: 间隔与优化目标:SVM通过最大化分类边界与最近样本间的间隔来提升稳定性,优化目标是使边界尽量平缓(最小化|w|)。 软间隔的必要性:引入松弛变量ξ允许部分样本违反间隔约束,通过参数C控制对错误的容忍度: C大:模型较真,易过拟合 C小:模型宽容,泛化性好 核函数本质:通过核技巧隐式映射到高维空间处理非线性可分数据,避免显式高维计算。重点介绍了三种核函数: 线性核:直接处理线性可分数据 多项式核:捕捉特征高阶组合 RBF核(高斯核):基于局部相似性处理复杂边界
2026-04-07 10:53:49
449
原创 机器学习进阶(13):支持向量机SVM
支持向量机(SVM)是一种独特的机器学习算法,它通过寻找"最优间隔超平面"来分类数据。与简单寻找分类线不同,SVM追求的是离两边样本都尽可能远的分界线,以获得更稳定的分类效果。关键概念包括:支持向量(决定边界位置的关键样本点)、间隔(分类边界到两侧样本的距离)和核函数(处理非线性问题的技巧)。SVM特别适合中小规模数据集,能有效处理高维特征,但需要仔细调整参数如惩罚系数C和核函数类型。虽然训练大数据集时速度较慢,但SVM在追求稳健分类边界的场景中表现出色。
2026-04-05 14:57:42
2196
原创 机器学习进阶(12.5):树模型调参
本文深入探讨了树模型调参与特征重要性的数学原理。在调参方面,分析了随机森林通过增加树数量和降低树间相关性来减少方差,GBDT则通过控制学习率、树深度等参数平衡偏差与方差。特征重要性方面,介绍了基于分裂纯度提升和置换重要性两种计算方法,并指出高重要性不等于因果关系、相关特征会分摊重要性等注意事项。理解这些原理有助于更科学地进行模型调优和特征分析,避免盲目操作。
2026-04-05 14:41:40
375
原创 机器学习进阶(11.5):梯度提升树补充
摘要:梯度提升树(GBDT)通过逐步优化损失函数实现预测修正。其核心是:1)初始预测为常数;2)每棵树拟合当前模型的负梯度(残差);3)通过学习率控制更新幅度。GBDT使用浅层树作为弱学习器,通过多轮迭代逐步逼近真实值。该方法支持多种损失函数(平方误差、交叉熵等),结合梯度下降与树模型优势,相比随机森林能更精细地捕捉复杂规律。关键参数包括学习率(控制修正幅度)和树深(影响模型稳定性)。
2026-04-04 17:00:00
350
原创 机器学习入门进阶(10.5):随机森林补充
本文阐述了随机森林通过Bagging和OOB实现稳定预测的原理。Bagging通过有放回采样训练多棵树,利用投票或平均降低方差;OOB则利用未参与训练的样本作为天然验证集。随机特征选择增强了树间独立性,进一步降低方差。此外,通过分析分裂纯度或置换测试可评估特征重要性。这些机制使随机森林比单棵树更稳定可靠,同时保持可解释性。
2026-04-04 12:37:28
222
原创 机器学习进阶(9.5):决策树补充
本文介绍了决策树如何选择最优分裂特征的核心指标——信息增益和基尼指数。首先解释信息熵作为衡量数据不确定性的指标,当节点样本类别越纯时熵值越低。然后说明信息增益的计算方法,即分裂前后熵的差值,增益越大说明该特征分裂效果越好。文章还介绍了基尼指数这一替代指标,其作用与熵类似但计算更高效。通过具体例子展示了如何计算基尼指数并选择最优分裂特征。最后总结决策树通过不断寻找能最大化提升数据纯度的特征来进行分裂,从而构建分类模型。全文简明扼要地阐述了决策树分裂特征选择的数学原理。
2026-04-03 18:26:03
200
原创 机器学习进阶(12):树模型调参
树模型调参与特征重要性分析 树模型调参的核心在于平衡模型复杂度和泛化能力。决策树需控制过拟合,常用参数包括max_depth、min_samples_split等限制树深和节点样本数。随机森林在此基础上增加n_estimators控制树的数量,max_features增强多样性。GBDT类模型更关注学习率(learning_rate)和树的数量(n_estimators)的平衡,通常采用"低学习率+多棵树"的策略。 特征重要性分析时需注意:重要性高的特征确实影响大,但可能受相关特征干扰,
2026-04-03 18:21:50
1183
原创 机器学习入门(11):梯度提升树
摘要:梯度提升树(GBDT)是一种集成学习方法,通过让每棵树依次修正前一棵树的残差来提升预测精度。相比随机森林的并行投票机制,GBDT采用顺序训练方式,每棵树专注于修正错误,从而获得更精细的预测效果。文章介绍了GBDT的核心思想、与随机森林的对比、残差学习机制、Python实现示例及关键参数调优建议。虽然GBDT训练速度较慢且对异常值敏感,但其预测精度高,并能处理复杂非线性关系。工业界优化版本如XGBoost、LightGBM和CatBoost都基于相同原理。
2026-04-02 12:03:57
607
原创 机器学习进阶(10):随机森林
随机森林是一种集成学习方法,通过构建多棵决策树并投票决策来解决单棵决策树容易过拟合的问题。其核心思想是:1)随机采样训练数据(Bootstrap采样),使每棵树看到不同数据;2)随机选择特征进行分裂,增加树的多样性。相比单棵决策树,随机森林具有更强的泛化能力、对异常值不敏感等优点,但可解释性较差、预测速度较慢。Python中可用sklearn轻松实现,常用参数包括树的数量、深度等。随机森林适合作为基线模型,因其对数据预处理要求低且表现稳健。
2026-04-02 10:16:06
742
原创 机器学习进阶(9):决策树
决策树是一种直观的机器学习算法,模拟人类逐步判断的过程。它通过二叉分支的问答流程进行分类,每个节点提出问题,分支对应答案,最终到达叶子节点得到预测结果。决策树选择信息增益最大的特征进行分裂,以提高数据纯度。其优势包括直观可解释、无需标准化、处理混合特征能力强,但容易过拟合且对数据波动敏感。实际应用中常通过限制树深度、设置叶子最小样本数等方法防止过拟合。与KNN相比,决策树解释性更强、预测更快,适合入门和特征探索。决策树是随机森林和梯度提升树等更复杂算法的基础。
2026-03-31 13:24:31
773
原创 机器学习进阶(8):KNN
KNN(K近邻)是最直观的机器学习算法之一,其核心思想是通过"看邻居"进行分类:一个新样本的类别由其最近的K个训练样本的多数类别决定。文章通过学生考试预测的案例生动解释了KNN的工作原理,并详细讨论了K值选择、距离计算、特征标准化等关键概念。作为"懒惰学习"算法,KNN没有传统训练过程,而是存储所有训练数据,在预测时实时计算距离。虽然KNN简单易懂、能处理复杂边界,但也存在预测速度慢、对噪声敏感等缺点。文章最后强调,KNN的核心直觉"相似样本有相似结果&qu
2026-03-31 12:42:37
519
原创 机器学习进阶(7):模型评估
这篇文章深入探讨了机器学习模型评估的关键问题,指出单纯依赖准确率(Accuracy)的局限性。文章通过医疗筛查案例说明,98%的准确率可能掩盖模型漏诊所有真实病例的严重问题,揭示了类别不平衡时的评估陷阱。 核心观点包括: 分类问题应关注混淆矩阵的四种结果(TP/TN/FP/FN),不同错误类型的代价各异 精确率(Precision)衡量模型预测正类的准确性,召回率(Recall)反映捕捉正类的能力,二者常需权衡 F1分数综合平衡精确率和召回率,特别适合类别不平衡场景 回归任务使用MSE(惩罚大误差)、MAE
2026-03-30 14:01:02
853
原创 机器学习进阶(6):训练集、测试集、验证集的划分
本文探讨了机器学习中数据划分的核心概念,重点解释了训练集、验证集和测试集的不同作用及划分原则。训练集用于模型学习,验证集用于调参选择,测试集则作为最终评估。文章强调了防止数据泄漏的重要性,指出常见错误如用测试集调参、预处理顺序不当等问题。针对不同场景(如小数据、时间序列)提供了划分建议,并通过考试备考的类比帮助理解。最后给出了标准的数据划分流程示例,强调随机划分和时间序列处理的注意事项。
2026-03-30 13:21:19
720
原创 机器学习进阶(5):数据预处理
机器学习模型训练前的数据预处理至关重要,因为现实数据往往存在各种问题。预处理主要包括:处理缺失值(删除或填补)、去除重复数据、识别异常值、类别特征编码(如独热编码)、数值标准化(调整量纲差异)以及划分训练集和测试集。这些步骤能有效减少脏数据对模型训练的干扰,提升模型性能。预处理不是固定流程,需根据数据特点和模型需求灵活调整。通过Python的pandas和scikit-learn库可方便实现基础预处理操作,如均值填补缺失值、独热编码转换等。合理的数据预处理是确保模型有效学习的关键前提。
2026-03-29 16:52:34
438
原创 【python量化】基于 Tushare 的简单选股策略验证:一次失败但有价值的轻量级回测实践
本文介绍了一个基于Tushare数据的轻量级选股策略回测实践。策略筛选条件包括:剔除ST股、收盘价低于20元、当日涨幅超过3%、5日均线大于10日均线。回测方法采用"买入后持有5天"的简单规则,通过计算未来收益验证策略效果。结果显示该策略在当前样本区间表现不佳,累计净值持续回落。文章指出该方法虽然计算逻辑清晰、适合快速验证,但存在未考虑交易成本、滑点等局限性。最后强调这种量化验证方式比单纯查看筛选名单更有实际意义,可作为后续策略优化的基础。
2026-03-29 16:43:20
681
原创 机器学习入门(4):梯度下降
本文介绍了梯度下降算法的核心原理及其在机器学习中的应用。梯度下降是一种通过迭代调整模型参数以最小化损失函数的优化方法,其核心思想类似于"下山"——沿着损失函数下降最快的方向逐步调整参数。文章首先通过直观的山谷下降类比解释梯度下降的基本概念,然后详细阐述了梯度下降的数学原理,包括参数更新公式和学习率的作用。通过一个简单的二次函数示例,展示了梯度下降如何逐步逼近最优解。最后,文章讨论了梯度下降在多参数模型中的扩展应用,并指出其在复杂问题中的局限性。梯度下降作为机器学习模型训练的基础算法,其核
2026-03-27 10:56:04
472
原创 机器学习入门(3):损失函数
本文介绍了机器学习中的损失函数概念及其作用。损失函数作为模型训练的"指南针",用于衡量模型预测与真实值的差距。文章通过房价预测和考试通过率两个例子,分别讲解了回归问题常用的均方误差(MSE)和分类问题常用的交叉熵损失函数,并给出Python实现示例。损失函数数值越小表示模型预测越准确,训练过程就是通过不断调整参数来最小化损失函数。理解损失函数是掌握模型训练机制的基础。
2026-03-27 09:56:45
409
原创 机器学习入门(2):逻辑回归
摘要: 逻辑回归是一种经典的二分类算法,尽管名称含"回归",实则用于预测样本类别(如垃圾邮件识别、用户流失预测)。其核心在于Sigmoid函数,将线性组合结果压缩至0-1区间作为概率输出,通过阈值(如0.5)转换为类别。相比线性回归,逻辑回归的优势在于输出概率值且范围可控。该算法简单高效、可解释性强,适合基础分类任务,但难以处理复杂非线性数据。理解逻辑回归需把握三点:分类与回归的区别、线性回归的局限性,以及概率输出的本质意义。它是机器学习分类问题的重要入门模型。
2026-03-26 23:15:00
673
原创 机器学习入门
摘要:本文介绍了机器学习中最基础的线性回归算法。通过预测房价的简单例子,解释了线性回归如何用直线拟合数据(y=wx+b),区分了特征(输入)和标签(输出)的概念,并说明模型通过最小化损失函数来训练参数。文章包含Python实现代码,演示了从数据准备到预测的全流程,并延伸讨论了多元线性回归。强调线性回归是理解机器学习的重要基础,建议初学者深入掌握其核心概念(训练过程、损失函数、预测原理等)再进阶学习更复杂算法。
2026-03-26 16:24:00
639
原创 【python量化】我为什么开始认真用 Tushare:从查行情到做数据分析,分享几个很实用的用法
Tushare实用指南:从数据获取到金融分析 Tushare作为Python友好的金融数据接口,不仅提供股票行情,还涵盖财务、资金、宏观等多元数据,适合自主分析。核心优势在于: Python整合便捷:接口规范,便于代码调用 数据场景丰富:从基础行情(如个股日线)到全市场筛选(单日批量获取),支持pandas二次分析(如均线计算) 实用技巧: 高频数据本地存储节省调用次数 按需选取字段提升效率 明确分析目标再取数据(如涨停统计用全市场日线) 适合金融数据分析初学者、量化入门者及小型数据系统搭建者。文末举例单日
2026-03-24 10:37:52
733
原创 Python量化入门:Tushare实战指南
本文是一篇Tushare金融数据接口的完整使用教程,主要面向量化交易和股票分析新手。文章从Tushare简介、账号注册获取Token开始,详细介绍了环境配置步骤和初始化方法,并提供了获取股票日线数据的实战示例。重点讲解了Tushare积分机制对数据获取权限的影响,以及新手常见的五大报错及解决方案。最后总结了新手常见误区,建议从基础数据获取入手,逐步掌握金融数据分析技能。全文包含代码示例、报错解析和实用技巧,帮助读者快速上手Tushare并避开常见陷阱。
2026-03-19 10:39:52
1068
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅