TensorFlow 实现 Mnist 数据集的多分类逻辑回归模型

栏目: 编程工具 · 发布时间: 5年前

内容简介:个人网站:   http://thinkgamer.cn/CSDN博客:https://blog.csdn.net/gamer_gyt

TensorFlow 实现 Mnist 数据集的多分类逻辑回归模型

TensorFlow 实现 Mnist 数据集的多分类逻辑回归模型

多分类逻辑回归基于逻辑回归(Logistic Regression,LR)和softMax实现,其在多分类分类任务中应用广泛,本篇文章基于tf实现多分类逻辑回归,使用的数据集为Mnist。

个人网站:   http://thinkgamer.cn/

CSDN博客:https://blog.csdn.net/gamer_gyt

微博:          https://weibo.com/5352480017

微信公众号:数据与算法联盟(DataAndAlgorithm)

多分类逻辑回归的基础概要和在Spark上的实现可参考:

  • 多分类逻辑回归(Multinomial Logistic Regression)

  • 多分类实现方式介绍和在Spark上实现多分类逻辑回归(Multinomial Logistic Regression)

本篇文章涉及到的tf相关接口函数及释义如下:

tf.nn.softmax

Softmax 在机器学习和深度学习中有着非常广泛的应用。尤其在处理多分类(C > 2)问题,分类器最后的输出单元需要Softmax 函数进行数值处理。关于Softmax 函数的定义如下所示:

TensorFlow 实现 Mnist 数据集的多分类逻辑回归模型

其中,Vi 是分类器前级输出单元的输出。i 表示类别索引,总的类别个数为 C。Si 表示的是当前元素的指数与所有元素指数和的比值。Softmax 将多分类的输出数值转化为相对概率,更容易理解和比较。我们来看下面这个例子。

一个多分类问题,C = 4。线性分类器模型最后输出层包含了四个输出值,分别是:

TensorFlow 实现 Mnist 数据集的多分类逻辑回归模型

经过Softmax处理后,数值转化为相对概率:

TensorFlow 实现 Mnist 数据集的多分类逻辑回归模型

很明显,Softmax 的输出表征了不同类别之间的相对概率。我们可以清晰地看出,S1 = 0.8390,对应的概率最大,则更清晰地可以判断预测为第1类的可能性更大。Softmax 将连续数值转化成相对概率,更有利于我们理解。

实际应用中,使用 Softmax 需要注意数值溢出的问题。因为有指数运算,如果 V 数值很大,经过指数运算后的数值往往可能有溢出的可能。所以,需要对 V 进行一些数值处理:即 V 中的每个元素减去 V 中的最大值。

TensorFlow 实现 Mnist 数据集的多分类逻辑回归模型

tf中的softmax函数接口为:

  • logits:非空张量

  • axis:将被执行的softmax纬度,默认为None

  • name:名称,默认为None

  • dim:axis的别名,默认为None

tf.log()

计算元素的自然对数

tf.reduce_sum()

求和

tf.reduce_mean()

求平均数

tf.argmax()

返回tensor 列表中最大值索引号,eg:

tf.cast()

数据格式转换,eg:

最终实现代码

运行代码输出为:

从最终的结果可以看出:

  • loss一直在下降,说明模型是拟合的

  • 训练集和测试机的精确率都很高,模型效果表现不错

  • 当然也可以通过调节batch_size,epochs等参数进行效果调优

关于【数据与算法联盟】

专注于推荐系统,深度学习,机器学习,数据挖掘,云计算,人工智能,架构和编程等技术干货的分享和探讨,偶尔会推送一些福利,文字,摄影和游记,扫码关注,不再孤单。

TensorFlow 实现 Mnist 数据集的多分类逻辑回归模型

更多干货,扫码关注

相关文章

深度学习中的epochs、batch_size、iterations详解

转载 | 十图详解tensorflow数据读取机制(附代码)

TensorFlow的逻辑回归实现

TensorFlow实现线性回归

TensorFlow的MNIST学习

TensorFlow安装、变量学习和常用操作

欢迎投稿,凡是投稿一经录用者,赠送技术图书和相关学习资料

国内各大互联网公司,可内推

关注公众号,加小编微信,拉你进

数据与算法交流群”


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

理解专业程序员

理解专业程序员

(美)杰拉尔德·温伯格(GeraldM.Weinberg) / 刘天北 / 清华大学出版社 / 2006-7 / 25.00元

《理解专业程序员》通过行内专家的独特视角,介绍了如何成为优秀程序员,如何提高工作绩效等问题。全书由多篇讨论程序员职业的短文组成,内容精彩绝伦,是一部任何在这个变化急剧的领域工作的人都不可错过的重要作品。本书论述生动翔实——你肯定能从中认出你自己和你的公司的故事——因此不仅极富教益,而且读来也引人入胜。 各篇主题包括:对于专业程序员重要的若干问题,成为专业程序员的途径,在企业官僚体......一起来看看 《理解专业程序员》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具