- 回归问题和分类问题的联系和区别,如何利用回归问题理解分类问题?
区别
浅层:两者的预测目标变量类型不同,回归问题是连续变量,分类问题是离散变量
中层:回归问题是定量问题;分类问题是定性问题
高层:回归与分类的根本区别在于输出空间是否为一个度量空间。
特性 | 分类(监督学习) | 回归 |
---|---|---|
输出类型 | 离散数据 | 连续数据 |
目的 | 寻找决策边界 | 找到最优拟合 |
评价方法 | 精度(accuracy),混淆矩阵等 | SSE或拟合优度 |
本质
分类模型和回归模型本质一样,都是要建立映射关系。在实际操作中,可以将分类问题和回归问题进行转换:分类模型可将回归模型的输出离散化,回归模型可将分类模型的输出连续化。例:分类问题回归化:逻辑回归;回归问题分类化:年龄预测问题-->年龄分段问题。
- 为什么分类问题的损失函数可以是交叉熵而不是均方误差?
神经网络中如果预测值与实际值的误差越大,那么在反向传播训练的过程中,各种参数调整的幅度就要更大,从而使训练更快收敛,如果预测值与实际值的误差小,各种参数调整的幅度就要小,从而减少震荡。
使用平方误差损失函数,误差增大参数的梯度会增大,但是当误差很大时,参数的梯度就会又减小了。
使用交叉熵损失是函数,误差越大参数的梯度也越大,能够快速收敛。
- 为什么分类问题的损失函数可以是交叉熵而不是均方误差?
- 线性判别分析和逻辑回归在估计参数方面有什么异同点?
相同点:
两个都是线性模型,线性回归是普通线性模型,逻辑回归是广义线性模型
表达形式上,逻辑回归是线性回归套上了一个Sigmoid函数
参数估计上,都是用极大似然估计的方法估计参数
区别
线性回归优化的目标函数是均方差(最小二乘),而逻辑回归优化的是似然函数(交叉熵)
线性归回要求自变量与因变量呈线性关系,而逻辑回归没有要求
线性回归分析的是因变量自身与自变量的关系,而逻辑回归研究的是因变量取值的概率与自变量的概率
逻辑回归处理的是分类问题,线性回归处理的是回归问题,这也导致了两个模型的取值范围不同:0-1和实数域
线性回归假设响应变量服从正态分布,逻辑回归假设响应变量服从伯努利分布
参数估计上,都是用极大似然估计的方法估计参数(高斯分布导致了线性模型损失函数为均方差,伯努利分布导致逻辑回归损失函数为交叉熵)
- 线性判别分析和逻辑回归在估计参数方面有什么异同点?
- 尝试从0推导SVM(面试题)
- 二次判别分析,线性判别分析,朴素贝叶斯之间的联系和区别?
- 使用python+numpy实现逻辑回归
def initial_para(nums_feature):
"""initial the weights and bias which is zero"""
#nums_feature是输入数据的属性数目,因此权重w是[1, nums_feature]维
#且w和b均初始化为0
w = np.zeros((1, nums_feature))
b = 0
return w, b
def activation(x, w , b):
"""a linear function and then sigmoid activation function:
x_ = w*x +b,y = 1/(1+exp(-x_))"""
#线性方程,输入的x是[batch, 2]维,输出是[1, batch]维,batch是模型优化迭代一次输入数据的数目
#[1, 2] * [2, batch] = [1, batch], 所以是w * x.T(x的转置)
#np.dot是矩阵乘法
x_ = np.dot(w, x.T) + b
#np.exp是实现e的x次幂
sigmoid = 1 / (1 + np.exp(-x_))
return sigmoid
- 了解梯度下降法,牛顿法,拟牛顿法与smo算法等优化算法。
refer
浅谈机器学习-回归与分类的区别 - 云+社区 - 腾讯云 (tencent.com)
为什么分类问题的损失函数采用交叉熵而不是均方误差MSE? - 知乎 (zhihu.com)
【★ 推荐】直观理解为什么分类问题用交叉熵损失而不用均方误差损失? - shine-lee - 博客园 (cnblogs.com)
分类问题为什么要使用交叉熵损失函数而不是均方误差Lavi的专栏-CSDN博客分类问题为什么用交叉熵
逻辑回归和线性回归相同点和不同点Jiashilin-CSDN博客逻辑回归和线性回归的异同点是什么