【李宏毅ML笔记】18 Fizz Buzz in TensorFlow

硬train一代的代表故事

fizz buzz,如给你100个数,如果能被3整除,输出fizz,如果能被5整除,输出buzz,如果能被两者整除,则输出fizz buzz。如下:

【李宏毅ML笔记】18 Fizz Buzz in TensorFlow

900个样本,每个样本代表一个数字,并且有二进制数值表示。

观察样本,第一个数字是101,则二进制表示为1010011000,

【李宏毅ML笔记】18 Fizz Buzz in TensorFlow

下面观察label,

如果不是被3,5或同时被整除,则保留原数。所以共有4种情况,“原数,fizz,buzz,fizzandbuzz”

【李宏毅ML笔记】18 Fizz Buzz in TensorFlow

下面代码

inputlayer是10维度(0位到10位),为中间隐层输出100维,最终输出4维。**函数用relu,compile配置中,是做分类,学习率优化函数是adam,再设置batchsize和epoch即可。

【李宏毅ML笔记】18 Fizz Buzz in TensorFlow

结果:

【李宏毅ML笔记】18 Fizz Buzz in TensorFlow

training data正确率才80%左右,testdata正确率76%,说明Network还没有在trainningdata上完全fit,可调整:

可以调大hiddenlayer的神经元维数可以从100调到1000等,以及调整**函数、学习率,一起一些其他的机器学习手段等等。