MicDZ's Blog

深度学习笔记

深度学习笔记

,

2023年3月14日


宏观理解机器学习和深度学习。

机器学习

寻找一个函数
eg:语音识别 声音->文字

机器学习的任务

回归(Regression):函数输出为数值
分类(Classification):给定一些选项,函数输出为正确的选项

结构化学习(Structured Learning):获得有结构的物体

机器学习的步骤

  1. 找一个带未知参数的函数(Function with unkown)

    也被称作模型eg: y=b+wx1y=b+wx_1 ,其中 w,bw, b 为未知参数

  2. 从训练数据中定义Loss(Define loss from training data)

    Loss是关于未知参数的函数 L(w,b)L(w,b) ,用来衡量未知参数好不好

    真实的值称为Label,预测值与真实值的差即为计算误差

    累计差距的方式有很多种:MAE(绝对值误差),MSE(均方误差)

    误差等高线图(Error Surface)

  3. 优化(Optimization)

    w,b=argminw,bLw^*,b^*=arg\min_{w,b}L

    梯度下降(Gradient Descent):

    先假设未知参数只有 ww 。先随机取定一个 w0w^0(利用遗传算法)。

    计算 LLw0w^0 的偏导( w0w_0 在误差曲线上的切线斜率)

    w1=w0ηLww=w0w^1=w^0-\eta\frac{\partial L}{\partial w}|_{w=w^0}

    η\eta 被称为学习速率(learning rate)。

    这种机器学习中需要自己设定的东西称为超参数(hyperparameters)

    反复进行上述的操作。

    停止:达到最大迭代速率或找到某一极值(Local minima),无法保证一定找到全局最优解。

    当有多个参数时。先随机取定 w0,b0w^0,b^0

    计算 LLw0w^0b0b^0 的偏导。

    w1=w0ηLww=w0,b=b0b1=b0ηLbw=w0,b=b0w^1=w^0-\eta\frac{\partial L}{\partial w}|_{w=w^0, b=b^0}\\ b^1=b^0-\eta\frac{\partial L}{\partial b}|_{w=w^0, b=b^0}

    反复更新 w,bw,b

    image-20221230142534137

y=b+j=17wjxjy=b+\sum_{j=1}^7w_jx_j

被称为线性模型

分段线性折线(常数+一系列折线)

image-20221230143300146

  1. 找一个带未知参数的函数,我们用Sigmoid函数来表示这类折线

y=c11+e(b+wx1)=c sigmoid(b+wx1)y=c\frac{1}{1+e^{-(b+wx_1)}}=c\ sigmoid(b+wx_1)

w——斜坡的坡度

b——相位

c——高度

y=b+icisigmoid(bijwijxj)y=b+\sum_ic_isigmoid(b_i\sum_jw_{ij}x_j)

wijw_ij 表示的是第 ii 个函数中 xjx_j 对应的权重。

image-20221230144348929

image-20221230144437303

image-20221230144637959

image-20221230144702222

  1. 定义Loss

e=yy^Loss:L=1Nnene=|y-\hat y|\\ Loss:L=\frac{1}{N}\sum_ne_n

  1. 优化

    image-20221230145242276

image-20221230145316288

ReLU模型:

y=b+2icimax(0,bi+jwijxj)y=b+\sum_{2i}c_i\max(0, b_i+\sum_jw_{ij}x_j)

称为激活函数。激活函数的部分称为神经元,很多神经元组成这个模型,叫做神经网络。很多隐藏层就形成了深度学习。

, — 2023年3月14日