深度学习入门-强化版 第一节
1.传统系统和机器学习区别
- 传统学习 ~~ if else 如果怎么样,就得出什么结果
- 机器学习 — 给出条件数据 和 结果 ,让系统自己得出规则
2.初识机器学习
2.1 特征
- 基于数学和统计学 有可解释性
2.2 分类
按训练数据有无标签:
监督学习:数据有明确标签(正确答案)
- 定义特征:通过给定的输入-输出示例对,学习将输入映射到输出的函数。所有训练数据都带有标签。
- 典型应用:垃圾邮件分类系统需要人工标注大量邮件样本(标注是否为垃圾邮件)来训练模型。
- 数据要求:每个输入数据都有对应的固定label,形成"数据对"结构。
- 包含范畴:分类问题(如垃圾邮件识别)和回归问题都属于监督学习范畴。
无监督学习:数据无标签
- 核心特征:观测数据不包含分类或类别标注信息,完全无label。
- 典型场景:用户数据分析(如B站用户行为分析),处理包含年龄、性别、地区、偏好等多维特征的用户向量。
- 工作流程:通过聚类算法自动发现数据内在规律(如将用户分为儿童、大学生、上班族等群体)。
- 结果特性:
非唯一性:没有标准答案,结果取决于算法发现的数据分布模式
应用价值:为后续操作提供基础(如广告精准投放) - 典型案例:推荐系统(抖音/B站的内容推荐算法)通过分析原始用户行为数据建立推荐模型。
按任务类型:
- 分类任务:输出离散类别
- 回归任务:输出连续数值
监督学习:图像分类
典型流程:
- 预定义类别(如10类常见物体)
- 训练数据标注(每张图片对应一个类别标签)
- 模型训练(学习图片特征与标签的映射关系)
- 预测新图片类别
特点:
- 需要大量标注数据(数据收集占95%工作量)
- 明确的评估标准(预测结果与真实标签对比)
- 端到端学习(无需人工设计特征)
2.3任务的分类
任务一般分为两种,一个是分类问题, 一个是回归问题
分类问题
- 核心特征:根据数据或对象的特征/属性,将其归类到预定义的类别中
- 典型应用:
图像分类:输入图像,从预定义的10个类别中判断所属类别
文本情感分析:输入文本,判断属于"开心"、"生气"或"悲伤"三种情感中的哪一类 - 本质特点:输出是离散的类别标签,而非连续数值
回归问题
- 核心特征:分析因变量(目标变量)与自变量(预测变量)之间的关系,目标是确定描述变量间联系的函数,实现数值估计或预测
- 数学表达:Regression Analysis
- 典型应用:
股票价格预测:横坐标为时间,纵坐标为股价,预测未来走势
量化金融:金融量化的核心业务就是解决回归问题
本质特点:输出是连续数值,关注变量间的函数关系
(ps:大模型本质上是分类问题,而不是回归)
2.4 线性回归

2.4.1理解
- 建模目标:通过直线 y^=θ1+θ2X\boldsymbol{\hat{y} = \theta_1 + \theta_2 X}y^=θ1+θ2X 拟合数据点,使得预测值与实际值的误差最小。
- 数据表示:红点为观测数据,包含自变量 xxx 和因变量 yyy(label)。
- 拟合标准:存在多条可能拟合直线,需要量化标准选择最优解
2.4.2 优化目标与损失函数
- 误差计算:采用平方误差 (y^−y)2(\hat{y} - y)^2(y^−y)2 衡量单个数据点的预测偏差。
- 损失函数:所有数据点误差之和:
J=∑i=1n(y^i−yi)2 J = \sum_{i=1}^n (\hat{y}_i - y_i)^2 J=i=1∑n(y^i−yi)2
通过 argmin\boldsymbol{\arg \min}argmin 寻找使 JJJ 最小的参数。 - 数学表达:y^i=θ1+θ2xi \hat{y}_i = \theta_1 + \theta_2 x_i y^i=θ1+θ2xi
其中 θ1\theta_1θ1 为截距,θ2\theta_2θ2 为斜率。
2.4.3 优化过程与参数更新
梯度计算:
- 对 θ1\theta_1θ1 偏导:∂J∂θ1=2n∑i=1n(y^i−yi)\frac{\partial J}{\partial \theta_1} = \frac{2}{n} \sum_{i=1}^n (\hat{y}_i - y_i)∂θ1∂J=n2∑i=1n(y^i−yi)
- 对 θ2\theta_2θ2 偏导:∂J∂θ2=2n∑i=1n(y^i−yi)xi\frac{\partial J}{\partial \theta_2} = \frac{2}{n} \sum_{i=1}^n (\hat{y}_i - y_i) x_i∂θ2∂J=n2∑i=1n(y^i−yi)xi
参数更新:
- θ1:θ1=θ1−α∂J∂θ1\theta_1: \theta_1 = \theta_1 - \alpha \frac{\partial J}{\partial \theta_1}θ1:θ1=θ1−α∂θ1∂J
- θ2:θ2=θ2−α∂J∂θ2\theta_2: \theta_2 = \theta_2 - \alpha \frac{\partial J}{\partial \theta_2}θ2:θ2=θ2−α∂θ2∂J
2.5 逻辑回归
2.5.1 基本概念
- 名称误解: 虽然名为"回归",但实际解决的是分类问题,往往需要有多个输入值(特征),来确定分类
- 应用场景: 主要用于解决二分类问题(binary classification),如负面样本标记为0,正面样本标记为1
- 扩展应用: 多分类问题(如9类图像分类或大模型的15万词库分类)也可通过扩展实现
2.5.2分类与回归的区别
- 输入维度:
回归问题:可接受单值输入(如一元线性回归只需x)
分类问题:必须多特征输入(如用户特征向量包含年龄26、体重160等20个维度) - 数据结构:
回归:数据点为标量(单个数字)
分类:数据点为向量(特征组合) - 输出维度:
回归问题:一般是连续值
分类问题:输出离散值(如图像分类只能是有限类别中的一个)
- 错误示例:分类问题中若输出不在预设类别范围内(如猫狗分类输出"长颈鹿")就是错误的
2.5.3 逻辑回归与sigmoid函数
- 核心功能:将连续值转换为离散值(通过sigmoid函数实现,将任意值转化为 0~1中的一个值)
输入形式:输入x为多维向量,标签y为二分类值(0或1)
底层原理:即使复杂模型如GPT,底层仍基于线性回归(矩阵乘法)操作
2.5.4 线性回归与逻辑回归的矩阵操作 (此处是完全相同)
- 权重变化:当输入变为向量时,权重www需扩展为矩阵,偏置bbb变为向量(重复相同值)。
- 计算过程:z=wTx+b z = w^T x + b z=wTx+b
其中xxx是d×1d \times 1d×1矩阵,www是n×dn \times dn×d矩阵,结果zzz是n×1n \times 1n×1矩阵。 - 批量处理:矩阵形式避免使用for循环,提高计算效率
2.5.5 二分类问题的建模过程 - 用sigmoid函数-压缩函数
sigmoid特性:σ(z)=11+e−z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+e−z1
- 有两条渐近线(0和1),输出值永远在(0,1)(0,1)(0,1)区间。
- 输出值表示样本概率,通常以0.5为阈值(>0.5判为正,<0.5判为负)。
计算流程
- 线性变换得到zzz
- 通过sigmoid函数得到概率值
- 示例:P(y=1)−>z=4.5→σ(z)=0.97→P(y=1) - >z = 4.5 \to \sigma(z) = 0.97 \toP(y=1)−>z=4.5→σ(z)=0.97→ 正样本概率97%,负样本概率3%( P(y=0))
2.5.6 数学推导:概率与对数变换
- 概率关系:P(y=1∣x)=σ(z),P(y=0∣x)=1−σ(z) P(y=1|x) = \sigma(z), \quad P(y=0|x) = 1 - \sigma(z) P(y=1∣x)=σ(z),P(y=0∣x)=1−σ(z)
对数变换:
- 对σ(z)=11+e−z\sigma(z) = \frac{1}{1 + e^{-z}}σ(z)=1+e−z1取倒数得:
1+e−z=1P 1 + e^{-z} = \frac{1}{P} 1+e−z=P1 - 移项得:
e−z=1−PP e^{-z} = \frac{1 - P}{P} e−z=P1−P - 取对数得:
−z=ln(1−PP) -z = \ln\left(\frac{1 - P}{P}\right) −z=ln(P1−P) - 最终得到:
z=ln(P1−P) z = \ln\left(\frac{P}{1 - P}\right) z=ln(1−PP)
2.5.7 线性回归结果与概率的关系 及似然函数
odds概念:
ln(P1−P) \ln\left(\frac{P}{1-P}\right) ln(1−PP)
在统计学中称为odds(几率)。
设计原理:
sigmoid函数是专门设计来满足 z=oddsz = \text{odds}z=odds 关系的,而非巧合。
线性回归结果zzz直接对应随机变量的对数几率。
自然函数(似然函数)的概念:
-
定义:在给定参数θ\thetaθ时观测到实际数据的概率:
L(θ)=∏Pθ(di) L(\theta) = \prod P_\theta(d_i) L(θ)=∏Pθ(di) -
物理异议:寻找使所有训练样本预测正确的联合概率最大的参数组。
通俗理解:
“可能性”函数,目标是让模型预测结果与真实情况最吻合
2.6 典型样例
KNN、 决策树、朴素贝叶斯
2.6KNN
K最近邻居 (k-nearest neighbors)
根据邻居,判断这个东西是属于什么类别,这是一种监督学习算法
有监督和无监督的区别:
数据要求:有监督学习需要标签,无监督学习不需要。
目标:有监督学习侧重于预测或分类,无监督学习侧重于发现数据内在结构。
基本思想是荣福测量不同的数据点之间的距离来进行预测
3深度学习简介
3.1 基本理解
设置一个很深的网络架构,让机器自己学,深度学习,就是找一个函数f 实现 x到y的映射
3.2 输入形式
1.向量
2.矩阵(张量,图片 )
3.序列 (重点在于前后关系)
3.2 输出形式
- 回归任务(填空题) 根据以前的温度推测明天的温度大概多高
- 分类任务(选择题)图片:猫 / 狗。 句子:积极 / 消极 /中性
- 生成任务(结构化,简答题): 结构化论文
练习题

