对机器学习的一些理解

机器学习本质上是从数据中学习规律,并利用这个规律对未知数据进行预测的过程。这个过程可以分解为几个关键部分:模型目标优化

一、模型:我们用什么去拟合世界?

模型是我们对现实世界的一种数学抽象。选择什么样的模型,取决于我们要解决什么问题。

  1. 回归问题(预测连续值)

    • 首选:线性回归 。当我想预测一个具体的数值(比如房价、销量)时,线性回归是我最常用的工具。它的思想非常直观:找到一个线性关系 Y = WX + b,使得预测值尽可能接近真实值。为了防止这个简单的模型过于复杂而"死记硬背"训练数据(过拟合),我通常会引入正则化 。L1正则化(Lasso)能让一些不重要的特征权重直接变为0,实现特征选择;L2正则化(Ridge)则让所有权重都均匀地变小,使模型更平滑。有时,我会结合两者,使用弹性网络(Elastic Net)
  2. 分类问题(预测离散标签)

    • 二分类的利器:逻辑回归(Logistic Regression) 。虽然名字里有"回归",但它是不折不扣的分类模型。它的核心是Sigmoid函数 ,能将线性输出的分数映射到(0,1)区间,解释为属于正类的概率。它的推导基于伯努利分布

    • 多分类的推广:Softmax回归 。当类别超过两种时,逻辑回归就力不从心了。这时我会用Softmax回归,它是逻辑回归的自然延伸,其模型基于多项式分布。Softmax函数能将一个K维的任意实数向量"压缩"成另一个K维的正实数向量,且这些数的和为1,完美地表示了多分类的概率分布。

  3. 更复杂的模型

    • 支持向量机(SVM):它的目标很优雅,就是寻找一个"最胖"的超平面(间隔最大化)来分隔数据,这被认为能获得最好的泛化能力。对于线性不可分的数据,我会借助**核函数(Kernel Trick)这把利器,将数据映射到高维空间,使其变得线性可分,而计算成本却依然保持在低维空间。

    • 决策树与集成学习:单个决策树(如ID3, C4.5, CART)简单易懂,但容易过拟合。在实践中,我几乎总是使用集成方法:

      • Bagging(如随机森林) :我通过有放回抽样生成多个不同的训练子集,并行地训练多个弱模型(如决策树),然后通过投票或平均得到最终结果。这种方法能有效降低模型方差,防止过拟合。

      • Boosting(如AdaBoost, GBDT, XGBoost) :与Bagging不同,Boosting是串行生成的。我会更关注上一轮被分错的样本,给它们更大的权重,让后续的模型重点学习这些"难点"。AdaBoost通过改变样本权重,而GBDT和XGBoost则是通过拟合上一轮模型的负梯度(残差)​ 来逐步改进。XGBoost更是做了大量工程优化,并使用了二阶泰勒展开 ,使得它在效率和效果上都非常出色。Boosting能同时降低偏差和方差

二、目标:如何衡量模型的好坏?------ 损失函数与代价函数

定义了模型,下一步就是定义如何衡量模型的"错误"。这就是损失函数和代价函数(损失函数的平均值)的作用。

  1. 均方误差(MSE) :这是我做回归 任务时的标准选择。它计算的是预测值与真实值之差的平方的平均值。从概率角度看,它等价于在假设噪声服从高斯分布 下的最大似然估计(MLE)

  2. 交叉熵损失(Cross-Entropy Loss) :这是我做分类任务,特别是当模型最后一层是Sigmoid或Softmax时的首选。你提供的资料里重点讨论了它。

    • 为什么不用MSE做分类 ​ :这是一个关键问题。当配合Sigmoid函数使用时,MSE的梯度中会包含Sigmoid的导数 σ'(z)。而Sigmoid函数在两端饱和区梯度非常小,这会导致梯度更新缓慢,学习效率极低。

    • 交叉熵的优势 :交叉熵损失完美地避开了这个问题。它的梯度中不包含 σ'(z),只与误差 (a - y)直接相关。误差越大,梯度越大,权重更新越快;误差越小,更新越慢。这非常符合直觉,极大地加快了训练速度。

  3. 最大似然估计(MLE)与最大后验概率(MAP)

    • MLE ​ 是频率学派的代表思想。我的目标是找到一组参数,使得在当前参数下,观测到已有数据(样本)的概率最大。可以简单理解为"模型导向",即什么样的模型最可能产生出我手上的数据。

    • MAP ​ 是贝叶斯学派的思想。它在MLE的基础上,加入了参数的先验概率 。我的目标是找到在已知数据的条件下,参数最可能的值。可以理解为"参数导向",即考虑到参数本身可能有的分布,哪个参数值最靠谱。

三、优化:如何找到最优的模型参数?

有了模型和目标,现在的问题就变成了一个数学优化问题:如何找到那组让损失函数最小的参数W和b。

  1. 梯度下降法(Gradient Descent):这是最核心的优化算法。我的思路是沿着当前点的梯度反方向(即下降最快的方向)走一小步,逐步逼近最低点。

    • 批量梯度下降(BGD):我用整个训练集计算梯度,方向准确,但速度慢。

    • 随机梯度下降(SGD):我每次只用一个样本计算梯度,速度快,但噪声大,收敛不稳定。

    • 小批量梯度下降(MBGD):这是我在实际中最常用的折中方案,每次用一个小批量的样本,兼顾了效率和稳定性。

  2. 梯度下降的"升级版"

    • Momentum(动量):模拟物理中的动量,让参数更新时不仅考虑当前梯度,还保留一部分之前更新的方向。这有助于加速收敛并减少震荡。

    • 自适应学习率算法(如AdaGrad, RMSprop, Adam) :这些算法为每个参数自适应地调整学习率。对于频繁更新的参数,给予较小的学习率;对于不频繁的参数,给予较大的学习率。Adam​ 结合了Momentum和自适应学习率的优点,是目前最流行、效果最好的优化器之一。

相关推荐
jz_ddk2 小时前
[数学基础] 浅尝向量与张量
人工智能·机器学习·向量·张量
孔明兴汉3 小时前
大模型 ai coding 比较
人工智能
IT研究所4 小时前
IT 资产管理 (ITAM) 与 ITSM 协同实践:构建从资产到服务的闭环管理体系
大数据·运维·人工智能·科技·安全·低代码·自动化
沐曦股份MetaX4 小时前
基于内生复杂性的类脑脉冲大模型“瞬悉1.0”问世
人工智能·开源
power 雀儿5 小时前
张量基本运算
人工智能
陈天伟教授5 小时前
人工智能应用- 人工智能交叉:01. 破解蛋白质结构之谜
人工智能·神经网络·算法·机器学习·推荐算法
政安晨5 小时前
政安晨【人工智能项目随笔】使用OpenClaw的主节点协同子节点撰写大型技术前沿论文的实战指南
人工智能·ai agent·openclaw论文写作·openclaw论文写作经验·ai代理写论文·ai分布式协作·oepnclaw应用
大成京牌6 小时前
2026年京牌政策深度对比,三款优质车型选购推荐榜单探索
人工智能
xuxianliang7 小时前
第154章 “神谕”的低语(AI)
人工智能·程序员创富
geneculture7 小时前
人机互助新时代超级个体(OPC)的学术述评——基于人文学科与数理学科的双重视域
大数据·人工智能·哲学与科学统一性·信息融智学·融智时代(杂志)