1 什么是回归
回归,就是回归中心的意思。在研究全体数据x、y的相关性时发现,全体数据x中的某一个数据x过高或过低于全体数据x的平均值,它对应的y都会被拉回到全体平均值y附近,但是不会过全体平均值y的界限。(研究的是数据x和数据y之间的关系,相关性,最好是具有某种函数关系)
2 线性回归
x、 预测值y之间具有某种线性关系,其函数关系由线性回归模型(方程)表示:
预测值y = w1*x1+w2*x2+······+wn*xn+b
而实际应用问题不仅只有一个x1与y相关,可能需要考虑很多个其他因素x2、x3·····xn,只有X1的时候是一条直线,多个变量会是平面或更高维的空间。通过模型计算出的y是预测值,还需要和真实值的y进行比较,计算出权重w和偏置b。只要保证预测出的y和真实的y无限接近,可以自由定义y真实和y预测的函数关系式(损失函数J),目前已经有很多种定义的形式:对于线性回归问题最通用的损失函数J(代价函数)如下:
式中先求残差平方和,再除以样本总数n,可以得到均方误差J。可以想到当J最小时y预测的越接近真实值的y,求解方法最主要的有两种:最小二乘法和梯度下降法。
1)最小二乘法:对J(w)求w偏导并令式子等于零,求w的值。
2)梯度下降法(3种):
批量梯度下降法 BGD(Batch Gradient Descent)考虑全体数据(公式中有n求和),可得最优解,但是在数据量大时迭代速度慢。
随机梯度下降法 SGD(Stochastic Gradient Descent)随机选取一个样本(公式中没有n求和),迭代速度很快,但是不易得到最优解(效果不好)。
小批量梯度下降法 MBGD(Mini-Batch Gradient Descent)综合BGD和 SGD的特点,每次取少量样本数据,同时保证效果和速度。
3 逻辑回归(LR)
而在实际问题中y需要是0,1(逻辑值)或者1 到10等一些离散的值,这时线性回归便不太适用。而逻辑回归可以使预测值y是在0到1之间的概率,然后在归到0或1。
逻辑回归中最常用的sigmoid函数:
逻辑回归的损失函数是用最大似然估计法来推导:在实际问题中y的概率P只有(y=1或y=0两种情况),y=1时概率和y预测相同,y=0时概率则一定是(1-y预测),将两个式子合并为一个式子可得:
接着取最大似然,再对数化取反,可得逻辑回归的损失函数J(w):
仍用梯度下降法求w(new):
逻辑回归具体的公式推导,转载这篇博客: