深度学习
深度学习与机器学习的区别
深度学习:利用神经网络模拟人脑工作原理,实现对复杂数据的表示和学习。
机器学习:人工处理设计特征,利用统计学和概率论方法,对数据进行建模和预测。
深度学习应用场景
- 图象、语言、语音
- 机器学习无法处理的复杂数据
深度学习代表算法-神经网络(Neural Network)NN
- 神经网络是一种模拟人脑神经原理的计算模型,由多个神经元(节点)组成,每个神经元之间通过权重和偏置进行连接。
- 是深度学习的重要算法,也是深度学习的基础。
- 神经网络通过迭代学习,能够自动提取数据中的特征,实现对复杂数据的表示和分类。
- 网络结构:输入层、隐藏层、输出层

模仿人脑神经网络结构

特点
- 每个连接都有个权值,同一层的神经元之间没有连接。
- 每个神经元都有个激活函数,用于将输入转换为输出。
- 最后的输出结果对应的层也叫全连接层。
神经网络基础
Logistic回归
- Logistic回归是一种二分类算法,用于将输入数据映射到0到1之间的概率值。
- 通过将输入数据映射到0到1之间的概率值,将数据分类为两个类别。
公式:z = w1x1 + w2x2 + …+ b - 激活函数:y = 1/(1+e^-z)
- 分类结果:如果y>0.5,分类为类别1,否则分类为类别0。
y越大,分类结果越接近类别1。
y越小,分类结果越接近类别0。
Sigmoid 激活函数
$$\boldsymbol{\hat y=\sigma(z)=\dfrac{1}{1+e^{-z}}}$$
1 | import numpy as np |
Sigmoid 导数重要结论(必背):
$$\boldsymbol{\sigma’(z)=\frac{d\hat y}{dz}=\hat y(1-\hat y)}$$
各参数梯度
$$\boldsymbol{\frac{\partial L}{\partial w_1}=(\hat y-y)x_1}$$
$$\boldsymbol{\frac{\partial L}{\partial w_2}=(\hat y-y)x_2}$$
$$\boldsymbol{\frac{\partial L}{\partial b}=\hat y-y}$$
损失函数
- 损失函数是一种用于评估模型预测结果与真实结果差异的函数。
- 用于优化模型参数,使模型预测结果更真实。
- 常用的损失函数有:均方误差(MSE)、交叉熵损失(Cross-Entropy Loss)等。
对数似然损失函数:L=-(y * log(y^)) - ((1-y) * log(1-y^)) y^为预测结果
- 交叉熵损失函数:用于二分类问题,计算模型预测结果与真实结果的差异。
分别对每个样本进行计算
目的:更新模型参数,使模型预测结果更真实。
梯度下降
- 梯度下降是一种优化算法,用于更新模型参数,使模型预测结果更真实。
函数的梯度:函数的偏导数,表示函数在某个点处的变化率,按照梯度方向进行更新,增长就快,反之,就慢。
公式:w = w - α * dL/dw α为学习率
公式:b = b - α * dL/db α为学习率让损失函数最小化
导数的意义,在某点,x的改变,导致y改变的倍数
链式法制:di/da=dj/da*da/db
参数更新
w1 = w1 - α * (y^-y)x1
w2 = w2 - α * (y^-y)x2
b = b - α * (y^-y)
正向传播与反向传播
- 正向传播:将输入数据通过神经网络,计算输出结果。
- 反向传播:从输出结果开始,计算每个参数的梯度,用于更新模型参数。
- 重复正向传播和反向传播,直到模型参数收敛。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 薄荷巧克力!



