机器学习(一)逻辑回归(损失函数、决策边界)

本文介绍了逻辑回归的基础知识,包括其用于分类问题的性质,Sigmoid函数的作用,以及逻辑回归的损失函数和梯度。文章还探讨了如何实现逻辑回归算法,并讨论了决策边界的确定和在多项式特征中的应用。最后提到了sklearn库中的逻辑回归实现,以及OvR和OvO策略在多分类问题中的应用。
摘要由CSDN通过智能技术生成

一、什么是逻辑回归

逻辑回归:解决分类问题,将样本的特征和样本发生的概率联系起来
逻辑回归的函数 y ^ = f ( x ) \hat{y} = f(x) y^=f(x),对于线性回归来说,可变换为 y ^ = θ T ⋅ x b \hat{y} = θ^T \cdot{x_b} y^=θTxb y ^ \hat{y} y^的值域为 ( − ∞ , + ∞ ) (-\infty,+\infty) (,+),但概率的值域为[0, 1],因此需要寻找一个函数,使得 p ^ = σ ( θ T ⋅ x b ) \hat{p} = σ(θ^T \cdot{x_b}) p^=σ(θTxb)的值在[0, 1]之间,由此引入了Sigmoid函数σ:
σ ( t ) = 1 1 + e − t σ(t) = \frac{1}{1+e^{-t}} σ(t)=1+et1
为什么Sigmoid函数可以非常好的将 y ^ \hat{y} y^转换为概率值呢?我们可以绘制出图像来观察

import numpy as np
import matplotlib.pyplot as plt

def sigmoid(t):
	return 1 / (1 + np.exp(-t))
	
x = np.linspace(-10, 10, 500)
y = sigmoid(x)
plt.plot(x,y)
plt.show()

在这里插入图片描述
当t > 0 时,p > 0.5,当t < 0 时,p < 0.5,值域在(0, 1)之间
因此上式可以变换为:
p ^ = σ ( θ T ⋅ x b ) = 1 1 + e − θ T ⋅ x b \hat{p} = σ(θ^T \cdot{x_b}) = \frac{1}{1+e^{-θ^T \cdot{x_b}}} p^=σ(θTxb)=1+eθTxb1
y ^ = { 1 , p ^  >= 0.5 0 , p ^  <= 0.5 \hat{y}= \begin{cases} 1, & \text {$\hat{p}$ >= 0.5} \\ 0, & \text{$\hat{p}$ <= 0.5} \end{cases} y^={ 1,0,p^ >= 0.5p^ <= 0.5
因此现在的问题成为:对于给定的样本数据集X,y,我们如何找到参数θ,可以最大程度获得样本数据集X对应的分类输出y

二、逻辑回归的损失函数

根据逻辑回归公式两种分类的不同来定义损失函数:
c o s t = { 如果y=1,p越小,cost越大 如果y=0,p越大,cost越大 cost= \begin{cases} & \text {如果y=1,p越小,cost越大} \\ & \text{如果y=0,p越大,cost越大} \end{cases} cost={ 如果y=1p越小,cost越大如果y=0p越大,cost越大
这里我们使用如下的函数来表示这种趋势:
c o s t = { − l o g ( p ^ ) if y=1 − l o g ( 1 − p ^ ) if y=0 cost= \begin{cases} -log(\hat{p}) & \text {if y=1} \\ -log(1-\hat{p}) & \text{if y=0} \end{cases} cost={ log(p^)log(1p^)if y=1if y=0
这里将函数进行调整,写在一个公式里:
c o s t = − y l o g ( p ^ ) − ( 1 − y ) l o g ( 1 − p ^ ) cost = -ylog(\hat{p}) - (1-y)log(1-\hat{p}) cost=ylog(p^)(1y)log(1p^)
因此损失函数可以定义为:
J ( θ ) = − 1 m ∑ i = 1 m y ( i ) l o g ( p ^ ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − p ^ ( i ) ) J(θ) = -\frac{1}{m}\sum_{i=1}^my^{(i)}log(\hat{p}^{(i)}) + (1-y^{(i)})log(1-\hat{p}^{(i)}) J(θ)=m1i=1my(i)log(p^(i))+(1y(i))log(1p^(i))
y ( i ) y^{(i)} y(i) p ( i ) {p}^{(i)} p(i)分别为第i个样本的真实值和估计值,其中
p ^ = σ ( X b ( i ) θ ) = 1 1 + e − X b ( i ) θ \hat{p} = σ(X_b^{(i)} θ) = \frac{1}{1+e^{-X_b^{(i)} θ}} p^=σ(Xb(i)θ)=1+eXb(i)θ1
p ^ \hat{p} p^带入损失函数中
J ( θ ) = − 1 m ∑ i = 1 m y ( i ) l o g ( σ ( X b ( i ) θ ) ) + ( 1 − y ( i ) ) l o g ( 1 − σ ( X b ( i ) θ ) ) J(θ) = -\frac{1}{m}\sum_{i=1}^my^{(i)}log(σ(X_b^{(i)} θ)) + (1-y^{(i)})log(1-σ(X_b^{(i)} θ)) J(θ)=m1i=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值