深度学习算法原理——Softmax回归
来源:互联网 发布:营销软件广告 编辑:程序博客网 时间:2024/05/29 04:51
注:最近打算将UFLDL教程重新看一遍,其实里面有很多关于神经网络以及深度学习的知识点很有用,但是只是学习深度学习的话有一些内容就有点多余,所以想整理一个笔记,记录下神经网络到深度学习的一些知识点。整个教材已经非常好,网上有原版的英文版,也有翻译的中文版,这个只是自己的学习笔记,对原来教程中的内容进行了梳理,有些图也是引用的原来的教程,若内容上有任何错误,希望与我联系,若内容有侵权,同样也希望告知,我会尽快删除。
这个笔记主要分为以下几个部分:
- 神经网络
- 自编码器与稀疏性
- Softmax回归
- 自我学习
- 深度网络
- 其他,如PCA
三、Softmax回归
1、Logistic回归简介
Logistic回归是解决二分类问题的分类算法。假设有
其中,模型的参数为
此时,可以通过梯度下降法对其进行求解,其梯度为:
而:
因此,梯度的公式为:
根据梯度下降法,得到如下的更新公式:
2、Softmax回归简介
Softmax是Logistic回归在多分类上的推广,即类标签
其中
3、Softmax回归的代价函数
类似于Logistic回归,在Softmax的代价函数中引入指示函数
那么,对于Softmax回归的代价函数为:
4、Softmax回归的求解
对于上述的代价函数,可以使用梯度下降法对其进行求解,首先对其进行求梯度:
最终的结果为:
注意,此处的
5、Softmax回归中的参数特点
在Softmax回归中存在着参数冗余的问题。简单来讲就是参数中有些参数是没有任何用的,为了证明这点,假设从参数向量
从上面可以看出从参数向量
为了是算法能够尽可能简单,保留所有的参数,但是对代价函数加入权重衰减来解决参数冗余的问题,权重衰减即对参数进行正则化。
如对参数进行L2正则约束,L2正则为:
此时,代价函数为:
其中,
对该函数的导数为:
5、Softmax与Logistic回归的关系
Logistic回归算法是Softmax回归的特征情况,即
利用Softmax回归参数冗余的特点,令
上述的表达形式与Logistic回归是一致的。
6、多分类算法和二分类算法的选择
有人会觉得对于一个多分类问题,可以使用多个二分类来完成,对于多分类问题是直接选择多分类的分类器还是选择多个二分类的分类器进行叠加,在UFLDL中,作者给出了这样的解释:取决于类别之间是否互斥。
对于一个多分类的问题,是直接选择多分类器直接计算还是选择多个二分类器进行计算取决于问题中类别之间是否互斥。
- 是互斥的 –> Softmax回归
- 不是互斥的 –> 多个独立的Logistic回归
对于Softmax回归更多内容,包括实验可见博客简单易学的机器学习算法——Softmax Regression
参考文献
1、英文版:UFLDL Tutorial
2、中文版:UFLDL教程
若需要PDF版本,请关注我的新浪博客@赵_志_勇,私信你的邮箱地址给我。
- 深度学习算法原理——Softmax回归
- 深度学习7softmax回归
- 深度学习之Softmax回归
- 深度学习入门 ---softmax回归
- 深度学习比较三Softmax回归学习
- 深度学习入门---softmax回归 Python实现
- Softmax回归原理简介
- Softmax回归原理
- MNIST——softmax回归
- 深度学习UFLDL教程翻译之Softmax回归
- 机器学习——线性模型之softmax回归
- 非监督特征学习与深度学习(五)----Softmax 回归(Softmax Regression)
- 机器学习----Softmax回归
- SoftMax回归学习
- 机器学习:Softmax回归
- 深度学习算法原理——神经网络
- UFLDL——Exercise: Softmax Regression (softmax回归)
- 深度学习基础(一) —— softmax 及 logsoftmax
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- Android 关于启动过程的一些文章
- ListView CheckBox 全选,单选
- Python - sorted 排序
- Android实战页面内容加载动画
- 深度学习算法原理——Softmax回归
- 欢迎使用CSDN-markdown编辑器
- 图的深度优先遍历(DFS)
- hibernate生成过后无报错500错误
- asterisk compiling with mp3
- 004 Median of Two Sorted Arrays [Leetcode]
- iOS消息推送注册
- Java 字符串比较 .equals, ==
- QuickSort -- 快速排序(C++)