31-神经网络-神经网络结构

基础知识

定义:在机器学习和认知科学领域,人工神经网络(artificial neural network,缩写ANN),简称神经网络(:neural network,缩写NN)或类神经网络,是一种模仿生物神经网络的结构和功能的计算模型,用于对函数进行估计或近似。

神经网络的种类
基础神经网络:单层感知器,线性神经网络,BP神经网络,Hopfield神经网络等
进阶神经网络:玻尔兹曼机,受限玻尔兹曼机,递归神经网络等
深度神经网络:深度置信网络,卷积神经网络,循环神经网络,LSTM网络等

神经网络界的大佬:Geoffrey Hinton(Yann lecun的老师)、Yann Lecun、Yoshua bengio、Andrew Ng

在神经网络中,感知机不再被称之为感知机,而是称为神经元
感知机—>神经元—>多个—>神经网络

神经网络的特点

  • 输入向量的维度和输入神经元的个数相同
  • 每个连接都有个权值
  • 同一层神经元之间没有连接
  • 由输入层,隐层,输出层组成
  • 第N层与第N-1层的所有神经元连接,也叫全连接


    神经网络结构图

神经网络的组成

  • 结构(Architecture)例如,神经网络中的变量可以是神经元连接的权重
  • 激励函数(Activity Rule)大部分神经网络模型具有一个短时间尺度的动力学规则,来定义神经元如何根据其他神经元的活动来改变自己的激励值。
  • 学习规则(Learning Rule)学习规则指定了网络中的权重如何随着时间推进而调整。(反向传播算法)

神经网络的多分类有单独的结构
某一个样本—>得出属于全部类别的每一个概率,哪一个概率类别的大, 就取哪一个

神经网络用于分类

api模块
在使用tensorflow的时候,tf.nn,tf.layers,tf.contrib模块有很多功能是重复的:

  • tf.nn:提供神经网络相关操作的支持,包括卷积运算(conv)、池化操作(pooling)、归一化、loss、分类操作、enbedding、RNN、Evaluation
  • tf.layers:主要提供的高层的神经网络,主要和卷积相关的,对tf.nn进一步封装
  • tf.contrib:tf.contrib.layers提供能够将计算图中的 网络层、正则化、摘要操作,是构建计算图的高级操作

浅层人工神经网络模型

SoftMax回归

ps:输出层有多少个神经元,就有多少个偏置

对于输出层,输出的计算的结果,是一些数据,而非直接就是概率,那么如何将这些计算结果和概率联系起来?这就要用到softmax,将其转换成各自的概率

softmax回归的公式

softmax回归的公式

softmax的工作图

经过softmax处理后:

  1. 能够计算概率值
  2. 所有类别的概率值相加都等于1


    softmax的计算图

计算出来的概率,再经过one-hot编码后,才能转换成各自的类别([0 1 0 0 0]的转置)

交叉熵损失

公式

交叉熵损失

一个样本就有一个交叉熵损失(最后要求所有样本的交叉熵损失的平均值),eg:

  • 计算的概率:[0.01 0.02 0.23 ... 0.41]
  • 目标值:[0 1 0 0 ... 0]
  • 则各自的交叉熵损失就是:0log(0.01) 1log(0.02) ...
  • 交叉熵就是衡量概率和结果的两者差异大小的一种方式;交叉熵越大,误差越大,所以我们要做的就是减小交叉熵顿时

几种算法的对比

"""
    算法      策略      优化
线性回归    均方误差    梯度下降
逻辑回归    对数似然损失  梯度下降
神经网络    交叉熵损失   反向传播算法(就是梯度下降)
为什么称为反向传播算法:因为神经网络中有传播的概念,神经网络中权重的更新需要从后往前不断的更新,所以更为反向传播算法
正向传播:特征输入到神经网络中,经过一层层的计算,最终得到输出
"""

你可能感兴趣的:(31-神经网络-神经网络结构)