机器学习——Logistic回归

本文介绍了Logistic回归的基本原理,包括其假设函数、决策边界、参数估计以及Sigmoid函数的应用。重点讲解了最优化方法如梯度上升,并说明了如何将其用于二分类问题。最后,总结了Logistic回归在实际应用中的步骤和局限性。
摘要由CSDN通过智能技术生成

目录

一、基本原理

二、最优化方法

三、二分类

四、总结


一、基本原理

Logistic回归是一种常用的统计学习方法,用于解决二分类问题。它基于Logistic函数(也称Sigmoid函数)进行建模和预测。

1.假设函数

Logistic回归的假设函数形式为:h\theta (x)=g(\theta ^{T}*x),其中h\theta (x)表示预测的输出结果,g(z)表示Logistic函数,\theta是模型的参数向量,x是输入样本的特征向量。Logistic函数的定义为:g(z)=\frac{1}{1+e^{-z}},可以将其理解为将任意实数映射到[0,1]之间

2.决策边界

Logistic回归通过设置一个决策边界来对样本进行分类。决策边界是指h\theta (x)=0.5时的情况,即\theta ^{T}x\geqslant 0时,预测结果为1类,当\theta ^{T}x<0时,预测结果为0类

3.模型参数估计

Logistic回归使用最大似然估计的方法来估计模型的参数\theta。给定训练集D={\left \{ (x_{1},y_{1}),(x_{2},y_{2}),...,(x_{m},y_{m}) \right \}},其中x_{i}是第i个样本的特征向量,y_{i}是对应的标签(0或1)。在Logistic回归中,我们希望找到一个参数向量\theta,使得对于给定的输入样本x_{i}预测值h\theta (x_{i})尽可能接近真实标签y_{i}。具体而言,我们需要最大化似然函数:L(\theta )=\prod [h\theta (x_{i})]^{y_{i}}*[1-h\theta (x_{i})]^{(1-y_{i})}使得样本出现的概率越大越好

4.损失函数和优化算法

为了方便求解,通常使用对数似然函数的负数作为损失函数来进行优化。即损失函数J(\theta )=\frac{-[(\sum [y*log(h\theta (x_{i}))]+(1-y)*log(1-h\theta (x_{i})))]}{m}。我们可以使用梯度下降等优化算法来最小化损失函数,从而求得最优的参数\theta

5.生成一个Logistic函数图像

import numpy as np
import matplotlib.pyplot as plt

def logistic_function(x):
    return 1 / (1 + np.exp(-x))

# 生成一组输入值
x = np.linspace(-10, 10, 100)

# 计算对应的输出值
y = logistic_function(x)

# 绘制图像
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('f(x)')
plt.title('Logistic Function')
plt.grid(True)
plt.show()

Sigmoid函数可以实现将输入数据变为0~1之间的效果。当x=0时,sigmoid函数值为0.5;当x不断增大,sigmoid函数值接近1;当x不断减小,sigmoid函数值接近0。

6.优缺点

优点:计算代价不高,易于理解和实现。

缺点:容易欠拟合,分类精度可能不高。

二、最优化方法

1.梯度上升算法

梯度上升法基于的思想是:要找到某函数的最大值,最好的方法是沿着该函数的梯度方向探寻。

函数f(x,y)的梯度由下式表示:

\bigtriangledown f(x,y)=\begin{pmatrix} \frac{\partial f(x,y)}{\partial x} & \\\frac{\partial f(x,y)}{\partial y} \end{pmatrix}

这个梯度意味着要沿着x的方向移动\frac{\partial f(x,y)}{\partial x},沿着y的方向移动\frac{\partial f(x,y)}{\partial y}

2.例子

梯度上升算法到达每个点后都会重新估计移动的方向。P0开始,计算完该点的梯度,函数就根据梯度移动到下一点P1。在P1点梯度再次被重新计算,并沿新的梯度方向移动到P2。如此循环迭代直到满足停止条件。迭代的过程中,梯度算子总是保证我们能选取到最佳的移动方向

三、二分类

1.二分类

经过Sigmoid函数之后数据的范围就变为0~1之间,将最终结果小于0.5的视为0、1分类中的0类,大于等于0.5的视为1类

2.多分类

一个多分类问题可以分解成多个二分类的问题。我们可以将n分类问题分解为\frac{n(n-1)}{2}个二分类问题

四、总结

Logistic回归是一种广泛应用于机器学习和数据分析中的线性分类算法。在实验过程中,我们可以通过以下步骤使用Logistic回归:

1.数据预处理:包括数据清洗、特征选择、特征缩放等。

2.划分数据集:将数据集划分为训练集和测试集,以便我们可以对模型进行评估。

3.创建并训练Logistic回归模型

4.评估模型性能:使用测试集对模型进行评估,可以使用各种指标,例如准确率、精确率、召回率等。

5.调整模型参数:如果需要更好的性能,我们可以使用交叉验证和网络搜索等技术来调整模型超参数。

总的来说,Logistic回归是一种非常有用的分类算法,尤其适用于二元分类问题。但是需要注意的是,它也具有一定的局限性,例如不能很好地处理非线性决策边界问题,并且对于高维数据集可能不太适用。因此,在选择算法时,我们需要根据具体情况进行选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值