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

机器学习回顾(一)

什么是机器学习

机器学习本质上就是利用数学公式和算法,从数据中发现规律,并用这些规律进行预测或决策。​

用数学模型拟合数据中的规律

我们通常有一堆数据,这些数据可以看作是​​输入(X)和输出(Y)之间的关系​​,虽然这个关系我们​​不知道​​,但它​​客观存在​​。机器学习的目标就是​​用一个数学公式(或模型)去近似这个关系​​。

举个简单例子:

假设你想根据房子的面积(X)来预测房价(Y),你有很多这样的数据样本:

房子面积 (X)

房价 (Y)

50

100万

70

140万

90

180万

...

...

你猜测,房价和面积之间可能大致满足一个​​线性关系​​,比如:

Y=w⋅X+b
  • Y:预测的房价(输出)
  • X:房子面积(输入)
  • w:权重(斜率,表示面积每增加1单位,房价变化多少)
  • b:偏置(截距,表示即使面积为0时也有基本价格)

这就是一个​​简单的线性数学模型​​,机器学习要做的事情,就是​​通过数据,自动找出最合适的 w 和 b,使得这个公式能最准确地预测房价​​。

机器学习如何用数学公式总结规律?

​选择一个模型(数学函数)​

比如:

  • 线性回归:y=wx+b
  • 逻辑回归:y=σ(wx+b)(用于分类,σ是 sigmoid 函数)
  • 多项式回归:y=w1​x+w2​x2+⋯+b
  • 神经网络:多个非线性函数的组合,比如 y=f3​(f2​(f1​(x))),每一层都是数学变换

这些模型本质都是:​​用数学公式去拟合输入与输出之间的关系。​

2. ​​定义损失函数(Loss Function)——衡量预测与真实值的差距​

为了知道我们的公式(模型)好不好,我们需要一个标准,来衡量它预测的值与真实值之间的误差。

比如在线性回归中,常用的损失函数是​​均方误差(MSE)​​:

MSE=n1​i=1∑n​(yi​−y^​i​)2
  • yi​:第 i 个样本的真实值(比如真实房价)
  • y^​i​:第 i 个样本的预测值(比如模型算出的房价)
  • n:样本总数

这个公式的意思是:​​预测值与真实值差距的平方的平均值越小,模型越好。​


3. ​​优化算法 —— 找到让损失最小的参数​

有了模型和损失函数后,我们要找到​​最佳的参数(比如 w 和 b)​​,使得损失函数的值最小。

这就是​​优化问题​​,最常用的方法是:

  • ​梯度下降法(Gradient Descent)​​:通过求损失函数对参数的偏导数(梯度),一步一步调整参数,使损失不断减小。

公式示意(以 w 为例):

w:=w−α⋅∂w∂Loss​
  • α:学习率,控制每次更新的步长
  • ∂w∂Loss​:损失函数对 w 的偏导数,表示 w 的微小变化对总体误差的影响

通过不断迭代更新参数,最终找到让损失最小的那组参数,也就是我们总结出的“数据规律”。

机器学习所准备的库

基础数据处理与科学计算库

这些库是进行数据分析和机器学习前的​​基础工具​​,用于数据清洗、处理、数值运算等。

库名

用途简介

常用功能

​NumPy​

数值计算基础库,用于高效处理多维数组和矩阵

数组操作、线性代数、随机数生成等

​Pandas​

数据处理与分析,特别适合表格数据(如 CSV、Excel)

数据读取、清洗、筛选、合并、统计等

​SciPy​

科学计算扩展库,包含很多数学算法

优化、积分、插值、统计分布等

🔹 ​​推荐学习顺序:NumPy → Pandas → SciPy​


数据可视化库

用于将数据或模型结果进行可视化展示,便于分析与理解。

库名

用途简介

​Matplotlib​

最基础的绘图库,灵活强大,适合定制各种图表

​Seaborn​

基于 Matplotlib,更简单易用,适合统计图表(如分布图、热力图等)

​Plotly / Bokeh​

交互式可视化,适合网页展示或dashboard


机器学习核心库

这是机器学习的“主力军”,提供了大量​​算法实现、模型训练与评估工具​​。

1. ​​Scikit-learn(sklearn)​​ 

  • ​最主流、最易用的机器学习库​​,适合​​传统机器学习算法​
  • 包括:分类、回归、聚类、降维、模型选择、数据预处理等
  • 支持:线性回归、逻辑回归、决策树、SVM、KNN、随机森林、K-Means、PCA 等
  • 提供模型评估、交叉验证、网格搜索等工具

