机器学习——1 线性回归和逻辑回归

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(代价函数)如下:

                                              J(w) = \frac{1}{n} \sum_{i}^n (y真实-y(w)预测)^2           

式中先求残差平方和,再除以样本总数n,可以得到均方误差J。可以想到当J最小时y预测的越接近真实值的y,求解方法最主要的有两种:最小二乘法和梯度下降法。

1)最小二乘法:对J(w)求w偏导并令式子等于零,求w的值。

                                                                      \frac{\delta }{\delta w} J(w) = 0              

2)梯度下降法(3种):

                                                          w(new)=w-\alpha \frac{\delta }{\delta w} J(w)                

批量梯度下降法 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 = \frac{1}{1-e^\left\{ -(w1x1+w2x2+\cdot \cdot \cdot ) \right\}  }    

逻辑回归的损失函数是用最大似然估计法来推导:在实际问题中y的概率P只有(y=1或y=0两种情况),y=1时概率和y预测相同,y=0时概率则一定是(1-y预测),将两个式子合并为一个式子可得:

                                                         P(y) =(y预测)^y(1-y预测)^{1-y}

接着取最大似然,再对数化取反,可得逻辑回归的损失函数J(w):

                                    J(w) = \sum_{i}^n[(ylog(y预测))+(1-y)log(1-y预测) ]

仍用梯度下降法求w(new):

                                                        w(new)=w-\alpha \frac{\delta }{\delta w} J(w)

逻辑回归具体的公式推导,转载这篇博客:

https://www.jianshu.com/p/0cfabca442d9

猜你喜欢

转载自blog.csdn.net/sinat_41144773/article/details/87345155