逻辑回归

逻辑回归算法是各领域使用最多的机器学习算法,不难,并且很实用。

1.介绍

逻辑回归:解决分类问题
回归问题怎么解决分类问题?
将样本的特征和样本发生的概率联系起来。

机器学习本质,是 求一个f(x),样本x进来,经过f(x)运算,得到一个预测值y。
线性回归,或者多线性回归中,这个y值就是我们本身关心的值,比如房价预测,这个y就是房价,学生成绩预测,y就是成绩。
在逻辑回归中,y的值是一个概率值,p来表示。样本先扔给f(x)得到概率值p,随后根据p来分类。
avatar
逻辑回归既可以看做是回归算法,也可以看做是分类算法。
通常作为分类算法用,只可以解决二分类问题。

2.什么样的方式得到概率值

在线性回归中:
avatar
值域是(-∞,+∞),可能是任意数
而概率的值域为[0,1]
如何得到概率的值呢?
我们需要乘一个Sigmoid函数:
avatar
图像为:
avatar
公式变为:
avatar
例如:对病人患有良性还是恶性肿瘤分类,先:
(1)训练样本得到一组θ值。
(2)新病人的数据Xb+1乘θT,得到一个数。
(3)这个数扔给Sigmoid函数。
(4)得到即为概率。
问题:对于给定的样本数据集X,y,如何找到参数θ,使得用这样的方式,可以最大程度获得样本数据集X对应的分类输出y?
线性回归中可以用MSE判断拟合度,逻辑回归解决分类问题,不行。

3.逻辑回归中的损失函数:

逻辑回归的损失函数使用极大似然估计,而不是使用最小二乘法。
因为如果用最小二乘法,目标函数是非凸的,不容易求解,会得到局部最优解。
如果使用最大似然估计,目标函数是凸函数,可以用梯度下降法求最优解。
avatar
结合Sigmoid函数图像看,得到损失函数的图像:
avatar
合成一个函数:
avatar
m个样本对应的损失函数:
avatar
p_hat是:
avatar
带入之后:
avatar
这个式子没有公式解,只能使用梯度下降法求解。
这里求得逻辑回归的梯度:
avatar
对这个式子计算梯度,搜索出相应的θ值。

3.决策边界

avatar
avatar
对于鸢尾花数据集,有以下分类结果:
avatar