在本章节中主要讲解的是神经网络的基础知识:
-
非线性假设
-
神经元和大脑
-
模型表示
-
特征和直观理解
-
多类分类问题
非线性假设Non-linear Hypotheses
线性回归和逻辑回归的缺点:特征太多的时候,计算负荷会非常大
假设我们希望训练一个模型来识别视觉对象(例如识别一张图片上是否是一辆汽车),一种方法是我们利用很多汽车的图片
和很多非汽车的图片
,然后利用这些图片上一个个像素的值
(饱和度或亮度)来作为特征。
假设采用的是50*50
像素的小图片,将所有的像素视为特征,则有2500
个特征。
普通的逻辑回归模型不能处理的,需要使用神经网络
神经元和大脑
QClMGV.png模型表示
模型表示1
每个神经元是可以被认为一个处理单元/神经核processing unit/Nucleus,主要包含:
-
多个输入/树突(input/Dendrite)
-
一个输出/轴突(output/Axon)
MxiT4P.png神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络
-
神经网络模型建立在很多神经元之上,每一个神经元又是一个个学习模型
-
神经元称之为激活单元activation unit;在神经网络中,参数又可被成为权重(weight)
-
类似神经元的神经网络
神经网络
下图是逻辑回归模型作为自身学习模型的神经元示例
QC1BYq.png类似神经元的神经网络结构
QC3J41.png-
是输入单元,将原始数据输入给它们
-
几个比较基础的概念
-
输入层:数据节点所在的层
-
网络层:输出连同它的网络层参数
-
隐藏层:网络层中间的层
-
输出层:最后一层
-
偏置单元:
bias unit
,每层加上偏置单元
上面模型的激活单元和输出分别表示为:
QCYGqO.png三个激活单元:
-
**输出的表达式为:**
> 将特征矩阵的每行(一个训练实例)喂给了神经网络,最终需要将整个训练集都喂给神经网络。
这种从左到右计算的算法称之为:前向传播法FORWARD PROPAGATION
模型标记的记忆方法
-
表示的是第层的第个激活单元
-
代表从第层映射到第层的权重矩阵;例如:上图所示的神经网络中的尺寸为 3*4。其尺寸具体表示为
-
以第 层的激活单元数量为行数
-
以第 层的激活单元数+1为列数的矩阵
-
模型表示2
(FORWARD PROPAGATION ) 相对于使用循环来编码,利用向量化的方法会使得计算更为简便。
其中
就是上面三个激活单元式子中的括号里面部分
将输入看成是,则
那么输出h可以表示为
QC02nI.png QC02nI.png特征和直观理解
神经网络中,单层神经元(无中间层)的计算可用来表示逻辑运算,比如逻辑与(AND)、逻辑或(OR)
实现逻辑”与AND”
x_1 | x_2 | h |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
实现逻辑"或OR"
x_1 | x_2 | h |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
实现逻辑“非not”
QC5cvt.png多类分类问题
当输出中不止有两中分类时,比如使用神经网络算法来识别路人、汽车、摩托车等。
QCIpG9.png-
输入向量有3个维度,两个中间层
-
输出层有4个神经元表示4中分类,也就是每一个数据在输出层都会出现,且中仅有一个为1,表示当前类
TF中解决办法
上述多类分类问题和TF中手写数字问题类似,解决办法如下:
-
将输出设置为个输出节点的向量,与类别数相同
-
让第个输出值表示当前样本属于类别的概率P
-
如果属于第类,索引为的位置设置为1,其余为0!!!!
-
下图中:对于所有猫的图片,数字编码是0,
one-hot
编码为[1,0,0,0];其他类推
- 手写数字图片数据
总类别数是10,即输出节点总数值,假设某个样本的类别是,即图片中的数字是,需要一个长度为10的向量,索引号为的位置设置为1,其余是0。
-
0的
one-hot
编码是[1,0,0,0,….] -
1的
one-hot
编码是[0,1,0,0,….] -
其余类推
网友评论