深度学习算法举例话说网络上有这样一个故事,一个人工智能工程师到一家公司去面试,面试官出了如下的编程题:输入1-1000之间的整数:如果这个数能被3整除,打印Fizz如果能被5整除,打印Buzz如果同时被3和5整除,则打印FizzBuzzFizzBuzz问题这个人思考了一阵子,决定使用TensorFlow来解决这个问题:),不过可惜的是,他最后得到的准确率只有80%左右。所以非常遗憾,他就没有获取这份工作。
深度学习算法举例?话说网络上有这样一个故事,一个人工智能工程师到一家公司去面试,面试官出了如下的编程题:,现在小编就来说说关于深度学习算法举例?下面内容希望能帮助到你,我们来一起看看吧!
深度学习算法举例
话说网络上有这样一个故事,一个人工智能工程师到一家公司去面试,面试官出了如下的编程题:
输入1-1000之间的整数:
如果这个数能被3整除,打印Fizz
如果能被5整除,打印Buzz
如果同时被3和5整除,则打印FizzBuzz
FizzBuzz 问题
这个人思考了一阵子,决定使用TensorFlow来解决这个问题:),不过可惜的是,他最后得到的准确率只有80%左右。所以非常遗憾,他就没有获取这份工作。
这怎么可能,世界还有深度学习解决不了的问题吗?没有!所以看我来搞掂这个问题,我用Keras。
首先,导入类库:
import numpy as np
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.optimizers import SGD, Adam
然后,划分训练集跟测试集,FizzBuzz()方法的功能是将
每个十进制数转换成二制进数组,比如 100 => [ 0,0,0,1,1,0,0,1,0,0] ,共10维。
对应的标签为[0,0,0,1] => 'Fizz' ,[0,0,1,0] =>'Buzz', [0,1,0,0] =>'FizzBuzz', [1,0,0,0] =>'其它' , 共4维
X_Train, Y_train = FizzBuzz(101,1000)
X_test, Y_test = FizzBuzz(1,100)
使用Keras,构造一个四层的神经网络:
输入层10维,
两个隐藏层,一个500个unit,一个100个unit,激活函数是'relu'
输出层4维
model = Sequential()
model.add(Dense(input_dim=10, units=500, activation='relu'))
model.add(Dense(units=100, activation='relu'))
model.add(Dense(units=4, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X_train, Y_train, batch_size=20, nb_epoch=100)
result = model.evaluate(X_test, Y_test, batch_size=200)
print('Test Acc:', result[1])
跑起来,最后的结果非常棒!!
900/900 [==============================] - 0s 73us/step - loss: 0.0010 - acc: 1.0000
Epoch 97/100
900/900 [==============================] - 0s 73us/step - loss: 0.0010 - acc: 1.0000
Epoch 98/100
900/900 [==============================] - 0s 73us/step - loss: 8.9861e-04 - acc: 1.0000
Epoch 99/100
900/900 [==============================] - 0s 72us/step - loss: 9.7935e-04 - acc: 1.0000
Epoch 100/100
900/900 [==============================] - 0s 72us/step - loss: 8.4120e-04 - acc: 1.0000
100/100 [==============================] - 0s 1ms/step
Test Acc: 1.0
耶,成功率100%,所以要是我去面试,这份工作就是囊中之物了,哈哈。
博大家一笑,也自勉自己,千万不要拿了锤子,就看什么都像钉子。