试玩 DNNClassifier 一问
- 2020 年 9 月 4 日
- AI
刚学到 Tensorflow 的 Estimator 是非常平民化的 AI 实现途径。
我为了解 tf.estimator 的效果,实验一个矩阵 长300 宽20 里面全放乱数 ( 0 于 1 之间的 float) 当 feature, 然后随便取一条 column 看它是 大于还是小于 0.5 当作 label. 所以这座矩阵的 x y 有很简单的关系,用来考验看看 tf.estimator 能不能看出其中端倪。
附件的 jupyter notebook 程式,任何机器应该都能跑出跟我一样的结果。
让它执行,训练 3000 次就有很好的效果, AI 能准确地预估它没看过的资料, 小脑袋里真长出一套歪理能预估这类数据了。(Tensorboard 的学习曲线如上图)
问题来了,把原来的 feature 矩阵简单地由 宽20 改成 2000 ( feature_width = 2000 ),然后重跑,这 DNN 就不行了,它开始乱猜,全部猜 1 或全部猜 0。(Tensorboard 的学习曲线如上图)
您复制问题前请记得把上回的网络参数都杀掉,位于 working directory 之下的 model\DNN 整个都杀掉即是。
资料本身还是有个规律的,所以 AI 必定能把它找出来, 我是这么期望的。但是当问题虚胖了几个档次,AI 就不行了,我尝试过一些想法都没用,已经一筹莫展,恳请指点一二,非常非常感激!

