DeepLearning tutorial(1)Softmax回归原理简介+代码详解

本文深入浅出地介绍了Softmax回归的概念,并通过Python的Theano库详细解析了其实现过程,包括加载MNIST数据集并应用于手写数字识别。适合初学者了解和学习。
摘要由CSDN通过智能技术生成

DeepLearning tutorial(1)Softmax回归原理简介+代码详解


@author:wepon

@blog:http://blog.csdn.net/u012162613/article/details/43157801


本文介绍Softmax回归算法,特别是详细解读其代码实现,基于python theano,代码来自:Classifying MNIST digits using Logistic Regression,参考UFLDL


一、Softmax回归简介

关于算法的详细教程本文没必要多说,可以参考UFLDL。下面只简单地总结一下,以便更好地理解代码。
Softmax回归其实就相当于多类别情况下的逻辑回归,对比如下:
逻辑回归的假设函数(hypothesis):


整个逻辑回归模型的参数就是theta,h(*)是sigmoid函数,输出在0~1之间,一般作为二分类算法。对于具体的问题,找出最合适的theta便是最重要的步骤,这是最优化问题,一般通过定义代价函数,然后最小化代价函数来求解,逻辑回归的代价函数为


最小化J(theta),一般采用梯度下降算法,迭代计算梯度并更新theta。

Softmax的假设函数:

逻辑回归里将-theta*x作为sigmoid函数的输入,得到的是0或者1,两个类别。而softmax有有k个类别,并且将-theta*x作为指数的系数,所以就有e^(-theta_1*x)至e^( -theta_k*x)共k项,然后除以它们的累加和,这样做就实现了归一化,使得输出的k个数的和为1,而每一个数就代表那个类别出现的概率。因此:softmax的假设函数输出的是一个k维列向量,每一个维度的数就代表那个类别出现的概率。

  • 20
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值