分类和回归是结构化的基础!!!
分类时,是用数字来表示类别
当你需要多个类型的数据时,就是多模态了,比如图片文字声音
4.如何开始深度学习
- 定一个函数(模型),定义的f‘(x),未来要让f’(x)去接近真正的f(x)
- 定义一个合适的损失函数loss ,衡量真实的f(x) 和 f’(x) 的差距
- 跟你讲损失函数,对模型进行优化
5.如何优化一个函数
给出数据和结果, 让ai去学习测量损失函数(LOSS)的结果,然后求 让L最小的 w和b
采取的方式就是让梯度下降,换句话说,就是要让由损失函数得到的误差尽可能的减少!,针对线性结构,也就是修改w的值,让Error减少
这里用一个线性结构举例 : y=w*x +b (w-- weight b-- bias)
比如现在w=5,根据loss算出来的误差(y^\hat{y}y^ - y)是 100,此时你面临一个决策问题:
我应该把 www 变成 5.0001(变大)?
还是应该把 www 变成 4.9999(变小)?
“导数”就是回答这个问题的裁判。
总结 : 求导,就是为了知道“下一步该往哪个方向走能让误差变小”。如果没有导数,我们就只能瞎蒙(随机搜索),那在几百万个参数的情况下是永远算不完的。
在下面详细告知了如何去调整,
5.1 方案
先随机选一个w0,计算L对w的偏导(在 w0位置的值)
loss函数可以看做是一个关于w b的函数 ,L(w,b) = | wx+b - y |
我们的目的是让L(w,b) 损失函数的值(误差)尽可能的小,故而当loss对 w偏导大于0的时候,就要将w往左边移动(减少L)
这里还有一个概念 超参数(learning rate)
梯度下降”就像蒙着眼睛下山吗?梯度(导数告诉了你:往哪个方向走是下坡。学习率 (η\etaη) 则是告诉机器:这一步迈多大。
5.1.1 为什么它是“超”参数?
因为它决定了“学”的好坏:你可以把它想象成步幅:
步幅太大(η\etaη 太大):后果:你可能一步跨太远,直接跨过了谷底,冲到了对面的山上。然后在两山之间反复横跳,永远下不去。现象:模型怎么学都学不会,误差降不下来(甚至越来越大)。
步幅太小(η\etaη 太小):后果:像蚂蚁搬家一样挪动。虽然方向是对的,也很稳,但是我想下山可能需要走 100 万年。现象:训练速度极慢,电脑风扇狂转一整天,进度条才走了 1%。
步幅刚好(η\etaη 适中):结果:既快又稳地走到谷底。
5.2 调整的步骤为
我们可以把它拆解成“程序员视角”:
w0w^0w0:初始值。就是你在代码里初始化的 double w = 0; 或者随机给的一个数。
∂L∂w\frac{\partial L}{\partial w}∂w∂L:计算梯度。这是告诉机器,在 w0w^0w0 这个位置,坡度是多少。
η\etaη (Learning Rate):步长。还记得刚才说的吗?为了防止一步跨太大,我们乘一个很小的数(比如 0.01),控制步伐。w1w^1w1:更新后的值。这一步走完,你得到了一个新的 www。接下来,你会把 w1w^1w1 当作起点,重复这个过程算出 w2,w3...w^2, w^3...w2,w3... 直到走到谷底。
这个更新参数的步骤,就称之为梯度下降
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)