郭震 AI公众号:郭震AI

5 机器学习基础之常见的机器学习算法

发布日期:

最近更新:

分类: 机器学习小白

预计阅读: 3 分钟

阅读次数: 0

预计阅读3 分钟
结构重点8 个
图文要点6 张
正文规模1.4k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 8 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

常见机器学习算法流程图查看大图
常见机器学习算法流程图

常见算法不需要一次背完。先按分类、回归、聚类、降维来分,再结合数据规模、可解释性和训练成本挑候选模型。

算法分类可参考 scikit-learn 监督学习指南

常见机器学习算法核对图查看大图
常见机器学习算法核对图

我会给每个算法写一张小卡:适合什么数据,不适合什么数据,结果能不能解释,最容易踩什么坑。

在上一篇中,我们讨论了机器学习的两大主要类型:监督学习非监督学习。在这一部分中,我们将重点介绍一些常见的机器学习算法,包括它们的基本原理、应用场景以及与实际案例的结合。

监督学习算法

1. 线性回归

常见机器学习算法判断卡查看大图
常见机器学习算法判断卡

学习常见机器学习算法时,先按任务类型归类,再看数据规模、可解释性和评估指标。

线性回归是一种用于回归问题的基础算法,目的是通过最小化预测值与真实值之间的误差来寻找最佳拟合直线。其数学模型可以表示为:

y=w0+w1x1+w2x2+...+wnxn+ϵy = w_0 + w_1x_1 + w_2x_2 + ... + w_nx_n + \epsilon

其中,w0w_0为偏置项,w1,w2,...,wnw_1, w_2, ..., w_n为特征的权重,ϵ\epsilon为误差项。

案例:假设我们希望预测房价,可以用线性回归模型来根据房屋面积、房间数量和位置等特征来进行预测。

import numpy as np
from sklearn.linear_model import LinearRegression

# 模拟数据
X = np.array([[1500, 3], [1700, 4], [2000, 4], [2500, 5]])
y = np.array([300000, 340000, 360000, 400000])

# 训练线性回归模型
model = LinearRegression()
model.fit(X, y)

# 进行预测
predicted_price = model.predict(np.array([[2000, 4]]))
print(f"预测房价:{predicted_price[0]}")

2. 决策树

决策树是一种常见的分类和回归算法,其通过树形模型进行决策,先进行特征划分,然后在每一个叶节点中输出结果。决策树的优点在于可解释性强,易于理解。

案例:在银行信贷审批中,我们可以通过决策树来判断一个客户是否值得信赖。

from sklearn.tree import DecisionTreeClassifier

# 模拟数据
X = [[25, 50000], [45, 64000], [35, 54000], [50, 70000]]
y = [0, 1, 1, 0]  # 0: 不值得信赖, 1: 值得信赖

# 训练决策树模型
tree_model = DecisionTreeClassifier()
tree_model.fit(X, y)

# 预测客户信任等级
predicted_trust = tree_model.predict([[30, 60000]])
print(f"客户信任预测:{'值得信赖' if predicted_trust[0] == 1 else '不值得信赖'}")

3. 支持向量机 (SVM)

支持向量机是一种强有力的分类算法,特别适合高维数据。SVM通过寻找最佳的超平面来最大化不同类别之间的间隔。其目标是解决以下优化问题:

minimize12w2subject toyi(wxi+b)1i\text{minimize} \quad \frac{1}{2}||w||^2 \\ \text{subject to} \quad y_i(w \cdot x_i + b) \geq 1 \quad \forall i

案例:SVM常用于文本分类,如判断一篇文章是否为“体育”类文章。

from sklearn import svm

# 模拟数据
X = [[0, 0], [1, 1], [1, 0], [0, 1]]
y = [0, 1, 1, 0]  # 0: 类别A, 1: 类别B

# 训练SVM模型
svm_model = svm.SVC(kernel='linear')
svm_model.fit(X, y)

# 预测新样本的类别
predicted_class = svm_model.predict([[0.5, 0.5]])
print(f"样本的预测类别:{predicted_class[0]}")

非监督学习算法

机器学习算法复盘卡查看大图
机器学习算法复盘卡

读《机器学习基础之常见的机器学习算法》时,先确定要解决的场景,再把关键概念和练习动作串起来。这样读到细节时,不容易只记住零散名词。

1. K均值聚类

K均值聚类是一种用于非监督学习的聚类算法,其通过将数据分为K个簇,每个簇的中心(质心)最小化点到质心的平方距离。算法流程如下:

  1. 随机选择K个初始质心。
  2. 分配每个数据点到离其最近的质心。
  3. 更新质心为每个簇的均值。
  4. 重复步骤2和3,直到收敛。

案例:在市场分析中,我们可以使用K均值聚类将客户分群,从而提供更加个性化的服务。

from sklearn.cluster import KMeans

# 模拟数据
X = [[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]]

# 训练 K 均值模型
kmeans = KMeans(n_clusters=2)
kmeans.fit(X)

# 预测新样本的簇
predicted_cluster = kmeans.predict([[0, 0], [4, 4]])
print(f"样本的簇预测:{predicted_cluster}")

2. 主成分分析 (PCA)

主成分分析是一种降维技术,通过线性变换将数据投影到低维空间中,保留数据中尽可能多的变异性。PCA通过找到数据的主要分量来实现降维。

案例:在图像处理领域,PCA常用于减少特征维数,从而加速后续的机器学习模型训练。

from sklearn.decomposition import PCA

# 模拟数据
X = [[2.5, 2.4], [0.5, 0.7], [2.2, 2.9],
     [1.9, 2.2], [3.1, 3.0], [2.3, 2.7],
     [2, 1.6], [1, 1.1], [1.5, 1.6], [1.1, 0.9]]

# 进行PCA处理
pca = PCA(n_components=1)
X_reduced = pca.fit_transform(X)

print("降维后的数据:")
print(X_reduced)
机器学习基础之常见的机器学习算法应用复盘卡查看大图
机器学习基础之常见的机器学习算法应用复盘卡

复习《机器学习基础之常见的机器学习算法》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。

机器学习基础之常见的机器学习算法应用检查卡查看大图
机器学习基础之常见的机器学习算法应用检查卡

练习《机器学习基础之常见的机器学习算法》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。

小结

在这一部分中,我们介绍了几种常见的机器学习算法,包括线性回归决策树支持向量机K均值聚类主成分分析。每种算法都有其独特的应用场景和

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

机器学习基础之常见的机器学习算法适合谁读?

这是 机器学习入门 系列第 5 / 21 篇,适合正在学习机器学习入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇机器学习入门教程要多久?

按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...