逻辑回归线性回归梯度下降正规方程

逻辑回归主要解决二分类或者多分类问题,是用回归的思路,套上一个logistic函数,使得输出为0或者1的一种分类策略。

说到逻辑回归,不能不提线性回归,因此先把线性回归捋一遍。

线性回归

简单来说,假如我们有m个特征变量,要通过这m个特征变量预测一个y的数值,不管这数值实际代表什么意义。最直观的就是用中学就学过的一次多项式来拟合,如果一阶次的多项式效果不好,那么可以使用高阶次的。不论你怎么组合这个多项式,总是要有相应的m个系数对应m个特征变量的。那么线性回归想干什么呢,就是采用某种方法,找到最最优的一组m个系数,实现最优拟合。

一旦到这里了,就得定义什么是最优,这很有必要,不然凭什么认为这条线拟合的最好呢?

常见的定义最优的方式是:

逻辑回归线性回归梯度下降正规方程

,这个也被称为代价函数,或者说损失函数。

仔细观察这个式子,其实就是平方误差和的形式。

现在要做的,就是找到一些列的系数“西塔”,使得这个式子结果收敛到一个我们可以接受的误差值范围内。

怎么找?两种方案:

1、梯度下降

2、正规方程

先说梯度下降:

逻辑回归线性回归梯度下降正规方程

 这个公式就是梯度下降的核心算法。可以看到,针对每一个系数,都采用对其取偏导数,然后使用一个合适的学习率参数a进行相乘并递减,重复这个过程,直到代价函数收敛到某个范围内。

有人会问学习率的选取问题,的确,合适的学习率有助于更快的达到收敛效果。梯度下降算法的每次迭代受到学习率的影响,如果学习率过小,那么需要的迭代次数过多;如果学习率过大,那么有可能会错过局部最小值,导致无法收敛。常用的学习率数值:0.01,0.03,0.1,0.3,1,3,10

还要注意的一点就是,如果我们打算采用多项式回归模型的话,在进行梯度下降算法前,很有必要先进性特征缩放,使其规约到一个相近的范围内。采用的方式常常是:

逻辑回归线性回归梯度下降正规方程

再来说正规方程:

先上一个公式:

逻辑回归线性回归梯度下降正规方程

可以说这个公式叙述了所有。注意“西塔”在这里表示系数向量,这个式子是一个矩阵运算式。X代表特征矩阵,y代表对应的待预测的实际值。

逻辑回归线性回归梯度下降正规方程

逻辑回归线性回归梯度下降正规方程

正规方程法不像梯度下降要一次次地试,它可以一次性给出最优的系数向量解。通常当特征变量小于10000个的时候,这个方法是很好用的,但是凡事有利有弊,这个方法最广泛的应用还是在线性回归领域,而在后面讲的逻辑回归就不能用了。下面是两种方法的比较:

逻辑回归线性回归梯度下降正规方程

注意,正规方程法只能用于线性回归模型。多项式的高阶模型就不能用,但是如果采用变量替换,将非线性转变为线性,依然可以用。相较于正规方程法,梯度下降法更加具有普适性。

逻辑回归:

可以开始说逻辑回归了。有了前面的铺垫,我们知道,线性回归可以预测一个数值,但是这个数值的大小呢,不一定,然而对于分类问题,我们想要得到0或者1,怎么办?

逻辑回归线性回归梯度下降正规方程

拿这张图片的例子来说,我们想要预测这两类,可以明显的找到一条线性回归直线分开他们,但这时候我们不再需要什么预测数值,我们只想要0和1。假如现在我们找到了这条线,然后,线上方的红叉类元素带入直线方程后一定大于0;线下方的绿色圈圈元素带入直线方程后一定小于0;线之上的元素带入进去肯定等于0.这样我们有了天然的分类属性。

有没有什么函数能把大于0的函数都归类为1,或者把小于0的函数归类为0呢,有的,这就是sigmoid function

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgssg.html