一、神经网络基础
1.感知机
注:感知机是解决分类问题
有n个输入数据,通过权重与各数据之间的计算和,比较激活函数结果,得出输出
应用:很容易解决与、或、非问题
注:一个感知机解决不了的东西,可以用多个感知机
感知机与逻辑回归的联系与区别:
2.神经网络结构
(1)定义:在机器学习和认知科学领域,人工神经网络(artificial neural network,
缩写ANN),简称神经网络(:neural network,缩写NN)或类神经网络,是一
种模仿生物神经网络的结构和功能的计算模型,用于对函数进行估计或近似
(2)神经网络的种类:
基础神经网络:单层感知器,线性神经网络,BP神经网络,Hopfield神经网络等
进阶神经网络:玻尔兹曼机,受限玻尔兹曼机,递归神经网络等
深度神经网络:深度置信网络,卷积神经网络,循环神经网络,LSTM网络等
(3)神经网络的特点
输入向量的维度和输入神经元的个数相同
每个连接都有个权值
同一层神经元之间没有连接
由输入层,隐层,输出层组成
第N层与第N-1层的所有神经元连接,也叫全连接
(4)神经网络的组成
结构(Architecture)例如,神经网络中的变量可以是神经元连接的权重
激励函数(Activity Rule)大部分神经网络模型具有一个短时间尺度的动力学规则,来定义神经元如何根据其他神经元的活动来改变自己的激励值。
学习规则(Learning Rule)学习规则指定了网络中的权重如何随着时间推进而调整。(反向传播算法)
(5)神经网络API模块
在使用tensorflow时候,tf.nn,tf.layers,tf.contrib模块有很多功能是重复的
模块简述:
(1)tf.nn:提供神经网络相关操作的支持,包括卷积操作(conv)、池化操作(pooling)、归一化、loss、分类操作、embedding、RNN、Evaluation
(2)tf.layers:主要提供的高层的神经网络,主要和卷积相关的,对tf.nn的进一步封装
(3)tf.contrib:tf.contrib.layers提供够将计算图中的 网络层、正则化、摘要操作、是构建计算图的高级操作,但是tf.contrib不稳定以及一些实验代码。
二、浅层人工神经网络模型
1、SoftMax回归
特征作用:
- 计算概率值
- 所有类别的概率值相加都等于1
2、损失计算
3、API介绍
(1)全连接-从输入直接到输出
特征加权:
tf.matmul(a, b,name=None)+bias
return:全连接结果,供交叉损失运算
不需要激活函数(因为是最后的输出)
(2)SoftMax计算、交叉熵
tf.nn.softmax_cross_entropy_with_logits(labels=None,
logits=None,name=None)
计算logits和labels之间的交叉损失熵
labels:标签值(真实值)
logits:样本加权之后的值
return:返回损失值列表
(3)损失值列表平均值计算
tf.reduce_mean(input_tensor)
计算张量的尺寸的元素平均值
(4)损失下降API
tf.train.GradientDescentOptimizer(learning_rate)
梯度下降优化
learning_rate:学习率,一般为
minimize(loss):最小化损失
return:梯度下降op