深度强化学习王树森第一章-机器学习基础

线性模型

线性模型是一类最简单的监督机器学习模型,常用于简单的机器学习任务.

线性回归

拟合一个函数 y = W x + b y = Wx + b y=Wx+b,用于预测一个离散值.其中, W W W b b b都是需要拟合求解的系数, x x x为自变量, y y y为因变量.

最小二乘法

一种确定线性回归中 W W W b b b的一种方法(规则).

设有 n n n个样本,真实值为 y 1 , y 2 , ⋅ ⋅ ⋅ , y n y_1,y_2,···,y_n y1,y2,⋅⋅⋅,yn,最小二乘法就是要寻找一组系数 W , b W,b W,b,令 y ~ = W x + b \tilde y = Wx + b y~=Wx+b,使得 ∑ i = 1 n ( y ~ i − y i ) 2 \sum_{i=1}^{n}(\tilde y_i - y_i)^2 i=1n(y~iyi)2最小.

可以通过矩阵求逆的方式得到解析解,也可以通过梯度下降进行迭代求解.

逻辑斯提回归

一种用于二分类的线性回归方法.

逻辑斯提回归输出一个 ( 0 , 1 ) (0,1) (0,1)之间的预测值,表示样本属于正样本的概率,当输出值小于某一阈值时(通常为0.5),则判定为负样本.

对于普通的线性回归而言,其预测值的范围在 ( − ∞ , ∞ ) (-\infty,\infty) (,)之间.因此需要借助一个函数将其映射到 ( 0 , 1 ) (0,1) (0,1)之间.即: s i g m o i d sigmoid sigmoid函数.

z = W x + b z = Wx + b z=Wx+b
y ~ = s i g m o i d ( z ) = 1 1 + e x p − z \tilde y = sigmoid(z) = \frac{1}{1 + exp^{-z} } y~=sigmoid(z)=1+expz1
image.png

softmax回归

softmax回归是一种多分类线性回归的方法.

在二分类当中,我们使用一个真实值 p p p,表示样本的分类概率为 p , 1 − p p,1-p p,1p.

而在多分类中,我们使用 o n e − h o t one-hot onehot编码对样本进行分类.具体如下:

假设存在三个类别 y 1 , y 2 , y 3 y_1,y_2,y_3 y1,y2,y3,那么就可以使用一个三维向量表示其属于每个类别的概率.例如,对于一个 y 2 y_2 y2样本,其 o n e − h o t one-hot onehot编码就为 [ 0 , 1 , 0 ] [0,1,0] [0,1,0].

在二分类中,我们使用线性回归预测其属于正样本的概率.

同样地,推广至多分类当中,我们可以用线性回归得到样本属于每个分类的概率,将其记作 [ z 1 , z 2 , z 3 ] [z_1,z_2,z_3] [z1,z2,z3].

由概率论可知, z 1 + z 2 + z 3 = 1 z_1 + z_2 + z_3 = 1 z1+z2+z3=1 z i > 0 z_i > 0 zi>0,因此我们引入softmax函数,使其达到这一要求.

Y ~ = ( y ~ 1 , y ~ 2 , y ~ 3 ) = s o f t m a x ( Z ) = 1 ∑ i = 1 3 e x p − z [ z 1 , z 2 , z 3 ] \tilde Y =(\tilde y_1,\tilde y_2,\tilde y_3) = softmax(Z)=\frac{1}{\sum_{i=1}^{3}exp^{-z}}[z_1,z_2,z_3] Y~=(y~1,y~2,y~3)=softmax(Z)=i=13expz1[z1,z2,z3]
通过上式,即可得到样本属于每个类别的概率.输出概率最大的结果即可.

为了确定预测值与真实值之间的差距,引入交叉熵进行计算.

设有两个 m m m维的离散概率分布, p = [ p 1 , p 2 , p 3 , ⋅ ⋅ ⋅ , p m ] p = [p_1,p_2,p_3,···,p_m] p=[p1,p2,p3,⋅⋅⋅,pm] q = [ q 1 , q 2 , q 3 , ⋅ ⋅ ⋅ , q m ] q = [q_1,q_2,q_3,···,q_m] q=[q1,q2,q3,⋅⋅⋅,qm],其中向量元素均大于零,且每个向量元素之和为1.则 p , q p,q p,q交叉熵定义为:

H ( p , q ) = − ∑ j = 1 m p j ⋅ l n q j H(p,q) = - \sum_{j=1}^{m}p_j·ln^{q_j} H(p,q)=j=1mpjlnqj
通常表示一个系统的混乱程度.对于交叉熵而言,则是两个向量之间的差异,我们为了让预测值尽可能接近真实值,就要 m i n ( H ( p , q ) ) min(H(p,q)) min(H(p,q)),优化通常使用梯度下降.

神经网络

全连接神经网络

在线性回归中,我们拟合的是一个简单的线性函数,然而在实际中大多数函数是非线性的,因此借助全连接神经网络函数来进行拟合.

首先引入激活函数,使得函数具有非线性,然后通过各个函数的组合叠加,完成对复杂函数的拟合.

上述关于神经网络的拟合可以参考李宏毅老师的视频,生动直接.李宏毅机器学习P4

梯度下降

梯度下降是机器学习中常用的优化方法.

在机器学习中,我们的目标是最小化损失函数.

以简单的模型为例,假设 L L L表示损失函数, W W W表示拟合的参数.

y ~ = W x , L = ∑ ( y − y ~ ) 2 \tilde y = Wx,L = \sum(y - \tilde y)^2 y~=Wx,L=(yy~)2

对于给定的 x x x而言,显然, L L L是关于 W W W的函数.

因为样本数据是已知的,所以 x x x是给定的,我们的目标是求解 W W W,使得 L L L最小.

在一元函数中,导数是速度上升最快的方向,而在多元函数中,梯度是速度上升最快的方向.

在机器学习中,参数通常有多个,因此需要计算梯度.

如果我们沿着梯度的反方向不断更新 W W W,理论上就可以到达 L L L的最小值点,自然也就求出了对应的 W W W.

通俗的理解是,我们站在群山之中,我们只要沿着最陡的地方往下走,就能到达山脚.

这是理想的情况.在实际中,我们可能会到达局部最小点.因为不同的山之间,他们的山脚海拔也不同.
为了解决这一问题,后续产生了很多梯度下降的进阶方法.

反向传播

反向传播的本质是链式法则.

神经网络的每一层都可以看做一个复合函数,所以神经网络本身也是一个巨大的复合函数.

如果需要梯度下降对参数进行更新,就需要用到反向传播.

以第一层的参数 W 1 W_1 W1为例,如果需要梯度下降,那么就需要损失函数 L L L对第一层的参数 W 1 W_1 W1进行求导.

W 1 W_1 W1到损失函数 L L L经过了其它层参数 W 2 , W 3 , ⋅ ⋅ ⋅ W_2,W_3,··· W2,W3,⋅⋅⋅,就需要借助链式法则进行求导,也就是反向传播.

当前的深度学习框架,已经可以直接调用进行方向传播,因此了解过程即可.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值