说明:
线性回归和Logistic回归他们两个解决的并不是一类问题,名字的话,的确很容易让人误导,这两者的区别: 线性回归是用来解决回归问题,而Logistic回归是用来解决二分类问题的,一个是回归,一个是分类, 这两大类型也是机器学习主要解决的,回归问题可以理解为一群连续输出的点,找到一条线或者曲线来预测薪资,房价;分类问题则是输出为有限的离散数据,比如将医疗数据分为是否患上了肿瘤,
由此可见两者完全是用来解决不同类型问题的,绝对不能混到一块来说
1.线性回归
首先确定线性回归是用来解决回归
问题的,回归问题的本质就是找到一共函数能够尽可能的拟合所有样本点,以二位空间为例,就是要找到一条线尽可能的通过所有样本点,当这条线为一条直线关系时,就称为线性回归.
当然在三维空间中, 就是找到一个平面来拟合样本点:
(注意: 这里的x1和x2是同一个样本的不同特征,其实就是我们所说的多元线性回归),Y即是我们的预测值,有预测值之后就要来评估我们的模型的合理性,引出线性回归的损失函数:最小二乘法
为什么要使用最小二乘法当作损失函数,是有高斯分布利用最大似然函数去掉常数项推导得到的
2.Logistic回归
首先明确的是Logistic回归是用于二分类问题的。有时候线性回归也可以用做二分类
,如图
如果用线性回归做分类(紫色线),为了拟合右下角的数据(红色圈出来的),紫色线偏差很多。而用Logistic回归就不会出现这种问题(绿色线)。
接下来讲Logistic回归的。首先Logistic函数为:
这也就是经典的sigmoid函数,其函数图像为:
------说白了其实相当于用样本构建一个线性函数,然后添加一个sigmoid函数的激励,让其成为一个非线性函数,跟神经网络的的神经元原理相似。那为什么Logistic回归中要用sigmoid函数呢?那是因为原问题是二分类问题,分类结果可以看做是0,1。我们最终需要知道样本属于1类的概率是多少,既然是概率,那就需要一个函数将结果压缩至0~1的范围(概率定义),而sigmoid函数就具有这样的好处