前言
突然想不起来线性回归和逻辑回归的异同了,便查了查,发现自己之前并不太懂这两者的区别与联系。
功能
- 线性回归是拟合历史数据,预测数值
- 逻辑回归是给数据分类
结构
线性回归
- 输入层
- 输出层
逻辑回归
- 输入层
- 输出层(二元或多元)
- 激活函数(二元用sigmoid函数,多元用softmax函数)
注意:线性回归和逻辑回归都没有隐藏层!没有隐藏层的话,就可以将网络中参数初始化为0,而有隐藏层的话则不能,因为初始化为0会导致参数全为0,这是因为激活函数求导和隐层输出值为0导致的,详见[1]。不仅不能将参数全部初始化为0,而且也不能将其初始化为相同的值,这会导致隐藏层中所有节点的输出值都相同,即便经过了反向传播,但对于隐藏层中同一节点而言,它的梯度也都是相同的,所以再次经过前向传播后,隐层节点输出值仍然是相同的,这就相当于整个隐层其实只在使用一个节点[4]。这就是所谓的对称性问题,正确的做法应该是将参数随机初始化。
输入[2]
- 线性回归要求因变量服从正态分布,logistic回归对变量分布没有要求。
- 线性回归要求因变量(Y)是连续性数值变量,而logistic回归要求因变量是分类型变量。
- 线性回归要求自变量和因变量呈线性关系,而logistic回归不要求自变量和因变量呈线性关系
- 线性回归是直接分析因变量与自变量的关系,而logistic回归是分析因变量取某个值的概率与自变量的关系
应用[3]
应用取决于它们本身的功能
- 逻辑回归:常用于数据挖掘,疾病自动诊断,经济预测等领域。
- 线性回归:常运用于数学、金融、趋势线、经济学等领域。
举例
线性回归要求因变量必须是连续性数据变量;逻辑回归要求因变量必须是分类变量,二分类或者多分类的;比如要分析性别、年龄、身高、饮食习惯对于体重的影响,如果这个体重是属于实际的重量,是连续性的数据变量,这个时候就用线性回归来做;如果将体重分类,分成了高、中、低这三种体重类型作为因变量,则采用logistic回归。[3]
参考资料
[1] 什么时候可以将神经网络的参数全部初始化为0?
[2] 线性回归与逻辑回归的区别
[3] 百度知道
[4] Why should weights of Neural Networks be initialized to random numbers?
网友评论