机器学习核心概念详解(回归、分类和聚类)

一、前言

机器学习中有三个最核心、最基础的概念:回归分类聚类。它们代表了三种不同的任务类型和思维方式。首先,我们可以通过一个表格快速把握三者的核心区别:

任务类型 关键词 问题类型 输出 算法类型 典型例子
回归 预测、连续值 "有多少?" 连续的数值 监督学习 预测房价、预测销量
分类 判断、类别、标签 "是哪个?" 离散的类别 监督学习 垃圾邮件识别、图像分类
聚类 分组、发现结构 "怎么分群?" 数据的内在分组 无监督学习 客户细分、新闻主题分组

二、详解

1. 回归

核心思想:预测一个连续的数值。

  • 目标 :根据输入数据(特征),建立一个模型,来预测一个连续的、定量的输出值。
  • "回归"一词的由来:源于弗朗西斯·高尔顿的"回归平庸"现象,但现代机器学习中,它更广泛地指"数值预测"。
  • 输入/输出
    • 输入:特征(例如,房屋面积、地段、卧室数量)。
    • 输出 :一个具体的数值(例如,房屋的价格:350万元)。
  • 典型算法
    • 线性回归:最简单、最基础的方法,尝试用一条直线(或超平面)来拟合数据。
    • 决策树回归:通过一系列"如果...那么..."的规则进行预测。
    • 支持向量回归(SVR):尝试在容忍一定误差的情况下,用一个"管道"来拟合数据。
    • 神经网络:强大的非线性回归模型。
  • 应用场景
    • 股票价格预测:根据历史数据预测未来股价。
    • 销售额预测:根据广告投入、季节等因素预测下个月销售额。
    • 疾病风险评分:根据患者年龄、体重、血压等指标预测其患某病的风险系数。

简单比喻 :回归就像是预测一个具体的分数 。比如,根据一个学生的学习时间、错题数量,预测他这次考试能考85分


2. 分类

核心思想:预测一个离散的类别标签。

  • 目标:根据输入数据,将其划分到预先定义好的、有限的类别中。
  • 输入/输出
    • 输入:特征(例如,邮件的关键词、发件人地址;图片的像素值)。
    • 输出:一个离散的类别标签(例如,邮件是"垃圾邮件"或"正常邮件";图片是"猫"或"狗")。
  • 类别数量
    • 二分类:只有两个类别(是/否,正/负)。最常见,如垃圾邮件过滤。
    • 多分类:类别数量大于两个(如,识别手写数字0-9;图像识别1000种物体)。
  • 典型算法
    • 逻辑回归:名字带"回归",但本质是分类算法,尤其擅长二分类。
    • 决策树随机森林梯度提升树(如XGBoost):非常强大且常用的分类器。
    • 支持向量机(SVM):擅长在小样本、高维度数据上找到复杂的分类边界。
    • K近邻(K-NN):根据"最近的K个邻居"的类别来投票决定。
    • 神经网络:尤其在图像、语音、文本分类上表现卓越。
  • 应用场景
    • 垃圾邮件识别:将邮件分为"垃圾"或"非垃圾"。
    • 图像识别:识别图片中的物体是猫、狗、汽车等。
    • 医疗诊断:根据医学影像判断肿瘤是"良性"或"恶性"。
    • 情感分析:判断一条评论的情感是"正面"、"负面"还是"中性"。

简单比喻 :分类就像是做选择题。题目是输入的数据,选项是预先定义好的类别(A/B/C/D),模型的任务是选出最正确的那个。


3. 聚类

核心思想:发现数据内在的群组结构,无需预先定义标签。

  • 目标 :将数据集中的样本划分成若干个组(称为"簇"),使得同一簇内的样本彼此相似,而不同簇的样本差异较大
  • 与分类的关键区别 :聚类是无监督学习 ,我们不知道也没有预先给定的类别标签。聚类算法是自己去"发现"数据中潜在的自然分组。
  • 输入/输出
    • 输入:只有特征,没有标签。
    • 输出:每个样本被分配到一个"簇"的编号(如0,1,2...),但这些编号的含义需要人工事后解读。
  • 典型算法
    • K均值聚类:最著名、最常用的聚类算法。需要预先指定要聚成几个簇(K值)。
    • 层次聚类:不需要指定K值,会形成一个树状的聚类结构(树状图),可以按需切割。
    • DBSCAN:基于密度的算法,能发现任意形状的簇,并能识别出离群点(噪声)。
  • 应用场景
    • 客户细分:根据用户的购买行为、人口属性将其分成不同的群组,以便精准营销。
    • 社交网络分析:发现社区群体。
    • 异常检测:偏离所有簇的数据点可能就是异常值或欺诈行为。
    • 文档/新闻分组:将海量未标记的文档按照主题自动归类。

