【机器学习 / 深度学习】基础教程

阶段一:机器学习 / 深度学习基础教程

定位:针对准备进入 AI多智能体开发 的初学者,打牢机器学习与深度学习的基础。


一、为什么需要学习机器学习/深度学习

在进入智能体(Agent)开发之前,必须具备一定的 机器学习和深度学习 基础。
原因有三:

  1. 智能体的核心决策模型 基于大规模语言模型(LLM),而 LLM 本质上是深度学习的产物。
  2. 多智能体系统的优化与调度 需要理解过拟合、泛化、表示学习等概念。
  3. 在实际工程中,即使调用开源框架(如 LangChain、MetaGPT),也需要对底层模型的工作原理有基本认识,否则无法进行问题诊断与优化。

因此,第一阶段的学习目标是:理解机器学习基本范式、掌握神经网络主流结构、熟悉 PyTorch/TensorFlow 框架的基本用法。


二、机器学习基础

2.1 机器学习的基本定义

机器学习(Machine Learning, ML)指的是 让计算机通过数据学习规律,而不是显式编程
Tom Mitchell 的经典定义:

如果一个程序在某任务 T 上的性能度量 P 随着经验 E 的增加而提升,那么它就是在进行学习。

公式化表示:

  • 任务 T:例如图像分类、语音识别、推荐系统。
  • 性能度量 P:准确率、召回率、均方误差等。
  • 经验 E:训练数据集。

2.2 监督学习

监督学习(Supervised Learning)是最常见的机器学习范式。

  • 定义:通过带有标签的数据集来训练模型,学习从输入到输出的映射关系。

  • 数据特征:每个样本都有输入 X 和目标输出 Y

  • 常见任务

    • 分类(Classification):输入一张图片,判断是猫还是狗。
    • 回归(Regression):输入房屋特征,预测房价。

数学形式:
已知训练数据集 D={(xi,yi)}i=1nD = \{(x_i, y_i)\}_{i=1}^nD={(xi,yi)}i=1n,学习一个函数 f(x)f(x)f(x),使得预测值 y^=f(x)\hat{y} = f(x)y^=f(x) 尽量接近真实值 yyy

例子:猫狗分类

  • 输入:像素矩阵(图片)。
  • 输出:类别标签(猫=0,狗=1)。
  • 模型:逻辑回归、神经网络。

2.3 无监督学习

无监督学习(Unsupervised Learning)则不依赖于标签。

  • 定义:输入数据没有标注,目标是探索数据的结构、分布、规律。

  • 常见任务

    • 聚类(Clustering):将客户分为不同群体。
    • 降维(Dimensionality Reduction):如 PCA、t-SNE。
    • 密度估计:建模数据的分布。

例子:客户分群

  • 输入:客户的消费特征(年龄、收入、购买习惯)。
  • 输出:自动划分为不同群体(高价值用户、潜在流失用户等)。

2.4 过拟合与泛化

过拟合(Overfitting):模型在训练数据上表现极好,但在测试数据上表现很差。

  • 本质:模型学到了“噪声”而不是“规律”。
  • 典型特征:训练误差很低,但验证误差很高。

泛化能力(Generalization):模型在新数据上的表现能力。

  • 高泛化能力的模型,意味着它学到的是 通用规律 而不是仅仅记住了训练数据。

防止过拟合的方法

  1. 增加数据量(Data Augmentation)。
  2. 正则化(L1/L2、Dropout)。
  3. 提前停止(Early Stopping)。
  4. 模型简化(减少参数量)。

例子:

  • 一个学生死记硬背练习题(过拟合),考试遇到新题就不会。
  • 另一个学生掌握了解题方法(泛化),即使换题型也能解答。

三、神经网络基础

深度学习(Deep Learning)是机器学习的一个分支,核心思想是通过 神经网络(Neural Network) 进行特征自动学习。


3.1 神经网络的基本结构

感知机(Perceptron) 是最简单的神经网络单元。
公式:

