当前位置: 首页 > news >正文

学习笔记(39):结合生活案例,介绍 10 种常见模型

学习笔记(39):结合生活案例,介绍 10 种常见模型

线性回归只是机器学习的 “冰山一角”!根据不同的任务场景(分类、回归、聚类等),还有许多强大的模型可以选择。下面我用最通俗易懂的语言,结合生活案例,介绍 10 种常见模型及其适用场景:

一、回归模型(预测连续值,如房价)

1. 决策树(Decision Tree)
  • 原理:像玩 “20 个问题” 游戏,通过一系列判断(如 “面积是否 > 100㎡?”“房龄是否 < 5 年?”)逐步缩小范围,最终得到预测值。
  • 优点:简单直观,可解释性强(能画出树状图)。
  • 缺点:容易 “过拟合”(死记硬背训练数据,对新数据预测差)。
  • 生活类比:医生诊断病情,通过 “是否发烧?”“咳嗽吗?” 等问题逐步推断病因。
2. 随机森林(Random Forest)
  • 原理:让多个决策树 “投票” 做预测。每个树只看部分数据和特征,避免单棵树的偏见。
  • 优点:准确率高,抗过拟合能力强,常用于数据竞赛。
  • 缺点:模型复杂,训练慢,解释性不如决策树。
  • 生活类比:多人评审项目,综合大家的意见更可靠。
3. 梯度提升树(Gradient Boosting Tree, GBDT/XGBoost/LightGBM)
  • 原理:让多个弱模型(如简单的决策树)依次 “纠错”,后面的树专门学习前面树的错误。
  • 优点:预测精度极高,常用于 Kaggle 竞赛。
  • 缺点:训练时间长,需要调参。
  • 生活类比:学生做题,第一遍错了,第二遍专门针对错题学习,逐步提高正确率。
4. 支持向量机(SVM for Regression)
  • 原理:找到一个 “超平面”,让所有数据点到这个平面的距离尽可能小,同时容忍一定的预测误差。
  • 优点:适合小样本、高维度数据(如文本分类)。
  • 缺点:计算复杂度高,对大规模数据效率低。
  • 生活类比:在一群苹果和橘子中画一条线,让线离两边的水果都尽可能远。

二、分类模型(预测离散类别,如 “是 / 否”)

5. 逻辑回归(Logistic Regression)
  • 原理:虽然叫 “回归”,但其实是分类模型!用逻辑函数(Sigmoid)把回归结果压缩到 [0,1] 之间,表示概率。
  • 优点:简单高效,常用于二分类(如 “垃圾邮件”“是否患病”)。
  • 缺点:只能处理线性可分的数据。
  • 生活类比:根据用户的点击行为,预测 “是否会购买商品”(概率 > 0.5 就判为 “会”)。
6. 决策树分类(Decision Tree for Classification)
  • 原理:和回归树类似,但最终输出类别(如 “苹果”“橘子”)。
  • 优点:可解释性强,适合多分类问题。
  • 缺点:容易过拟合。
  • 生活类比:通过 “颜色是否红?”“形状是否圆?” 判断水果类别。
7. 随机森林分类(Random Forest for Classification)
  • 原理:多个决策树投票决定类别。
  • 优点:准确率高,抗过拟合,能处理多分类。
  • 生活案例:判断一张照片是 “猫”“狗” 还是 “鸟”。
8. 支持向量机分类(SVM for Classification)
  • 原理:找到一个 “超平面”,让不同类别的数据点尽可能分开。
  • 优点:对高维数据分类效果好(如人脸识别)。
  • 缺点:对大规模数据效率低。
  • 生活类比:区分 “良性肿瘤” 和 “恶性肿瘤”。

三、无监督学习(无需标签,自动发现数据规律)

9. K-means 聚类(K-means Clustering)
  • 原理:把数据点分成 K 个 “簇”,每个簇内的点相似度高(如距离近)。
  • 应用:客户分群、图像分割、新闻分类。
  • 生活类比:把学生按成绩分成 “学霸组”“中等组”“学渣组”。
