数据处理

机器学习中一般将数据分为训练数据测试数据(也称监督数据)来进行学习和实验,顾名思义就是提取特征参数以及验证准确率(正确的评价模型,称为泛化能力),特别的,对于某一个数据集进行过度拟合称之为过拟合,而关键就在于如何对这些数据进行处理从而能够划分绝大部分未知数据。

损失函数

查找最优权重参数的就是损失函数,它能够用来判断一个神经网络功能的准确性。

  • 均方方差

$k$表示数据维度,$y_k$表示输出数据,$t_k$表示监督数据。

代码表示:

1
2
def mean_squarred_error(y,t):
return np.sum((y-t)**2)/2
  • 交叉熵误差

$y_k$表示输出数据,$t_k$表示正确解标签。正确解标签用$one-hot$​表示(即正确的为1,其余的都为0)。

1
2
3
def cross_entropy_error(y,t):
delta = 1e-7
return -np.sum(t*np.log(y+delta))#保护性政策防止log负无限大
  • mini-batch学习从训练数据中随机抽取$N$个数据进行学习,平均化后获得与数量无关的统一标准。