简单比喻:聚类就像是**"物以类聚,人以群分"**。你走进一个陌生的聚会,你不知道有哪些小圈子(无标签),但你会通过观察(算法计算),自然而然地将人群分成"聊体育的一群"、"聊电影的一群"、"聊政治的一群"。


4. 总结与对比

特性 回归 分类 聚类
学习类型 监督学习 监督学习 无监督学习
输出类型 连续数值(整数/实数) 离散类别(标签) 簇的编号(无预设意义)
是否有标签 需要已知的输入和输出标签来训练模型 需要已知的输入和输出标签来训练模型 不需要标签,算法自行探索
核心目标 预测一个值 预测一个类别 发现数据的内在结构/分组
评估指标 均方误差(MSE)、R²分数 准确率、精确率、召回率、F1分数 轮廓系数、Calinski-Harabasz指数

5.算法对比

算法类型 学习类型 任务类型 核心目标 评估指标 sklearn类
线性回归 监督学习 线性回归 预测一个值 均方误差(MSE)、R²分数 sklearn.linear_model.LinearRegression
回归决策树 监督学习 非线性回归 预测一个值 均方误差(MSE)、R²分数 sklearn.tree.DecisionTreeRegressor
支持向量回归(SVR) 监督学习 回归 预测一个值 均方误差(MSE)、R²分数 sklearn.svm.SVR
随机森林回归 监督学习 非线性回归 预测一个值 均方误差(MSE)、R²分数 sklearn.ensemble.RandomForestRegressor
回归梯度提升树(Boosting) 监督学习 回归 预测一个值 sklearn.ensemble.GradientBoostingRegressor
逻辑回归 监督学习 二分类/多分类 预测一个类别 sklearn.linear_model.LogisticRegression
分类决策树 监督学习 分类 预测一个类别 sklearn.tree.DecisionTreeClassifier
随机森林分类 监督学习 分类 预测一个类别 sklearn.ensemble.RandomForestClassifier
分类梯度提升树(Boosting) 监督学习 分类 预测一个类别 sklearn.ensemble.GradientBoostingClassifier
支持向量分类(SVC) 监督学习 分类 预测一个类别 sklearn.svm.SVC|sklearn.svm.LinearSVC

注意:1、​sklearn.svm.SVR既可以做线性回归,也可以做非线性回归,这完全取决于你选择的核函数(kernel)

2、决策树、随机森林、梯度提升树、支持向量既可以用于回归也可以用作分类

3、SVM=Support Vector Machine 是支持向量机

SVC=Support Vector Classification就是支持向量机用于分类,

SVC=Support Vector Regression.就是支持向量机用于回归分析,

如何选择?

  • 如果你想预测一个具体的数量 (比如价格、温度、销量) -> 用回归
  • 如果你想判断数据属于哪一类 (比如是否患病、是哪类用户)并且已有明确的类别定义 -> 用分类
  • 如果你不知道数据有哪些类别 ,想探索数据,发现潜在的自然分组 -> 用聚类
相关推荐
花月C7 小时前
算法 - 差分
人工智能·算法·机器学习
LO嘉嘉VE11 小时前
学习笔记二:发展历程
机器学习
星谷罗殇15 小时前
(七)TRPO 算法 & PPO 算法
算法·机器学习
搞科研的小刘选手19 小时前
【经济方向专题会议】第二届经济数据分析与人工智能国际学术会议 (EDAI 2025)
人工智能·机器学习·网络安全·大数据分析·经济·经济数据分析·绿色经济
北数云19 小时前
北数云|利用Limix模型对tabular-benchmark数据集实现分类和回归任务
分类·数据挖掘·回归·gpu算力
maizeman12620 小时前
用R语言生成指定品种与对照的一元回归直线(含置信区间)
开发语言·回归·r语言·置信区间·品种测试
2501_9387912221 小时前
逻辑回归与KNN在低维与高维数据上的分类性能差异研究
算法·分类·逻辑回归
南方的狮子先生21 小时前
【深度学习】60 分钟 PyTorch 极速入门:从 Tensor 到 CIFAR-10 分类
人工智能·pytorch·python·深度学习·算法·分类·1024程序员节
StarPrayers.21 小时前
机器学习中的等高线
人工智能·机器学习