10. 密度聚类(DBSCAN)
  • 原理:基于数据点的密度,把密度高的区域划分为一个簇,能发现任意形状的簇。
  • 优点:能处理噪声点(不属于任何簇的数据)。
  • 缺点:需要调参(如邻域半径)。
  • 生活类比:在地图上发现人口密集的城市区域。

四、深度学习(处理复杂问题,如图像、语音)

11. 神经网络(Neural Network)
  • 原理:模仿人脑神经元结构,通过多层 “神经元” 对数据进行非线性变换。
  • 应用:图像识别、语音识别、自然语言处理。
  • 优点:能自动学习复杂特征。
  • 缺点:需要大量数据和计算资源,像个 “黑盒” 难以解释。
12. 卷积神经网络(CNN)
  • 原理:专门处理图像数据,通过 “卷积层” 自动提取图像特征(如边缘、纹理)。
  • 应用:人脸识别、医学影像诊断、自动驾驶。
13. 循环神经网络(RNN/LSTM/GRU)
  • 原理:擅长处理序列数据(如文本、语音),能记住历史信息。
  • 应用:机器翻译、语音识别、股票预测。

五、模型选择指南

任务类型推荐模型典型场景
回归(预测连续值)线性回归、随机森林、XGBoost房价预测、销量预测
二分类(是 / 否)逻辑回归、随机森林、SVM垃圾邮件识别、疾病诊断
多分类(多个类别)随机森林、决策树、神经网络手写数字识别、新闻分类
聚类(无标签分组)K-means、DBSCAN客户分群、图像分割
图像 / 语音处理CNN、RNN、Transformer人脸识别、语音助手
自然语言处理(NLP)BERT、GPT、LSTM机器翻译、情感分析、问答系统

总结

  • 简单问题(数据少、特征少):优先用线性回归、逻辑回归、决策树(易解释)。
  • 复杂问题(数据多、特征多):用随机森林、XGBoost、神经网络(精度高)。
  • 图像 / 语音 / 文本:优先考虑深度学习模型(CNN、RNN、Transformer)。

初学者建议从简单模型(如线性回归、决策树)入手,理解原理后再尝试复杂模型

http://www.lryc.cn/news/590943.html

相关文章:

  • IPC进程间通信 interprocess communicate
  • 09-three.js Materials
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘flask’问题
  • 串口232通讯数据传输丢失的原因、不可靠性及底层原理分析
  • 12.9 Mixtral-8x7B核心技术解密:如何用1/3参数实现4倍推理速度碾压LLaMA2?
  • RabbitMQ概述和工作模式
  • 苍穹外卖项目日记(day11)
  • 优先队列的实现
  • vue中的this.$set
  • Spring Cloud LoadBalancer 详解
  • 理解 PS1/PROMPT 及 macOS iTerm2 + zsh 终端配置优化指南
  • javaScript中数组常用的函数方法
  • 【Java开发日记】我们来说说 LockSupport 的 park 和 unpark
  • python Flask 框架入门
  • stack,queue,priority_queue的模拟实现及常用接口
  • 从AWS MySQL数据库下载备份到S3的完整解决方案
  • istio如何自定义重试状态码
  • NLP——迁移学习
  • pytorch学习笔记(五)-- 计算机视觉的迁移学习
  • 浅探C语言的回调函数(Callback Function)
  • 要实现在调用  driver.get()  后立即阻止页面自动跳转到 Azure 登录页,可通过以下几种方法实现:
  • AWS Lambda 最佳实践:构建高效无服务器应用的完整指南
  • Kubernetes ConfigMap 深度指南
  • 大模型Agent应用开发实战:从框架选型到行业落地
  • ros2 标定相机
  • 三轴云台之测距算法篇
  • 《C++初阶之STL》【auto关键字 + 范围for循环 + 迭代器】
  • 【Dv3Admin】菜单管理集成阿里巴巴自定义矢量图标库
  • 大型语言模型(LLM)在网络安全中最具商业价值的应用场景(Grok3 回答 DeepSearch模式)
  • Python包测试全攻略:从单元测试到持续集成