美文网首页Keras酱爱深度学习
0. Keras神经网络基础知识

0. Keras神经网络基础知识

作者: 海猫HaiMao | 来源:发表于2019-01-10 17:06 被阅读0次

1. 感知机

要理解神经网络,首先我们先来理解感知机。感知机是一个简单的算法,给定n维向量x (x1, x2, ..., xn)作为输入,通常称作输入特征或简单特征,输出为0或者1。
数学上我们定义以下函数:

当 wx + b > 0 时,f(x)=1
当 wx + b < 0 时,f(x)=0

这里,w是权重向量,w·x是向量wx的点积,b是偏差。事实上wx + b定义了一个边界超平面,你可以设置w和b的值来改变它的位置。如果所给的点(x)在超平面(直线)之上,则结果为正,否则结果为负。但是感知机只能表示确定答案而不能表示非确定性答案。下面有一个动图可以帮助理解感知机。

感知机将线性可分的数据集分开
数据集线性不可分的情况(不断震荡)

如果我们知道wb就能回答1或者0,寻找wb的过程就是神经网络的训练过程

2. 模型

Keras的原始构造模块是模型(model),模型有很多,其中最简单的模型被称为序贯(Sequential)模型。
Sequential模型是多个神经网络层的线性堆叠,也就是“一条路走到黑”。

  1. 可以通过向Sequential模型传递一个layer的list来构造该模型
from keras.models import Sequential
from keras.layers import Dense, Activation
model= Sequential([
Dense(32, units=784),
Activation('relu'),
Dense(10),
Activation('softmax'),
  1. 也可以通过.add()方法一个个的将layer加入模型中
model = Sequential()
model.add(Dense(32, input_shape=(784,)))
model.add(Activation('relu'))

3. 神经网络层(Layer)与多层感知机

神经网络中有许多的层,你可以向你的模型中加入各种各样的层,这里仅介绍神经网络中最简单的Dense层(全连接层)
“全连接”表示上一层的每一个神经元,都和下一层的每一个神经元是相互连接的。这里,每一层神经元就是上一节所说的感知机。可以由下面的图帮助理解。


全连接层

多层神经网络构成了多层感知机


多层神经网络

4. 激活函数

4.1 感知机训练方案中存在的问题

当没有神经网络的时候,神经元对数据的处理就是基于权重和偏移做线性变换。线性变换很简单,但是限制了对复杂任务的处理能力。没有激活函数的神经网络就是一个线性回归模型。


感知机的结果只有0和1

感知机不能表现出“一点一点”的渐进学习行为,它是突变的,它的结果只有0和1。如果我们需要得到一个0到1之间的值,感知机就不能胜任了。
于是我们需要一个更平滑的东西,一个从0到1逐渐变化不间断(连续可导)的函数。这就是激活函数。激活函数做的非线性变换可以使得神经网络处理非常复杂的任务。

4.2 激活函数——sigmoid

sigmoid函数的定义如下:


典型的sigmoid函数
z = wx + b作为sigmoid函数的输入,如果z = wx + b是非常大的正值,那么sigmoid函数趋于1,如果z = wx + b是非常大的负值,那么sigmoid函数趋于0。这和感知机具有类似的行为,但它的变化是渐进的,这正是我们想要的。
4.3 softmax——sigmoid函数的拓展

softmax把一些输入映射为0-1之间的实数,并且归一化保证和为1,因此多分类的概率之和也刚好为1。
softmax 与 k个二元分类器 的区别:
如果你在开发一个音乐分类的应用,需要对k种类型的音乐进行识别,那么是选择使用 softmax 分类器呢,还是使用 logistic 回归算法建立 k 个独立的二元分类器呢?
这一选择取决于你的类别之间是否互斥,例如,如果你有四个类别的音乐,分别为:古典音乐、乡村音乐、摇滚乐和爵士乐,那么你可以假设每个训练样本只会被打上一个标签(即:一首歌只能属于这四种音乐类型的其中一种),此时你应该使用类别数 k = 4 的softmax回归。(如果在你的数据集中,有的歌曲不属于以上四类的其中任何一类,那么你可以添加一个“其他类”,并将类别数 k 设为5。)
如果你的四个类别如下:人声音乐、舞曲、影视原声、流行歌曲,那么这些类别之间并不是互斥的。例如:一首歌曲可以来源于影视原声,同时也包含人声 。这种情况下,使用4个二分类的 logistic 回归分类器更为合适。这样,对于每个新的音乐作品 ,我们的算法可以分别判断它是否属于各个类别。

4. 激活函数与神经网络的关系
image

相关文章

网友评论

    本文标题:0. Keras神经网络基础知识

    本文链接:https://www.haomeiwen.com/subject/kkearqtx.html