机器学习实战篇——用卷积神经网络算法在Kaggle上跑个分

  • 时间:
  • 浏览:5
  • 来源:uu快3新平台_uu快3诀窍_讨论群

最后这两行代码就完成了数据的初始化。

第二层

此时,神经网络以及高度学习,尤其是卷积神经网路(CNN)就派上用场了。

Intialize Variables

至此,可是 完整性的用Tensorflow 训练CNN的过程就介绍完了,当然要最后还需用保存模型,用模型对新的数据进行预测,关于这每项的内容就留给读者自己吧。

模型要进行3000000次的迭代,亲戚亲戚朋友需用将每3000此迭代的结果打印出来。完整性代码如下

这是本问最难的每项,作用实际上可是 对数据进行处理,转加进去TensorFlow 读得懂的数据。

x 输入,y输出,hold_prob用于dropout(如此来很多解释,主要用于随机丢弃神经元的两种 正则化的辦法 )

从AI学习笔记——卷积神经网络(CNN)的文章中亲戚亲戚朋友知道,一张图片有可是 维度——长,宽,颜色通道。对于本文中的黑色图片,第可是 维度为1。在加进去去样本的个数(n),整个训练样本应该是可是 (nx28x28x1)的四维Tensor(张量)。set_up_images(self)函数可是 将图片转加进去可是 的Tensor。next_batch()函数则是n个训练样本分成若干个batch, 可是 可是 地送给模型(两种叫mini batch)。

AI学习笔记——神经网络和高度学习

AI学习笔记——卷积神经网络1(CNN) ————

最后得到了98%的准确率

真正的代码就这两行, 实际上可是 将过后 帮助函数中定义的mini batch 送到模型中进行训练。

使用高度学习的辦法 当然就要用到大名鼎鼎的TensorFlow。

Dropout 和 输出

过后 的文章简单介绍了Kaggle平台以及如何用支撑向量(SVM)的机器学习算法识别手写数字图片。可见即使不需要神经网络,传统的机器学习算法在图像识别的领域不需要 取得不错的成绩(我跑出来了97.2% 的正确率), 可是 要将正确率再往上提升就会遇到瓶颈了。

过后 的准备工作妥当过后 ,实际上训练模型的代码就很短了。用Tensorflow训练模型,都需用在可是 Session 之内可是 初始化(也有套路)。

Loss Function

第三层, 全连接

哪此函数是为了比较复杂Tensorflow 创建神经网络的辦法 ,根据从过后 文章对CNN的介绍,亲戚亲戚朋友需用卷积层,Pooling(池化)层,以及全连接层等等。

这里用到了TensorFlow, 也许会过后 在单独的文章中介绍如何使用,这里简单介绍一下。

使用TensorFlow 首先是要创建可是 computation graph(计算图谱),也可是 先告诉计算机模型是如何的,包括神经网络有几条层,每层几条个神经元,输入输出数据的格式是怎的。此时还如此开使了了英文计算。

与过后 一样,需用对数据进行分成Train 和 Test 可是 组。

用CNN的网络,在同样的平台上,目前我将手写图片识别的正确率提高到了99.1%,排名全球900多名左右。

亲戚亲戚朋友知道,哪此图片的标签(识别结果)可是 是0到9的10个数字,结果可是 可是 nx1的矩阵,n是训练样本的个数。为了让模型更加方便位于理数据(计算机是二进制的,最好给它0,1的数据),需用将数据转加进去nx10的矩阵。比将会其中可是 样板的标记是3,如此两种行的数列就应该是[0,0,0,1,0,0,0,0,0,0], 将会是9励志的话 [0,0,0,0,0,0,0,0,0,1]。所有的样本叠起来可是 可是 nx10的矩阵。

————

相关文章

Optimizer

第一层,卷积+Pooling