1、损失函数

损失函数式表示神经网络性能的“恶劣程度”的指标。

1.1 均方误差

均方误差一般用在线性回归中

Neural-Network-2 - 图1

  1. import numpy as np
  2. def mean_squared_error(y, t):
  3. return 0.5 * np.sum((y-t)**2)

1.2 交叉熵误差

一般用于逻辑回归中(单分类)

Neural-Network-2 - 图2

  1. import numpy as np
  2. def cross_entropy_error(y, t):
  3. # 表示10的负7次方
  4. delta = 1e-7
  5. return -np.sum(t * np.log(y + delta))

2、one-hot编码

One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。

2.1 为什么采用one-hot编码

将离散型特征使用one-hot编码,确实会让特征之间的距离计算更加合理。一般用在分类特征为离散的情况下

2.2 举例

中国 美国 韩国
[0,0,1] [0,1,0] [1,0,0]

3、误差分析

  • 通过画学习曲线
  • 重新提取特征值

    3.1 度量值

  • 召回率和查准率

4、正则化参数

  • L1正则 → 可以看做是在正常的损失函数后面添加参数的绝对值和

J=J_0+α_w∑∣w
image.png

L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择(因为菱角表较多)
其中a越大,菱形的面积越小,更容易进行特征选择。

  • L2正则 → 可以看做是在正常的损失函数后面添加参数的平方和


J=J_0+α_w∑_w_2
image.png

L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合。
L2正则化通常可以取得参数很小的值,因为参数过小,到这模型的抗干扰能力强,一定程度上防止了过拟合.