y=f(∑i=1nwixi+b) y = f(\sum_{i=1}^n w_i x_i + b) y=f(i=1nwixi+b)

其中:

  • xix_ixi:输入特征
  • wiw_iwi:权重
  • bbb:偏置
  • fff:激活函数(Sigmoid, ReLU 等)

多个感知机层叠,就形成了多层感知机(MLP)。


3.2 卷积神经网络(CNN)

CNN 擅长处理图像。

  • 核心思想:利用卷积核提取局部特征,减少参数量。

  • 典型结构

    1. 卷积层(Convolutional Layer):提取特征。
    2. 池化层(Pooling Layer):下采样,减少维度。
    3. 全连接层(Fully Connected Layer):输出分类结果。

例子:识别手写数字(MNIST)。
输入:28x28 像素灰度图。
输出:0-9 的数字类别。


3.3 循环神经网络(RNN)

RNN 适合处理序列数据(文本、语音)。

  • 核心思想:引入“记忆”,上一时刻的输出会影响当前时刻的计算。
  • 问题:长序列训练容易出现梯度消失或爆炸。
  • 改进模型:LSTM、GRU。

例子:情感分析。
输入:“I love this movie.”
输出:情感标签(正向)。


3.4 Transformer

Transformer 是当前大模型(如 GPT-4、Claude)的核心架构。

  • 核心创新:自注意力机制(Self-Attention)。

  • 优势

    • 并行计算能力强。
    • 更适合长距离依赖建模。
  • 典型应用:机器翻译、文本生成、图像描述。

例子
输入:“Translate ‘你好世界’ to English。”
输出:“Hello World.”


四、主流框架:PyTorch 与 TensorFlow

4.1 PyTorch

特点:

  • 动态计算图,调试更灵活。
  • 更接近 Python 风格,代码直观。
  • 研究社区应用广泛。

简单例子(线性回归):

import torch
import torch.nn as nn
import torch.optim as optim# 数据
x = torch.randn(100, 1)
y = 3 * x + 2 + 0.1 * torch.randn(100, 1)# 模型
model = nn.Linear(1, 1)# 损失与优化器
criterion = nn.MSELoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)# 训练
for epoch in range(1000):y_pred = model(x)loss = criterion(y_pred, y)optimizer.zero_grad()loss.backward()optimizer.step()print("学习到的权重和偏置:", model.weight.item(), model.bias.item())

4.2 TensorFlow / Keras

特点:

  • 静态图模式,适合部署到生产环境。
  • 企业应用多,生态丰富。
  • Keras 封装简洁,适合快速实验。

例子(线性回归):

import tensorflow as tf# 数据
x = tf.random.normal((100, 1))
y = 3 * x + 2 + 0.1 * tf.random.normal((100, 1))# 模型
model = tf.keras.Sequential([tf.keras.layers.Dense(1)
])# 编译
model.compile(optimizer='sgd', loss='mse')# 训练
model.fit(x, y, epochs=1000, verbose=0)# 查看参数
w, b = model.layers[0].get_weights()
print("学习到的权重和偏置:", w, b)

4.3 PyTorch vs TensorFlow 对比

特点PyTorchTensorFlow/Keras
编程风格动态图,像写 Python静态图,适合大规模部署
社区学术研究主流工业界应用广泛
学习曲线上手容易Keras 简单,TF 稍复杂
调试灵活易调试部署工具链完善

结论:

  • 如果你是 研究/实验驱动,推荐 PyTorch。
  • 如果你是 企业级部署,推荐 TensorFlow。

五、学习路径建议(阶段一)

  1. 理论入门

    • 学习监督/无监督学习、过拟合、泛化的基本概念。
  2. 神经网络核心结构

    • 学会 MLP、CNN、RNN、Transformer 的基本原理。
    • 建议在 Kaggle/MNIST 数据集上做小实验。
  3. 框架实操

    • PyTorch:实现线性回归、手写数字识别。
    • TensorFlow/Keras:实现文本分类、图像分类。
  4. 小项目练习

    • 猫狗分类器(CNN)。
    • 电影评论情感分析(RNN/LSTM)。
    • 英文到中文翻译(Transformer)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/919678.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/919678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP32应用——HTTP client(ESP-IDF框架)

