来自 技术 2019-01-24 的文章

机器学习笔记 逻辑回归 - sdu20112013

逻辑回归

逻辑回归和线性回归其实有不少类似的地方,不同的是逻辑回归的$\hat y$是离散的.线性回归的$\hat y$是连续的.

逻辑回归:拟合样本数据发生的概率,根据概率进行分类处理.

逻辑回归,拟合样本发生的概率.$\hat p = f(x)$,之后根据概率的大小对样本做分类.

通常,将逻辑回归用来解决分类问题.作为分类算法时,解决的是二分类问题.

在线性回归一文中,我们知道$\hat y = \theta ^T X_b$,但是这个值的取值范围是负无穷到正无穷,如果我们想要表达概率的话,希望找到一个函数,取值范围在0-1.

Sigmoid函数

在一文读懂svm中,我们也提到过这个函数,是常见核函数的一种.以后在讲神经网络的时候也会再看到它.

$\hat p = \sigma(X_b \theta) =\frac 1 {1+e^{-X_b \theta}}$

这个函数,我想不用多解释了,学过高中数学的应该都能明白其取值在0-1之间.

通过这个函数,我们可以把一个预测值转化为概率值,所以逻辑回归的概率模型可以表达为$$\hat p = \frac 1 {1+e^{-\theta ^T X_b}}$$.

我们做这样一个假设.

这样当有一个样本x过来,我们可以先计算出$\hat p$,再进而得到一个$\hat y$。

那么此时我们的问题转变为:怎样求得这样的$\theta$,使得我们预测的$\hat y$与真实的y之间误差最小?

损失函数

由于我们的$\hat y$有两种情况,是二元的,离散的.所以我们的损失函数也分两种情况

怎么理解?当y=1时,p越小,我们越倾向于把$\hat y$归为0. 这时候错的越离谱. 当y=0时,p越大,我们越认为$\hat y$归为1.

符合上述描述的损失函数可以表达如下:

转换为统一的表达形式:

上面是单个样本的cost,这样对一个有着m个样本的系统来说,损失函数可以表达为:

即:

求损失函数的梯度

推导不困难,但是有点复杂.......

,和我们在线性回归中算出的梯度形式很像.

有了梯度,就可以用梯度下降法求出使得$J(\theta)$最小的$\theta$。

标签:   python攻击ip      更改架构   
上一篇:Java8实用技能
下一篇:没有了