先来道题
线性回归做法
我们可以先通过线性回归做一下
先建立个数据,训练一下,得到一条线
然后我们可以做个判断
也可以解决
不过也回存在问题
当我们用这个数据重新训练一个模型
他就会有问题,样本的复杂程度增加,这种方法可能就不好了
所以我们需要使用新的方法,就是将要学习的逻辑回归
逻辑回归
那么通过逻辑回归要怎么做呢
我们要准备一条逻辑回归方程
像这个样
解释一下
由于我们在这个分类问题里, 我们把分类的问题归结成一个他是某一类别的概率,那么在概率大于0.5的时候我们判断他是1,小于0.5时我们判断他是0。
怎么使用呢
用这3个数去计算前面讲过的,水池放水问题
当x = -20的时候
1 + e^20就很大很大了,那么1/(1 + e^20)就非常趋近于0
其他数据带进去算一算,会发现是很贴合现实情况的。
那水池放水也算是个简单的问题,再看看复杂问题怎么做
复杂问题
先看这种情况
那么前面说的都是简单的情况,我们来看看稍微复杂一点的要怎么做呢
来看看这个问题
我们可以看出来这个分类,在图形上可以用一条直线将它分开
我们看这条直线,可以看出来直线上面的是红色的区域,下面是蓝色的
我们就可以把直线,先求出来,然后带入到e的指数里
像这样
具体实现一下就是,先求这个条直线
g((x,y)) = y -x - 1
把数据带入进逻辑回归方程,就可以求出来这个点如果在直线上方那么e的指数就会是个正数,如果点在直线下方e的指数就是个负数。
是不是就发现跟之前的那个放水问题差不多了
再看看这种情况
我们一样的,先建立一条线把两类数据分开
我们分析一下这个是个圆心为(0,0)半径为2的圆
那么g((x,y)) = x^2 + y^2 - 4
一样把这个g(x)带入到一开始的逻辑回归方程里e的指数
就可以得到分类的逻辑回归方程了
统一一下
我们把刚才那种能够区分这个值或者点如何分类的线叫做这个模型的决策边界
总结一下
求解逻辑回归模型
先回忆一下线性回归
首先在线性回归的时候,我们是先找到一个损失函数。
然后以找到损失函数的极小值点为目标,对我们的损失函数进行调整,给定一个步长,进行梯度下降,知道函数收敛。
逻辑回归
那么我们逻辑回归的做法也是一样的,首先找到一个损失函数
但是呢对于我们逻辑回归哦,实际的数据都是0和1。我们就会希望,如果在预测和现实对应不上时,损失的函数应该要非常大的。同样的对于他们如果对的上的时候,我们就希望这个值无限接近于0
损失函数求解
先把我们的损失函数整理一下
有了这个函数,我们就对他进行梯度下降法求解
对于这个任务呢,我们做一下,那我们其实就是对于边界函数进行梯度下降求解。根据不同的边界线的形状确定是个几次几元的函数,然后给定随机的一个点的数据,按梯度的方向和步径调整,把数据存到一个临时数据里,然后再找下一个点,和临时数据对比,直到这两个数据相等就找到了这个系数的值。就知道了这个回归模型的解。