关闭

逻辑回归与softmax回归

443人阅读 评论(0) 收藏 举报
分类:

深度神经网路已经在语音识别,图像识别等领域取得前所未有的成功。本人在多年之前也曾接触过神经网络。本系列文章主要记录自己对深度神经网络的一些学习心得。


第四篇,谈谈我对逻辑回归和softmax回归的一点理解。网络上对逻辑回归和softmax回归论述也很多,包括各种不同语言的代码,都可以下载到。


1.  逻辑回归源于线性回归模型。

     线性回归问题的自变量是连续变量,而逻辑回归问题的自变量一般是取值为离散的名义变量,例如,男,女。逻辑回归是对因变量和自变量之前发生关系的概率解释。例如,某种疾病的发生与抽烟的关系,这种关系可以解释为抽烟会导致这种疾病发生的概率值。当逻辑回归用于分类的时候,分类器的阈值点就是0.5。


2. 优化算法

    回归问题是统计学里面最基础的问题。在统计学里面,一般采用最大似然和最小二乘法直接导出解析解。具体可以参考任何一般统计学的教材。其解析解里面有一个矩阵的逆。求逆和伪逆运算有一些快速算法可以利用。所以对于数据量小的回归问题,直接用解析解就可以快速的得到模型的参数。而对于数据挖掘,海量数据导致内存的开销巨大,这时候直接求解析解是不现实的。于是,在机器学习相关的教程里面,对于回归问题,描述的都是迭代算法。基于随机梯度下降的迭代算法的好处是,内存开销小。


3. 对开源softmax回归的一点解释

   对深度学习的开源代码中有一段softmax的代码,下载链接如下:

   https://github.com/yusugomori/DeepLearning

   这个开源的代码是实现了深度网络的常见算法,包括c,c++,java,python等不同语言的版本。


  softmax回归中有这样一段代码:

  1.    void LogisticRegression_softmax(LogisticRegression *thisdouble *x) {  
  2.   int i;  
  3.   double max = 0.0;  
  4.   double sum = 0.0;  
  5.   
  6.   
  7.   for(i=0; i<this->n_out; i++) if(max < x[i]) max = x[i];  
  8.   for(i=0; i<this->n_out; i++) {  
  9.     x[i] = exp(x[i] - max);  
  10.     sum += x[i];  
  11.   }  
  12.   
  13.   for(i=0; i<this->n_out; i++) x[i] /= sum;  
  14. }  


乍一看这段代码,发现它和文献中对softmax模型中参数优化的迭代公式中是不一样!其实,如果没有那个求最大值的过程,直接取指数运算就一样的。而加一个求最大值的好处在于避免数据的绝对值过小,数据绝对值太小可能会导致计算一直停留在零而无法进行。就像对数似然函数,似然函数取对数防止概率过小一样。


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

机器学习之逻辑回归和softmax回归及代码示例

一、逻辑回归在 机器学习之线性回归 中,我们可使用梯度下降的方法得到一个映射函数hΘ(X)来去贴近样本点,这个函数是对连续值的一个预测。而逻辑回归是解决分类问题的一个算法,我们可以通过这个算法得到一个...
  • cxmscb
  • cxmscb
  • 2016-11-29 16:48
  • 4865

机器学习方法(五):逻辑回归Logistic Regression,Softmax Regression

欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld。 技术交流QQ群:433250724,欢迎对算法、技术、应用感兴趣的同学加入。 逻辑回归可以说是最为常用...
  • xbinworld
  • xbinworld
  • 2015-05-12 22:56
  • 6446

机器学习(四)从信息论交叉熵的角度看softmax/逻辑回归损失

机器学习中会常见到softmaxLoss,逻辑回归损失(或者叫交叉熵损失),这两种损失的来源可以由两方面考虑,一方面可以看做是来源于概率论中的极大似然估计,此部分可参见机器学习(二),另一方面可以看做...
  • u012177034
  • u012177034
  • 2017-03-10 19:53
  • 1694

彻底搞懂softmax、逻辑回归

1 使用Tensorflow对minist进行分类,使用最简单的softmax,下面是代码:import tensorflow as tf from tensorflow.examples.tutor...
  • masbbx123
  • masbbx123
  • 2018-01-09 13:57
  • 19

逻辑回归与softmax回归

深度神经网路已经在语音识别,图像识别等领域取得前所未有的成功。本人在多年之前也曾接触过神经网络。本系列文章主要记录自己对深度神经网络的一些学习心得。 第四篇,谈谈我对逻辑回归和softmax...
  • celerychen2009
  • celerychen2009
  • 2013-06-03 17:15
  • 17172

逻辑回归解决多分类和softmax

我们已经知道,普通的logistic回归只能针对二分类(Binary Classification)问题,要想实现多个类别的分类,我们必须要改进logistic回归,让其适应多分类问题。 关于这种改...
  • SZU_Hadooper
  • SZU_Hadooper
  • 2017-11-23 21:01
  • 102

scikit-learn 逻辑回归类库使用小结

原文出处:http://www.cnblogs.com/pinard/p/6035872.html 1. 概述     在scikit-learn中,与逻辑回归有关的主要是这3个类。Log...
  • Read__Book
  • Read__Book
  • 2017-03-01 15:35
  • 658

Softmax回归原理简介

DeepLearning tutorial(1)Softmax回归原理简介+代码详解 @author:wepon @blog:http://blog.csdn.net/u0...
  • a14206149
  • a14206149
  • 2016-03-09 13:43
  • 1120

使用fminunc找逻辑回归(logistic)代价函数的最小值

在看完UFLDL自编码器autoencoder的代码后,发现其中的训练过程并不是使用训练的手段找到最优的参数theta,而是使用了minFunc寻找代价函数的最小值,并返回优化后的参数theta。其中...
  • liuheng0111
  • liuheng0111
  • 2016-09-13 01:23
  • 508

ufldl学习笔记与编程作业:Softmax Regression(softmax回归)

ufldl学习笔记与编程作业:Softmax Regression(softmax回归) ufldl出了新教程,感觉比之前的好,从基础讲起,系统清晰,又有编程实践。 在deep learning高质...
  • linger2012liu
  • linger2012liu
  • 2014-08-07 01:51
  • 6024
    个人资料
    • 访问:120961次
    • 积分:1828
    • 等级:
    • 排名:千里之外
    • 原创:55篇
    • 转载:49篇
    • 译文:0篇
    • 评论:22条
    最新评论