适合:入门学习、传统机器学习任务(如分类、回归、聚类)​


2. ​​XGBoost / LightGBM / CatBoost​

  • 高效的​​梯度提升(Gradient Boosting)框架​​,常用于数据挖掘竞赛(如 Kaggle)
  • 特别擅长​​结构化数据的表格类任务(如表格分类、回归)​
  • 比传统算法(如随机森林)更快、效果更好

库名

特点

​XGBoost​

梯度提升树经典实现,速度快、效果好

​LightGBM​

微软出品,速度极快,内存占用低,适合大数据

​CatBoost​

支持类别型变量(不用独热编码),对类别特征处理优秀

 ​​适合:表格数据建模、高精度预测任务​

​自然语言处理(NLP)相关库

用于处理文本数据,如分词、词嵌入、文本分类、机器翻译等。

库名

用途

​NLTK​

自然语言处理基础工具包,适合教学与基础 NLP 任务

​spaCy​

工业级 NLP 库,速度快,支持实体识别、依存句法等

​Transformers(Hugging Face)​

提供大量预训练语言模型(如 BERT、GPT、T5),支持文本分类、问答、生成等

​gensim​

主要用于主题建模(如 LDA)、词向量(Word2Vec、Doc2Vec)

适合:文本分类、情感分析、机器翻译、聊天机器人等​


计算机视觉(CV)相关库

用于图像处理、目标检测、图像分类等视觉任务。

库名

用途

​OpenCV​

经典图像处理库,支持图像读取、滤波、边缘检测、摄像头调用等

​Pillow (PIL)​

Python 图像处理基础库,适合简单的图像操作

​TorchVision(配合 PyTorch)​

提供图像数据集、模型、图像变换工具,用于视觉任务

​TensorFlow Datasets / Keras Applications​

提供预训练模型与数据集,如 ResNet、VGG 等

适合:图像分类、目标检测、图像生成等​

http://www.dtcms.com/a/354964.html

相关文章:

  • 陪诊小程序系统开发:搭建医患之间的温暖桥梁
  • Scrapy 基础介绍
  • 安全运维——系统上线前安全检测:漏洞扫描、系统基线与应用基线的全面解析
  • lwIP MQTT 心跳 Bug 分析与修复
  • 边缘计算(Edge Computing)+ AI:未来智能世界的核心引擎
  • HarmonyOS 组件与页面生命周期:全面解析与实践
  • Paimon——官网阅读:Flink 引擎
  • 【秋招笔试】2025.08.27华为秋招研发岗真题
  • 【新启航】3D 逆向抄数效率提升:自动化拼接工具与智能建模能力如何缩短 50% 项目周期
  • 聚类准确率计算——标签映射(Kuhn-Munkres匈牙利算法)问题的解决(详细并附完整代码)
  • 大模型RAG(Retrieval-Augmented Generation)
  • Python日期计算完全指南:从上周五到任意日期的高效计算
  • Cubemx+Vscode安装与环境配置
  • 聚焦建筑能源革新!安科瑞 “光储直柔” 方案护航碳中和目标实现
  • 162.在 Vue 3 中使用 OpenLayers 解析 GeoJSON 并为每个 Feature 填充渐变色
  • 如何调试一个EVM合约:实战操作 + 常见报错说明
  • 2025年第五届电子信息工程与计算机科学国际会议(EIECS 2025)
  • IO的最大输出速度
  • Maven 项目单元测试实战指南:从环境搭建到问题排查全解析
  • 一天认识一个神经网络之--CNN卷积神经网络
  • Linux系统之----命名管道模拟实现客户端、服务器
  • ImageToPromptAI-AI图像转提示词生成器
  • ftp命令批量删除服务器上的文件
  • 关于我在一个优惠券系统中rocketMQ消息幂等性自定义注解的处理
  • 使用reCAPTCHA提升WordPress网站安全性
  • 驱动开发系列67 - NVIDIA 开源GPU驱动open-gpu-kernel-modules分析-驱动初始化
  • Java自定义程序使用Ollama实现本地ai调用
  • Java-反射机制
  • Java 多线程环境下的全局变量缓存实践指南
  • PyTorch 张量核心知识点