李宏毅-机器学习-笔记-P3

一、深度学习简介(下)

(一)定义神经网络

上图网络的已知量——feature,即最左侧的:1,1;

经过与黑色箭头上的参数——weight 相乘;

累加:(第一个x=1与w=1相乘)+(第二个x=1与w=-2相乘);

再加上b=1。

结果等于4,然后传入sigmoid函数(蓝色圆圈,neuron,也就是神经元)

即z=4带入到sigmoid函数转换得到0.98.。

同理,得到的输出作为输入再传入下一层。

这样相连就形成了网络,最基础的相连的过程原理其实就是在y=wx+b的理论基础上不断复杂。


相关解释

1.可以将输入看做是一个向量,输出也看作一个向量        

2.当整个网络的参数weight和bias确定时,那么整个网络neuron network就是一个函数即function。确定连接方式后,给其不同的参数,,那么就是不同可能的function,也就是确定了function set 函数集合。

3.上图输入层,隐藏层,输出层。前一层的输出,是当前层的输入。当有好多层隐藏层时,称为deep。

4.矩阵运算

下图可以清楚的看出,可以将网络看作是一个矩阵运算

        矩阵运算就可以使用gpu来计算。

        那么对于此前最原始的网络,输入层之后,输出层之前的部分可以看作是一个特征提取器,已知的x(feature)经过特征提取器(隐藏层)会得到一组向量输出,然后将这组输出作为输入给到输出层,那么可以将这组向量看做是一组新的feature,它不是直接从x中抽出来的,而是x经过很多组hidden层的处理,很复杂的转换后得到的一组feature,然后这组feature可以经过很简单的layer ,multi-classifier就能把它分类好。

        输出层可以看作是多分类器,最后一个layer加上softmax函数,softmax函数会将所得映射到0~1之间。而所得所有数值之和等于一,这就很好用做分类。而不是使用sigmoid函数,因为虽然sigmoid函数也是映射到0~1之间,但是它并不是将前一层所有的输出用作输入,它只考虑了一个neuron,最后得到的所有数值都是0~1,但是其总和并不等于1。

至此,我们就完成了第一步,定义一个神经网络,也就是一个函数。

(二)定义function的好坏

以手写体数字识别任务举例,把图片分为256个像素点,作为输入,即256维输入

输出设为10维,即映射到每一个数字,表示是这个数字的概率。

输入为y,目标为y head

然后计算y 与 y head之间的cross entropy(交叉熵)

首先,使用已知feature-x计算得到y,计算交叉熵

接下来,不断地调整参数,让交叉熵越来越小,找到一组参数也就是θ*或者说找到一个神经网络neuron network能够使得交叉熵最小。

不断调整参数的方法就是L:gradient descent——梯度下降法

和linear regression那边是一样的。

先随机找一组θ,然后计算他的偏微分,然后θ减去(学习率乘以偏微分),得到新的参数θ1,然后反复继续下去,得到最好的θ。

方法是梯度下降法

计算的方式——backpropagation——反向传播算法

二、backpropagation

        反向传播算法是梯度下降法中比较有效率的一种算法,也是梯度下降。

        反向传播算法是怎么运作的,是如何让神经网络的训练变得有效率的。

其中η是学习率,gradient是偏微分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值