当前位置:   article > 正文

深度学习之线性模型与神经网络_讨论线性模型与神经网络方法的异同

讨论线性模型与神经网络方法的异同

深度学习之线性模型与神经网络

神经网络是对线性模型的升级,使之能对线性不可分的数据集达到好的分类效果。

在线性模型中,利用矩阵乘法得到由图像像素到分值向量的映射,图像的像素被拉伸成一个输入行向量,参数是矩阵,输出是分值向量,其维数是类别的数量。
相比于线性模型,神经网络的核心是引入非线性激活函数和多层结构。

1. 非线性激活函数

  • sigmoid 激活函数
  • tanh 激活函数
  • ReLU 激活函数
  • Leaky ReLU 激活函数
  • PReLU 激活函数
  • ELU 激活函数

在同一个网络中一般使用同一种激活函数,而不混合使用多种激活函数
在目前的实践中,推荐使用 ReLU 激活函数。
tanh理论上不如ReLU, 不推荐使用tanh

2. 多层结构

每次线性变换的输出向量都需要进行非线性变换。注意:最后一次的线性变换不需要进行非线性变换,因为最后的输出y多用于表示分值(分类),可以是任意的实数值,或者是实数值的目标值的回归。

例如:三次变换的公式为:
h1=f(xW1) h2=f(h1W2) y=h2W3

  • 在神经网络术语中, x是输入层, y称为输出层, 中间变换层h1和h2称为隐含层,非线性函数f称为激活函数。
  • 存在多少次线性变换,就称为多少层神经网络,所以上面的网络是三层网络。
  • 网络的深度是网络的层数。
  • 隐含层向量的维数称为网络宽度。
  • 向量元素称为神经元。

3. 代码实现

3.1 线性模型

s1=x1W+b
s2=x2W+b
...
sn=xnW+b
得到
S=XW+B
每个样本的分值向量组成分值矩阵S的一行,每个样本属性向量组成样本属性矩阵X的一行。矩阵X也称为数据矩阵,偏置矩阵B的每行都是偏置向量b, W为输入各向量对应的权重,都一样。

代码: 线性模型(定义)

import numpy as np

D=784 # 数据维度
K=10 # 类别数
N=128 # 样本数量

X=np.random.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/430681
推荐阅读
相关标签
  

闽ICP备14008679号