目录 一、前言 二、URL 2.1 URL简介 2.2 URL示例 三、HTTP 3.1 HTTP协议概述 3.2 HTTP的工作原理 3.2.1 HTTP 请求-响应流程 3.2.2 HTTP 请求结构 3.2.3 HTTP请求方法 3.2.4 HTTP响应结构 3.2.5 HTTP状态码 四、ESP HTTP 客户端流程 五、ESP HTTP 客户端实战解析…

动学学深度学习07-现代卷积神经网络

动学学深度学习pytorch 参考地址:https://zh.d2l.ai/ 文章目录动学学深度学习pytorch1-第07章-现代卷积神经网络1. AlexNet1.1 AlexNet 的核心贡献是什么?1.2 AlexNet 与 LeNet 的主要区别有哪些?1.3 为什么 AlexNet 需要 GPU 训练&#xff1…

详细讲解Java中的反射和经典面试题(保姆级别)

1.1 反射的概述:专业的解释(了解一下):是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取…

MyCAT完整实验报告

MyCAT完整实验报告 ‍ 前言 刚刚看了一下前面的那篇MyCAT的文章 感觉有一些问题 所以拿出一篇文章再说一下 单独构建了完整的实验环境 这样会全面一点 ‍ 安装MyCAT #跳过‍ 主从配置 #不多追溯 因为我们选择的主从 也可以做双主机 但我们后边再说‍ 环境搭建 一、环境规划 服务…

机器翻译论文阅读方法:顶会(ACL、EMNLP)论文解析技巧

