内心os:后期还需补代码。
一、使用原因: 当训练集不足够大时,过度学习会导致学习到的模型对本数据集几乎100%契合,但对别的符合条件的数据却无法get到。
训练深度神经网络的时候,总是会遇到两大缺点:
(1)容易过拟合
(2)费时
Dropout可以比较有效的缓解过拟合的发生,在一定程度上达到正则化的效果。
二、dropout:
其实就是让一部分神经元停止工作,避免神经网络获得的参数过多,导致结果过拟合。
三、代码:
import tensorflow as tf
from sklearn.datasets import load_digits
# from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import LabelBinarizer
from sklearn.model_selection import train_test_split
# load data
digits = load_digits()
X = digits.data
y = digits.target
y = LabelBinarizer().fit_transform(y)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size