机器学习是现代AI的核心,从推荐系统到自动驾驶,无处不在。但每个智能应用背后,都离不开那些奠基性的模型。本文用最简练的方式拆解核心机器学习模型,助你面试时对答如流,稳如老G。
线性回归
线性回归试图通过"最佳拟合线"(让所有数据点到直线的距离平方和最小,即最小二乘法)来寻找自变量和因变量的关系。比如下图绿线比蓝线更优,因为它离所有数据点更近。
Lasso回归 (L1)
Lasso回归通过添加"绝对值惩罚项"(lambda × 斜率绝对值)来防止模型过拟合,堪称机器学习界的防沉迷系统。lambda越大,惩罚越狠——就像你妈发现你熬夜写代码时的怒气值。
图2:Lasso回归成本函数
当特征多到能绕地球三圈时,L1会无情抛弃那些不重要的变量,堪称特征选择界的灭霸。
Ridge回归 (L2)
Ridge和Lasso是亲兄弟,区别在于惩罚项改用"平方惩罚"(lambda × 斜率²)。当特征们勾肩搭背搞多重共线性时,L2会让所有系数雨露均沾地趋向零——堪称机器学习界的端水大师。
图4:Ridge回归成本函数
弹性网络回归
这位端水大师Pro Max版同时采用L1和L2惩罚,效果堪比机器学习界的鸳鸯锅——辣度自由调节,总有一款适合你。
多项式回归
当数据扭成麻花时,线性回归就懵圈了。这时多项式回归祭出***k.xⁿ***大法,用曲线拟合数据,堪称机器学习界的灵魂画手。
图6:线性回归 vs 多项式回归的降维打击
逻辑回归
虽然名字带"回归",实则是分类界的扛把子。用sigmoid函数把输出压缩到0-1之间(比如预测你秃头的概率),找最佳曲线时用的是最大似然估计法——就像S命先生掐指一算S。
图7:线性回归 vs 逻辑回归的跨界PK
K近邻算法 (KNN)
KNN是分类界的懒汉代表:平时不训练,来新数据才临时抱佛脚找最近的K个邻居投票。K太小会误把异类当知己,K太大又会忽视小众群体——堪称机器学习界的社交恐惧症患者。
图8:KNN施展魔法前后对比
朴素贝叶斯
基于贝叶斯定理的文本分类专家,天真地认为所有特征都互不相关(就像觉得程序员只穿格子衫)。公式长这样:
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B) = \frac{P(B|A)P(A)}{P(B)} P(A∣B)=P(B)P(B∣A)P(A)
支持向量机 (SVM)
在n维空间找最佳超平面分割数据,就像用激光刀切蛋糕。支持向量是靠近切割线的数据点,它们决定了超平面的位置——堪称机器学习界的边界感大师。
图10:SVM在线性可分数据上的表演
决策树
用if-else语句组成的树状结构,活像《龙与地下城》的选择剧情书。节点是特征,分支是条件,叶节点是结局——堪称机器学习界的《命运之门》游戏。
CART (基尼系数)
1. 概率表
2. 计算各属性值的基尼指数:1 - (P/P+N)² -(N/P+N)²
3. 计算属性的基尼指数:各属性值占比×其基尼指数的和
ID3 (信息增益与熵)
1. 计算总信息熵
2. 计算各属性值熵:-[P/P+N] * log[p/P+N] - [N/P+N * log[N/P+N]
3. 计算属性信息增益:总熵 - 各属性值熵的加权和
随机森林
决策树们的民主议会,通过bagging和随机特征降低过拟合。每棵树用不同数据子集训练,最终投票决定结果——当一棵树说你会秃,四棵树说你会富,信谁的?当然是多数派!
图12:4个决策树组成的迷你森林
极限随机树 (Extra Trees)
随机森林的叛逆兄弟:分裂节点时完全随机选特征,训练速度堪比吃了金坷垃。与随机森林的两大区别:
- 随机选分裂点(闭眼扔飞镖)
- 用全量数据而非bootstrap样本
AdaBoost
把一堆"弱智"决策桩(只有一次分裂的决策树)组合成天才团队。给分错的数据点加权重,后续模型重点关照——堪称机器学习界的错题本复习法。
图14:提升算法的集体智慧
梯度提升
让决策树们玩传帮带游戏:新树专门学习老树的残差错误。通过不断修正前人的错误,最终组成学霸天团——比AdaBoost更卷,因为用的是完整决策树而非树桩。
K均值聚类
无监督学习中的课代表,把数据分成K个簇(K由你定)。流程简单粗暴:
- 随机选K个中心点
- 计算每个点到中心的距离
- 把点分给最近的中心
- 重新计算中心点
- 重复直到中心点不动了
图15:K均值在不同K值下的表演
层次聚类
有两种流派:
- 自底向上(聚合式):每个点先单干,逐渐合并
- 自顶向下(分裂式):全体先抱团,逐渐分家
最终形成树状图,堪称机器学习界的族谱学家。
DBSCAN聚类
认为"物以类聚"的密度派,能自动发现任意形状的簇。两个关键参数:
epsilon
:好基友的最大距离min_points
:组队最少人数
优点是可以识别噪声点(比如公司团建时总找借口不来的同事)。
Apriori算法
购物篮分析专家,能发现"买尿布的人常买啤酒"这种神奇规律。通过支持度(出现频率)和置信度(X出现时Y多大概率出现)挖掘关联规则。
分层K折交叉验证
K折验证的公平版:确保每折中各类别比例与原数据一致。就像把披萨切成K块,每块都有相同的配料比例。
主成分分析 (PCA)
降维魔术师,把相关特征变成少数几个"主成分"。虽然会损失信息,但能:
- 提升模型表现
- 降低计算开销
- 方便可视化(三维人类看不懂十维数据)
人工神经网络 (ANN)
模仿人脑的"人工智障",由输入层、隐藏层、输出层组成。每个神经元都是戏精,要对输入数据加权重、做激活函数变换。常用于图像识别、NLP等领域。
图:多层神经网络的复杂人际关系
卷积神经网络 (CNN)
图像处理界的福尔摩斯,用卷积层扫描图片找边缘、纹理等特征。支撑着人脸识别、自动驾驶等技术——毕竟普通神经网络看图片就像近视眼没戴眼镜。
Q学习
强化学习中的吃豆人AI,通过试错积累经验值(Q表)。广泛应用于游戏AI、机器人控制等领域,学习过程就像:
- 机器人碰壁 → “疼!下次不走这”
- 找到充电桩 → “爽!多逛这里”
TF-IDF
文本分析中的"词频-逆文档频率"算法,能识别重要词汇。比如在《程序员养生指南》中:
- “的” → 高频但没营养
- “枸杞” → 高频且专有 → 重点标记
潜在狄利克雷分配 (LDA)
主题建模专家,能发现"程序员论坛50%聊秃头,30%聊跑路,20%聊AI取代人类"。通过分析词共现规律,挖掘文本的隐藏主题。
Word2Vec
让计算机理解"国王-男=女王"的语义关系,把词语变成向量。比传统方法更懂语境,支撑着现代翻译系统和聊天机器人。
图:词向量的语义魔法
如果觉得这份指南有用,不妨:
- 留下你的👋掌声和💬神评论