首页 > 其他 > 详细

6.正则化

时间:2019-09-22 16:07:46      阅读:106      评论:0      收藏:0      [点我收藏+]
1 import numpy as np
2 from keras.datasets import mnist
3 from keras.utils import np_utils
4 from keras.models import Sequential
5 from keras.layers import Dense
6 from keras.optimizers import SGD
7 from keras.regularizers import l2
# 载入数据
(x_train,y_train),(x_test,y_test) = mnist.load_data()
# (60000,28,28)
print(x_shape:,x_train.shape)
# (60000)
print(y_shape:,y_train.shape)
# (60000,28,28)->(60000,784)
x_train = x_train.reshape(x_train.shape[0],-1)/255.0
x_test = x_test.reshape(x_test.shape[0],-1)/255.0
# 换one hot格式
y_train = np_utils.to_categorical(y_train,num_classes=10)
y_test = np_utils.to_categorical(y_test,num_classes=10)

# 创建模型
model = Sequential([
        Dense(units=200,input_dim=784,bias_initializer=one,activation=tanh,kernel_regularizer=l2(0.0003)),
        Dense(units=100,bias_initializer=one,activation=tanh,kernel_regularizer=l2(0.0003)),
        Dense(units=10,bias_initializer=one,activation=softmax,kernel_regularizer=l2(0.0003))
    ])

# 定义优化器
sgd = SGD(lr=0.2)

# 定义优化器,loss function,训练过程中计算准确率
model.compile(
    optimizer = sgd,
    loss = categorical_crossentropy,
    metrics=[accuracy],
)

# 训练模型
model.fit(x_train,y_train,batch_size=32,epochs=10)

# 评估模型
loss,accuracy = model.evaluate(x_test,y_test)
print(\ntest loss,loss)
print(test accuracy,accuracy)

loss,accuracy = model.evaluate(x_train,y_train)
print(train loss,loss)
print(train accuracy,accuracy)

 

6.正则化

原文:https://www.cnblogs.com/liuwenhua/p/11566984.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!