最近在跟着Datawhale组队学习打卡,学习李宏毅的机器学习/深度学习的课程。 课程视频:https://www.bilibili.com/video/BV1Ht411g7Ef 开源内容:https://github.com/datawhalechina/leeml-notes 本篇文章对应视频中的P13。另外,最近我也在学习邱锡鹏教授的《神经网络与深度学习》,会补充书上的一点内容。
通过上一次课2.回归,我们了解到误差和梯度下降。本篇文章主要介绍深度学习介绍和反向传播机制。
1. 深度学习
在前面的文章中提到过机器学习有三个步骤,对于deep learning其实也是3个步骤:(1)神经网络(Neural network);(2)模型评估(Goodness of function);(3)选择最优函数(Pick best function)
1.1 神经网络
神经网络里面的节点,类似神经元。有很多逻辑回归函数,其中每个逻辑回归都有自己的权重和自己的偏差,这些权重和偏差就是参数
θ
\theta
θ。
- 完全连接前馈神经网络 Fully Connect Feedforward Network
如果一个神经网络中的权重和偏差都知道的话,可以把它看做一个function。图中每个神经元都是一个sigmoid函数。 (1)fully connect:两层之间的neuron神经元两两相连。(2)Feedforward前馈:传递的方向是由后往前传 通常分为3层:输入层,隐藏层,输出层 - 矩阵计算 matrix operation
整个神经网络运算就相当于一连串的矩阵运算。 本质:通过隐藏层进行特征转换。(1)隐藏层通过特征提取来替代原来的特征工程,提取得到的一组最好的特征;(2)输出层就是把前面的隐藏层的输出当做输入,再通过一个多分类器(可以是softmax函数)得到最后的输出y。
举一个手写数字体识别的例子: (1)输入:一个16*16=256维的向量,每个pixel对应一个dimension,有颜色用(ink)用1表示,没有颜色(no ink)用0表示 输出:10个维度,每个维度代表一个数字的置信度。 (2)输出:每一个维度对应输出一个数字,说明这张图片是2的可能性。 (3)function:输入是256维的向量,输出是10维的向量
1.2 模型评估
一般采用损失函数来反应模型的好差。不仅要计算一笔数据的,而是要计算整体所有训练数据的损失,然后把所有的训练数据的损失都加起来,得到一个总体损失L。
1.3 选择最优函数
在深度学习中,仍然是使用gradient descent 梯度下降。
未完,明天继续写
|