逻辑回归与神经网络还有Softmax regression的关系与区别
本文讨论的关键词:Logistic Regression(逻辑回归)、Neural Networks(神经网络)
之前在学习LR和NN的时候,一直对它们独立学习思考,就简单当做是机器学习中的两个不同的models,从来没有放在一起观察过,最近通过阅读网络资料,才发现,原来LR和NN之间是有一定的联系的,了解它们之间的联系后,可以更好地理解
Logistic Regression(逻辑回归)和Neural Networks(神经网络)
- Logistic Regression:典型的二值分类器,用来处理两类分类问题,当然,也可以用来处理多类问题,但要转换为One-vs-All或者是One-vs-One问题;Andrew Ng的机器学习课程中有对此的详细介绍
- 专门用来进行多类分类问题的多维逻辑回归器为:
Softmax regression / multinomial Logistic Regression; - 虽然逻辑回归器有许多的kernelized variants,但standard model(即最原始的LR)是一个线性分类器,主要用来处理数据集为more or less线性可分的情况;
- 专门用来进行多类分类问题的多维逻辑回归器为:
- Neural Networks:神经网络,由多个神经元构造,可以有多个输入、多个输出
Logistic Regression(逻辑回归)和Neural Networks(神经网络)之间到底有什么关系呢?
Logistic Regression
Basically, we can think of logistic regression as a one layer neural network.
实际上,可以将Logistic Regression看做是仅含有一个神经元的单层的神经网络!
- 下面以图例的方式给出了Logistic Regression的结构,该图清晰地展示了Logistic Regression的结构
图中的Activation function为sigmoid function(也称为logistic activation functions),该激活函数的示意图如下: - 从该图中可以看到,LR结构图的前半部分(不包含step function的部分,如下图红框所示)其实就是一个简单的神经元模型(关于神经网络的介绍见下文)
- 上图中绿色框中的部分为LR的threshold function(这里使用了step function),用来对前面激活函数的输出进行相应的阈值处理,从而实现两类分类问题(例如,threshold function函数输出为0时,对应类1,threshold function函数输出为1时,对应类2)
Softmax regression
Softmax regression其实是多维的Logistic regression,它其实可以看做是单层多个神经元的神经网络!
下图给出了softmax regression的基本结构,可以看到,其实,softmax regression可以看做是含有k个神经元的一层神经网络,
这里应该注意到:
- 如果仅仅是要进行类别的预测,那么,只需要计算到sigma即可,不需要再求后面的softmax函数(上图所示的函数,注意,它与logistic regression中用到的sigmoid函数是不同的)
- 使用softmax函数,只是为了使输出具有概率意义,并且,有利于利用训练集去学习网络的权值;也可以这样理解,其实,softmax function只是在train的时候比较有用,利用它学习完网络参数后,在做predict的时候,其实就不需要它了(因为它是增函数)
神经网络的激活函数
神经元对应的激活函数
在神经网络中,神经元的激活函数多用sigmoid function,上面提到的logistic regression也用到了该函数,但实际上,另外一个激活函数:tanh函数的效果要比sigmoid函数好些,因为tanh函数并不会将神经元的输出局限于大于0,tanh的函数输出值区间为[-1,1]
tanh = the hyperbolic tangent
仍考虑具有sigmoid fucntion的神经元:logistic regression的一个优点是logistic cost fucntion (or max-entropy) 是一个凸函数,可以求得全局最小值。
关于神经网络的代价函数
但是,对于神经网络而言,由于它将多个sigmoid function连接在一起了,这种凸函数的性质将不存在了。对于仅含有一个权值的多层神经网络(认为其他权值都为已知),它的cost function也具有非常崎岖的性质,如下图所示,可以看到,该cost function具有多个局部最小值
实际应用中,对于仅含有一个或者两个隐藏层的神经网络而言,它的cost function虽然是非凸的,但是利用误差反向传播算法,可以得到还不错的效果,虽然可能得到的是个局部极小值(a local minima),但分类效果还是不错的。
转载自 http://blog.csdn.net/tina_ttl/article/details/51547428
逻辑回归与神经网络还有Softmax regression的关系与区别的更多相关文章
- 【原】Coursera—Andrew Ng机器学习—编程作业 Programming Exercise 3—多分类逻辑回归和神经网络
作业说明 Exercise 3,Week 4,使用Octave实现图片中手写数字 0-9 的识别,采用两种方式(1)多分类逻辑回归(2)多分类神经网络.对比结果. (1)多分类逻辑回归:实现 lrCo ...
- 逻辑回归的分布式实现 [Logistic Regression / Machine Learning / Spark ]
1- 问题提出 2- 逻辑回归 3- 理论推导 4- Python/Spark实现 # -*- coding: utf-8 -*- from pyspark import SparkContext f ...
- SAS LOGISTIC 逻辑回归中加(EVENT='1')和不加(EVENT='1')区别
区别在于:最大似然估计分析中估计是刚好正负对调加上EVENT:%LET DVVAR = Y;%LET LOGIT_IN = S.T3;%LET LOGIT_MODEL = S.Model_Params ...
- Python实践之(七)逻辑回归(Logistic Regression)
机器学习算法与Python实践之(七)逻辑回归(Logistic Regression) zouxy09@qq.com http://blog.csdn.net/zouxy09 机器学习算法与Pyth ...
- 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)
http://blog.csdn.net/zouxy09/article/details/20319673 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression) z ...
- 逻辑回归原理_挑战者飞船事故和乳腺癌案例_Python和R_信用评分卡(AAA推荐)
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...
- 100天搞定机器学习|Day17-18 神奇的逻辑回归
前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机 ...
- Coursera《machine learning》--(6)逻辑回归
六 逻辑回归(Logistic Regression:LR) 逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就是由于这个逻辑函数,使得 ...
- 转载:逻辑回归的python实现
转载自:http://blog.csdn.net/zouxy09/article/details/20319673 一.逻辑回归(LogisticRegression) Logistic regres ...
随机推荐
- [转] 安装npm全局包提示权限不够
方法1 sudo npm i -g npm 方法2 修改usr/local的权限.使用sudo有一个风险是安装包可能会运行自己的一些脚本,使sudo操作变的不可控,不安全.可以通过将/usr/loca ...
- js条件语句初步练习
var a=18 if(a<10){ alert("便宜") } else{ ...
- JVM性能参数优化
以上是jdk1.7的默认GC回收器 Java的gc回收的类型主要有几种 UseSerialGC, UseConcMarkSweepGC, UseParNewGC, UseParallelGC, Use ...
- Codeforces 513E2 Subarray Cuts dp (看题解)
我们肯定要一大一小间隔开来所以 把式子拆出来就是类似这样的形式 s1 - 2 * s2 + 2 * s3 + ...... + sn 然后把状态开成四个, 分别表示在顶部, 在底部, 在顶部到底部的中 ...
- Codechef FIBTREE 树链剖分 主席树 LCA 二次剩余 快速幂
原文链接https://www.cnblogs.com/zhouzhendong/p/CC-FIBTREE.html 题目传送门 - CC-FIBTREE 题意 给定一个有 $n$ 个节点,初始点权都 ...
- miniui中可以设置是否让页面进行分页 <div id="datagrid1" class="mini-datagrid" style="width:100%" allowAlternating="true" showpager="true"/> 就是设置showpager属性为true
<div id="datagrid1" class="mini-datagrid" style="width:100%" allowA ...
- hdu 2091空心三角形
把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果.在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果. Input每行包含 ...
- ACM10.14题解
ACM10.14题解 第一次打周赛,感觉还是比较紧张的,应该开完所有的题再做,而不是硬做,没必要硬杠英语,还是不要抱有侥幸心理,做对一定是完全理解且会,自己小心边界问题,不要瞎交. A:暴力明显不对嘛 ...
- Nginx访问权限配置
最近建个人网站,在服务器上新建了一个用户zengfp,并且把网站的目录放到了/home/zengfp/www目录下,配置的nginx: server { listen 80 default_serve ...
- UVA 12108 Extraordinarily Tired Students
思路: ①用结构体stu,属性有清醒时间,睡眠时间,开始处于的时间,状态(醒着还是睡着), 还有计数器. ②二维数组存表格. ③在确定接下来要进入的状态之后,就一次把表格里持续状态的数据都修改掉,比如 ...