机器学习 -- 线性回归和逻辑回归的区别

  回归算法是一种通过最小化预测值与实际结果值之间的差距,而得到输入特征之间的最佳组合方式的一类算法。对于连续值预测有线性回归等,而对于离散值/类别预测,我们也可以把逻辑回归等也视作回归算法的一种。 
  线性回归与逻辑回归是机器学习中比较基础又很常用的内容。线性回归主要用来解决连续值预测的问题,逻辑回归用来解决分类的问题,输出的属于某个类别的概率,工业界经常会用逻辑回归来做排序。在SVM、GBDT、AdaBoost算法中都有涉及逻辑回归,回归中的损失函数、梯度下降、过拟合等知识点也经常是面试考察的基础问题。

线性回归

  根据几组已知数据{(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...,(x^{(i)},y^{(i)}),...,(x^{(n)},y^{(n)})}和拟合函数h_{\theta }(x)=\theta ^{T}x训练其中未知参数\theta=[\theta_{1},\theta_{2},...,\theta_{i},...,\theta _{n}],使得拟合损失值J\left ( \theta \right )达到最小。然后用所得的拟合函数进行预测。

                                                                          \large \begin{align*} J(\theta) &= \frac{1}{2}\sum_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})^2\\&=\frac{1}{2}\sum_{i=1}^m(\theta^T x^{(i)} - y^{(i)})^2 \end{align*}

逻辑回归

       {(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...,(x^{(i)},y^{(i)}),...,(x^{(n)},y^{(n)})},y^{(i)}\in(0,1)和拟合函数g(z)=\frac1{1+e^{-z}},\:\:z=h_\theta (x)=\theta ^Tx训练其中未知参数\theta=[\theta_{1},\theta_{2},...,\theta_{i},...,\theta _{n}]使得对数似然函数\ell \left ( \theta \right )最大。然后用所得的拟合函数进行二分类。 

                                                                         \large \begin{align*} \ell \left ( \theta \right )&=\log L\left ( \theta\right)\\&=\log\prod_{i=1}^{m}p(y^{(i)}|x^{(i)};\theta )\\&=\prod_{i=1}^{m}\frac{1}{\sqrt{2\pi}\sigma}exp{(-\frac{(y^{(i)}-\theta^Tx{^{(i)}})^2}{2\sigma^2})} \end{align*}

区别

       两者都是回归,步骤和原理看起来很相似,到底有什么地方不同呢?

  线性回归 逻辑回归
目的 预测 分类
y^{(i)} 未知 {0,1}
函数 拟合函数 预测函数
参数计算方式 最小二乘 最大似然估计

猜你喜欢

转载自blog.csdn.net/qq_38328378/article/details/81349922