损失函数及其代码实现

1.均方误差

import numpy as np


def mean_squared_error(y, t):
    return 0.5 * np.sum((y-t)**2)

2.交叉熵误差

import numpy as np


def cross_entropy_error(y, t):
    delta = 1e-7
    return -np.sum(t * np.log(y + delta))

3.mini-batch版交叉熵误差的实现

import numpy as np


def cross_entropy_error(y, t):
    if y.ndim == 1:
        t = t.reshape(1, t.size)
        y = y.reshape(1, y.size)

    batch_size = y.shape[0]
    return -np.sum(t * np.log(y + 1e-7)) / batch_size
# 当监督数据是标签形式(非one-hot表示,而是像“2”、“7”这样的标签),交叉熵误差可通过如下代码实现。
def cross_entropy_error(y, t):
    if y.ndim == 1:
        t = t.reshape(1, t.size)
        y = y.reshape(1, y.size)
    
    
    batch_size = y.shape[0]
    return -np.sum(np.log(y[np.arange(batch_size), t] + 1e-7)) / batch_size

你可能感兴趣的:(深度学习学习笔记,python,深度学习,机器学习)