线性回归与逻辑回归的区别

线性回归

以经典的预测房价为例,
假设样本为( X , y i X, y_i X,yi),其中X是多维变量( X = ( x 1 , x 2 . . . x n ) X = (x_1, x_2...x_n) X=(x1,x2...xn)),属性包括房子大小,使用年限等,y是对应该样本的房价。
那么我们就可以得到一个预测房价的假设模型,
h θ ( X ) = θ T X h_\theta(X) = \theta^T X hθ(X)=θTX

只要我们求出了参数 θ \theta θ,就完成了模型的求解,可以用求得的模型来预测新的样本。

Note:这里可以看出,这里求出的模型是一个连续函数,即对应样本的输入,输出会有无限可能(可能为负数,可能为0,也可能为正数,既可能为整数,也可能为浮点数)

逻辑回归

同样以经典的预测房价为例,
假设样本为( X , y i X, y_i X,yi),其中X是多维变量( X = ( x 1 , x 2 . . . x n ) X = (x_1, x_2...x_n) X=(x1,x2...xn)),属性包括房子大小,使用年限等,不同的是,这里的y换成了房价是否超过2万美元,超过为1,不超过则为0。
于是线性回归中的假设模型不能适用到这里了,需要进行适当的修改。
h θ ( X ) = s i g m o i d ( θ T X ) h_\theta(X) = sigmoid(\theta^T X) hθ(X)=sigmoid(θTX)

这里使用了sigmoid函数对原模型进行修改(在一些教程里,也有把sigmoid函数叫做逻辑函数的说法),把原模型的输出规范到了(0, 1)之间。
Note: 这里可以看出,在使用逻辑回归的时候,所预测样本值的输出范围应该是有限的(如0, 1)离散值

这里可能会有疑问,为什么不直接用线性回归的模型来对这种分类问题进行拟合?

吴恩达的《machine learning》中谈到了这点,线性回归模型的表达能力有限,如果直接使用线性回归,并且使用线性回归的平方和作为成本函数,那么成本函数会变成如下(“non-convex”):
线性回归与逻辑回归的区别_第1张图片
有太多的局部最优解,如果使用逻辑回归并且使用对数损失函数作为成本函数,成本函数才会易于求解(“convex”):
线性回归与逻辑回归的区别_第2张图片

总结

线性回归和逻辑回归不同的地方有很多,但在我看在,最基本的不同是模型的表示不同,因此导致了所解决问题的能力不同,进而导致了许多的差异。

对这些差异总结如下:

  • 逻辑回归引入了sigmoid函数,这是一个非线性函数,增加了模型的表达能力
  • 逻辑回归输出有限离散值,可以用来解决概率问题、分类问题等。
  • 两者使用的成本函数不同,线性回归使用的平方差,逻辑回归使用的是对数损失函数(更本质来讲,线性回归使用最小二乘方法、或梯度下降方法进行成本函数的求解,而逻辑回归使用最大似然方法进行求解

Reference

  1. 对线性回归、逻辑回归、各种回归的概念学习
  2. 机器学习算法总结–线性回归和逻辑回归
  3. 线性回归与逻辑回归
  4. stackoverflow, What is the difference between linear regression and logistic regression?

你可能感兴趣的:(机器学习,机器学习入门,机器学习,逻辑回归,线性回归)