逻辑回归
- 1 逻辑回归介绍
- 1.1 背景介绍
- 1.2 原理
- 1.2.1 预测函数
- 1.2.2 判定边界
- 1.2.3 损失函数
- 1,2,4 梯度下降函数
- 1.2.5 分类拓展
- 1.2.6 正则化
- 2 实验代码
- 3 实验结果说明
1 逻辑回归介绍
1.1 背景介绍
逻辑回归的过程可以概括为:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏。 Logistic 回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于二分类问题(即输出只有两种,分别代表两个类别)。回归模型中,y 是一个定性变量,比如 y=0 或 1,logistic 方法主要应用于研究某些时间发生的概率。Logistic 回归与多重线性回归实际上有很多相同之处,最大的区别就在于它们的因变量不同,Logistic 回归的因变量是离散变量;多重线性回归的因变量是连续变量。
1.2 原理
假设有一场球赛,我们有两支球队的所有出场球员信息、历史交锋成绩、比赛时间、主客场、裁判和天气等信息,根据这些信息预测球队的输赢。假设比赛结果记为 y,赢球标记为 1,输球标记为 0,这就是一个典型的二元分类问题,可以用逻辑回归算法来解决。从这个例子里可以看出,逻辑回归算法的输出 y∈{0,1}是个离散值,这是与线性回归算法的最大区别。
1.2.1 预测函数
需要找出一个预测函数模型,使其值输出在[0,1]之间。然后选择一个基准值,如 0.5,如果算出来的预测值大于 0.5,就认为其预测值为 1,反之则其预测值为 0。我们选择 g(z)=1/(1+e−z)作为预测函数。函数g(z)称为 Sigmoid 函数,也称为 Logistic 函数。
当 z=0 时,g(z)=0.5。
当 z>0 时,g(z)>0.5,当 z 越来越大时,g(z)无限接近于 1。
当 z<0 时,g(z)<0.5,当 z 越来越小时,g(z)无限接近于 0。
这正是我们想要的针对二元分类算法的预测函数。问题来了,怎样把输入特征和预测函数结合起来呢?
结合线性回归函数的预测函数 hθ(x)=θTx,假设令 z(x)=θTx,则逻辑回归算法的预测函数如下:
hθ(x)=g(z)=g(θTx)=1/(1+e−θTx)。
下面解读预测函数。
hθ(x)表示在输入值为 x,参数为 θ 的前提下 y=1 的概率。用概率论的公式可以写成:hθ(x)=P(y=1∣x,θ),即在输入 x 及参数 θ 条件下 y=1 的概率。由条件概率公式可以推导出 P(y=1∣x,θ)+P(y=0∣x,θ)=1。对二分类来说,这是一个非黑即白的世界。
1.2.2 判定边界
逻辑回归算法的预测函数由以下两个公式给出:
hθ(x)=g(θTx) 和 g(z)=1/(1+e−z)
假定 y=1 的判定条件是 hθ(x)≥0.5,y=0 的判定条件是 hθ(x)≤0.5,所以 θTx=0 就是我们的判定边界。假定有两个变量 x1,x2,其逻辑回归预测函数是 hθ(x)=g(θ0+θ1x1+θ2x2)。假设给定参数 θ=[−3 1 1]T,那么得到判定边界为−3+x1+x2=0。
如果预测函数是多项式 hθ(x)=g(