Slide 31
Slide 31 text
import numpy as np
#
ラベルはone-hot
ベクトル形式
def mixup(data, labels, alpha=1):
sample_num = len(data)
weights = np.random.beta(alpha, alpha, sample_num)
index = np.random.permutation(sample_num)
#
データを混ぜる
x1, x2 = data, data[index]
x = np.array([x1[i] * weights[i] + x2[i] * (1 - weights[i]) for i in range(len(weights))])
#
ラベルを混ぜる
y1 = np.array(labels).astype(np.float)
y2 = np.array(np.array(labels)[index]).astype(np.float)
y = np.array([y1[i] * weights[i] + y2[i] * (1 - weights[i]) for i in range(len(weights))])
return x, y
31 / 43