线性回归是什么:

线性回归是回归问题的一种,模型试图去找到y 与 x 的线性关系同时去预测新输入的输出值。模型会找到一条直线使得图像上的每一个点到这条线的欧式距离之和最小,也就是均方误差(MSE)最小。

定量回归误差 回归的误差_定量回归误差

那如何去找到这条直线呢:

当只有一个输入值的时候,我们找到所有样本的预测值的误差的平方之和也就是均方误差(MSE),然后我们通过求偏导为0的方式求得当均方误差最小的时候m和b的取值。

定量回归误差 回归的误差_定量回归误差_02

而当有多个输入的时候(比如一栋房子的价格会与其地段,房屋面积,配备设施有关,所以在这个例子里就会有三个输入) 这条线就会表示为  

定量回归误差 回归的误差_定量回归误差_03

然后我们就会将n个m和b整合为一个列向量w=

定量回归误差 回归的误差_算法_04

 其大小为(n+1)*1 然后对于m个样本,每个样本有n个特征,我们也将他们整合为矩阵X=

定量回归误差 回归的误差_定量回归误差_05

那么最后我们会得到 f(xi) = 

定量回归误差 回归的误差_算法_06

在这种情况下我们也有另外一种更加直接的方式,那就是梯度下降(gradient decent)

梯度下降可以理解为一个下山的过程,随机一个出发点,然后根据起始点的斜率更新下一次的位置,再在下一次的点做同样的操作,这样就慢慢走到山底,也就是收敛至局部最低点。也许每一次收敛的局部最低点都是不一样的但这也是无法避免的,我们可以多试几个不同的随机起始点来取得最低点。

定量回归误差 回归的误差_算法_07

而具体的公式如下图所示。

定量回归误差 回归的误差_定量回归误差_08

在这里

定量回归误差 回归的误差_python_09

表示的是步长,如果太大的话会跨过最小点或是说无法收敛,可能会越来越大,而同时如果

定量回归误差 回归的误差_python_09

太小的话计算量会特别大,也就是下山会花很长时间。所以一般情况下

定量回归误差 回归的误差_python_09

都是一个较小的正数

逻辑回归是什么?

与其说逻辑回归是回归模型不如说是一个分类模型,其本质是我们默认数据服从我们设定的分布然后使用极大似然估计来估计参数。就好比我们有两枚硬币A和B,硬币A抛投100次有99次正面朝上,而硬币B则有99次反面朝上,这时我们闭着眼拿了一枚硬币抛投,如果它是正面朝上我们就认为我们拿的是硬币A,反之亦然。

逻辑回归分布

定量回归误差 回归的误差_线性回归_12

我们会将连续值x映射到0和1之间,当x趋近无穷大时S(x)趋近于1,而当x趋近无穷小时S(x)趋近于0

定量回归误差 回归的误差_线性回归_13

 

 举个例子

在下图中每个点都可以用一个向量表示x = 

定量回归误差 回归的误差_算法_14

,这里的决策边界可以表示为wx+b=0。 w就是垂直于这条直线的单位法向量,如果wx + b > 0 我们就判断这个学生通过了考试,wx + b < 0那么这个学生就没有通过考试。

定量回归误差 回归的误差_算法_15

 现在我们需要找到每个学生通过考试的概率

定量回归误差 回归的误差_线性回归_16

 在这里我们有多种选择,最基本的就是阶跃函数,也就是 wx+b = z , z<0 p(x) = 0 , z=0 p(x) = 0.5 , z>0 p(x) = 1。 而如果我们需要的概率时连续值的时候就可以用

定量回归误差 回归的误差_python_17

 而相应的

定量回归误差 回归的误差_定量回归误差_18

代价函数

现在我们确定了逻辑回归模型的数学形式,之后我们便需要求解模型中的参数,我们会使用极大似然估计法来求解。

似然函数:

定量回归误差 回归的误差_梯度下降_19

 最终我们得到损失函数

定量回归误差 回归的误差_算法_20