更多内容请见: 机器翻译修炼-专栏介绍和目录 文章目录 一、论文选择:快速判断论文价值 1.1 关注核心会议与子领域 1.2 筛选标准 1.3 预读筛选 1.4 快速定位关键信息 二、精读解析 2.1 问题定义(5分钟) 2.2 方法解剖(15分钟) 2.3 实验深挖(20分钟) 2.4 批判性思考(10分…

Transformer模型实战篇

引入 基于Transformers的NLP解决方案的步骤如下:(以文本分类为例) 导入相关包,General,可以询问ai需要导什么包加载数据集,Data_loader,Datasets数据集划分,测试机,验证集…

深入(流批【牛批】框架)Flink的机制

flink本身是专注有状态的无限流处理,有限流处理【batch批次】是无限流处理的一中特殊情况!应用场景实时ETL 集成流计算现有的诸多数据通道和SQL灵活的加工能力,对流式数据进行实时清洗、归并和结构化 处理;同时,对离线…

Git 2.15.0 64位安装步骤Windows详细教程从下载到验证(附安装包下载)

一、下载后双击运行 安装包下载:https://pan.quark.cn/s/7200b32a1ecf,找到下载好的文件:​Git-2.15.0-64-bit.exe​双击这个文件,就会弹出安装向导窗口,点 ​​“Next”(下一步)​​ 二、选择…

在职老D渗透日记day23:sqli-labs靶场通关(第29关-31关)http参数过滤

5.29.第29关 http参数过滤 闭合5.29.1.手动注入(1)判断注入类型、注入点闭合(2)有回显,优先用联合查询注入,判读字段数?id1&id2 order by 3 -- ?id1&id2 order by 4 --(3)…

Spring Boot整合Amazon SNS实战:邮件订阅通知系统开发

Spring Boot整合Amazon SNS实战引言配置服务总结新用户可获得高达 200 美元的服务抵扣金 亚马逊云科技新用户可以免费使用亚马逊云科技免费套餐(Amazon Free Tier)。注册即可获得 100 美元的服务抵扣金,在探索关键亚马逊云科技服务时可以再额…

LeetCode_动态规划1

动态规划1.动态规划总结1.1 01背1.1.1 二维数组1.1.2 一维数组1.2 完全背包2.斐波那契数(力扣509)3.爬楼梯(力扣70)4.使用最小花费爬楼梯(力扣746)5.不同路径(力扣62)6.不同路径 II(力扣63)7.整数拆分(力扣343)8.不同的二叉搜索树(力扣96)9.分割等和子集(力扣416)10.最后一块石…

【STM32】HAL库中的实现(九):SPI(串行外设接口)

SPI 接口通信原理 SPI(Serial Peripheral Interface)是全双工主从通信协议,特点是: 信号线功能SCK串行时钟MOSI主设备输出,从设备输入MISO主设备输入,从设备输出CS(NSS)片选信号&am…

Git常用操作大全(附git操作命令)

Git常用操作大全 一、基础配置 1.1 设置用户名和邮箱 git config --global user.name "你的名字" git config --global user.email "你的邮箱"1.2 查看配置 git config --list二、仓库管理 2.1 初始化本地仓库 git init2.2 克隆远程仓库 git clone <仓库…

详解flink table api基础(三)

文章目录1.使用flink的原因&#xff1a;2. Flink支持两种模式&#xff1a;3. flink table api工作原理&#xff1a;4. Flink table api 使用5. select语句&flink table api&#xff1a;6. 使用flink table api 创建table7. 使用flink table api 写流式数据输出到表或sink8.…

Vue2+Vue3前端开发_Day5

参考课程: 【黑马程序员 Vue2Vue3基础入门到实战项目】 [https://www.bilibili.com/video/BV1HV4y1a7n4] ZZHow(ZZHow1024) 自定义指令 基本语法&#xff08;全局 & 局部注册&#xff09; 介绍&#xff1a;自己定义的指令&#xff0c;可以封装一些 DOM 操作&#xff0c…

机器学习--决策树2

目录 第一代裁判&#xff1a;ID3 与信息增益的 “偏爱” 第二代裁判&#xff1a;C4.5 用 “增益率” 找平衡 第三代裁判&#xff1a;CART 的 “基尼指数” 新思路 遇到连续值&#xff1f;先 “砍几刀” 再说 给决策树 “减肥”&#xff1a;剪枝的学问 动手试试&#xff1…

yggjs_react使用教程 v0.1.1

yggjs_react是一个用于快速创建React项目的工具&#xff0c;它集成了Vite、TypeScript、Zustand和React Router等现代前端技术栈&#xff0c;帮助开发者快速搭建高质量的React应用。 快速入门 快速入门部分将指导您如何安装yggjs_react工具、创建新项目并启动开发服务器。 安…

vulhub可用的docker源

这一块不太容易找&#xff0c;我试了好几个源&#xff0c;下面是20250820测试可用源 编辑方法sudo mkdir -p /etc/docker sudo vim /etc/docker/daemon.json 配置内容 [1] {"registry-mirrors" : ["https://docker.registry.cyou", "https://docker-…

基于YOLOv8-SEAttention与LLMs融合的农作物害虫智能诊断与防控决策系统

1. 引言 1.1 研究背景与意义 农作物虫害是制约农业产量与质量的重要因素。据FAO报告&#xff0c;全球每年因病虫害造成的粮食损失高达 20%–40%。传统人工巡查与经验诊断具有时效性差、成本高与专业人才不足等缺陷。近年来&#xff0c;计算机视觉特别是目标检测技术在农业检测…

从零开始构建GraphRAG红楼梦知识图谱问答项目(三)

文章结尾有CSDN官方提供的学长的联系方式&#xff01;&#xff01; 欢迎关注B站从零开始构建一个基于GraphRAG的红楼梦项目 第三集01 搭建后端服务 创建一个python文件server.py 完整源码放到文章最后了。 1.1 graphrag 相关导入 # GraphRAG 相关导入 from graphrag.query.cont…