【实验】手写数字识别--logistic regression

前几周就从网上找到了用logistic regression做手写数字识别的代码,但由于初学python,而且里面用到的模块--theano好像比较麻烦,未能及时完成实验,今天终于完成了,验证了心中的想法。

刚拿到代码时,就跑了一遍,用标准数据集MNIST测试,准确率达到了93%左右,当时略感吃惊,因为这程序只用了logistic regression,未用到hidden layer,也未用到其他特殊的特征提取技巧。

回想起,之前hinton的视频里面好像提到过,这样做logistic regression相当于为每个数字建立了一个template。再细想一下logistic regression的数学原理,这种说法的确非常合理。今天终于搞懂了怎样利用matplotlib作图,也试出来如何将SharedVariable转化成numpy里面的格式,于是对训练后得到权重做了图:(顺序为从0到9)

【实验】手写数字识别--logistic regression_第1张图片【实验】手写数字识别--logistic regression_第2张图片【实验】手写数字识别--logistic regression_第3张图片

【实验】手写数字识别--logistic regression_第4张图片【实验】手写数字识别--logistic regression_第5张图片【实验】手写数字识别--logistic regression_第6张图片

【实验】手写数字识别--logistic regression_第7张图片【实验】手写数字识别--logistic regression_第8张图片【实验】手写数字识别--logistic regression_第9张图片

【实验】手写数字识别--logistic regression_第10张图片

可以从上面的图看到,这些权重能形成一个template,有的相对明显一些,而有的没那么明显。

你可能感兴趣的:(短期总结)