基于多层感知器(MLP)的softmax多分类代码详解由于keras学习中涉及到很多python统计类型的函数,为了⽅便⼤家学习,对部分代码进⾏详细解说。
代码
import keras
dels import Sequential
from keras.layers import Den, Dropout, Activation
from keras.optimizers import SGD
# ⽣成虚拟数据
import numpy as np
x_train = np.random.random((1000, 20))
y_train = _categorical(np.random.randint(10, size=(1000, 1)), num_class=10)
x_test = np.random.random((100, 20))
y_test = _categorical(np.random.randint(10, size=(100, 1)), num_class=10)
ehcache
model = Sequential()
# Den(64) 是⼀个具有 64 个隐藏神经元的全连接层。
# 在第⼀层必须指定所期望的输⼊数据尺⼨:
# 在这⾥,是⼀个 20 维的向量。
model.add(Den(64, activation='relu', input_dim=20))
model.add(Dropout(0.5))
好莱坞大片推荐
model.add(Den(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Den(10, activation='softmax'))
memoria
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
optimizer=sgd,
metrics=['accuracy'])
model.fit(x_train, y_train,
日企面试epochs=20,
batch_size=128)
score = model.evaluate(x_test, y_test, batch_size=128)
np.random.random((1000, 20))
⽣成⼀个1000x20的矩阵,矩阵中每个数值取值[0.0, 1.0)
每⾏是20个数值。第⼀个中括号表⽰是1000⾏,⾥⾯的每个中括号表⽰每⾏20个数值(或20列)。
例如:np.random.random((2, 20))
北大青鸟培训课程>streetview[[0.76864065 0.16544777 0.91225942 0.96979709 0.97639038 0.81960567
0.10791369 0.14690604 0.295259 0.94330635 0.72380199 0.65406781
2012年考研英语真题0.39281451 0.36129603 0.41686626 0.02929583 0.61383308 0.76576476
0.96673321 0.20488361]
[0.34531702 0.36220246 0.24123767 0.49511975 0.11214061 0.07556306
0.34616241 0.32386213 0.95908638 0.70804342 0.20851361 0.02748738
0.26976578 0.8293944 0.76263526 0.19507013 0.84914938 0.71675057
0.79020945 0.12766118]]
np.random.randint(10, size=(100, 1)
随机⽣成100x1的矩阵。其中每个数值取值[0,10)正整数(0、1、2...9)
例如:np.random.randint(10, size=(5, 1)
[[2]
way什么意思[5]
[2]
[4]
[5]]
_categorical(np.random.randint(10, size=(2, 1)), num_class=10) 1.先⽣成2x1的矩阵,矩阵中每个数值取值[0,10)中的正整数。
[[6]
英语周报教师频道
知道的英文[0]]
2.矩阵中每⾏转化为⼀类(⼀共分为10类)
[[0. 0. 0. 0. 0. 0. 1. 0. 0. 0.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]