Keras实践笔记2——logistics回归

1from keras.models import Sequential 2from keras.layers import Dense 3from keras.datasets import mnist 4from keras.utils import np_utils 5 6(X_train, y_train), (X_test, y_test) = mnist.load_data() 7 8X_train = X_train.reshape(60000, 784) 9X_test = X_test.reshape(10000, 784) 10X_train = X_train.astype('float32') 11X_test = X_test.astype('float32') 12X_train /= 255 13X_test /= 255 14 15Y_Train = np_utils.to_categorical(y_train, 10) 16Y_Test = np_utils.to_categorical(y_test, 10) 17 18model = Sequential() 19model.add(Dense(10, input_shape=X_train.shape[1:], activation='softmax')) 20model.compile(optimizer='sgd', loss='categorical_crossentropy', metrics=['accuracy']) 21 22model.summary() 23 24model.fit(X_train, Y_Train, nb_epoch=100, batch_size=128, verbose=2) 25 26 27_________________________________________________________________ 28Layer (type) Output Shape Param # 29================================================================= 30dense_1 (Dense) (None, 10) 7850 31================================================================= 32Total params: 7,850 33Trainable params: 7,850 34Non-trainable params: 0

这次使用的数据集是MNIST数据集,是一个28*28像素的手写图片数据集,首先对训练集和测试集做一次预处理,因为数据集里面的类型是uint8,所以先用astype把数据类型转成了float32,因为图片的像素是0-255,除255的原因是为了归一化。 keras里面有个很好用的工具类to_categorical ,可以帮我们把一个一维的分类数组转成类型是下标,对应下标类型是1,其余是0的这样一个格式

3

3

1

会被转换成 (第一行是下标)

0

1

2

3

0

0

0

1

0

0

0

1

0

1

0

0

然后把处理好的数据传给第一层全连接层,输出的形状是(None, 10),因为MNIST数据集有0-9个种类的数字。这次选用的激活函数是softmax,softmax的特点是假如a>b,那么a取到的概率会比b大,但是偶尔又能取到b compile函数里面出现了一种新的损失函数,叫categorical_crossentropy ,多类的对数损失,它是一个多分类损失函数,可以配合着softmax一起使用。 代码逻辑看完了,说好的logistics回归呢??

77c6a7efce1b9d16757faae8f2deb48f8d5464fa.jpg

由于logistics回归很像S型,所以又被称为了sigmod曲线.....

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )