当前位置: 首页 > news >正文

末年人免费观看网站微信小程序流量变现推广方法

末年人免费观看网站,微信小程序流量变现推广方法,哈尔滨创意网站建设,品牌设计开题报告逻辑回归(Logistic Regression) 逻辑回归是一种用于二分类(binary classification)问题的统计模型。尽管其名称中有“回归”二字,但逻辑回归实际上用于分类任务。它的核心思想是通过将线性回归的输出映射到一个概率值…

逻辑回归(Logistic Regression)

逻辑回归是一种用于二分类(binary classification)问题的统计模型。尽管其名称中有“回归”二字,但逻辑回归实际上用于分类任务。它的核心思想是通过将线性回归的输出映射到一个概率值,以进行类别预测。

1. 模型概述

逻辑回归的基本公式为:

P ( y = 1 ∣ x ) = σ ( z ) = 1 1 + e − z P(y=1|x) = \sigma(z) = \frac{1}{1 + e^{-z}} P(y=1∣x)=σ(z)=1+ez1

其中:

  • ( P ( y = 1 ∣ x P(y=1|x P(y=1∣x) ) 是给定特征 ( x x x ) 时,因变量 ( y y y ) 等于 1 的概率。
  • ( z = β 0 z = \beta_0 z=β0 + β 1 x 1 \beta_1x_1 β1x1 + β 2 x 2 \beta_2 x_2 β2x2 + … \ldots + β n x n \beta_n x_n βnxn ) 是线性组合。
  • ( σ ( z ) \sigma(z) σ(z) ) 是 sigmoid 函数,将输出值映射到 0 0 0 1 1 1之间。
2. Sigmoid 函数

Sigmoid 函数的形状如下:

σ ( z ) = 1 1 + e − z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+ez1

  • 当 ( z z z ) 为负时,函数输出接近于 0 0 0;当 ( z z z ) 为正时,函数输出接近于 1 1 1
  • 这种特性使得 sigmoid 函数非常适合用于概率预测。
3. 损失函数

逻辑回归的损失函数为交叉熵损失(cross-entropy loss),用于衡量模型预测与实际标签之间的差异。其公式为:

L ( β ) = − 1 N ∑ i = 1 N [ y i log ⁡ ( y ^ i ) + ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] L(\beta) = -\frac{1}{N} \sum_{i=1}^{N} [y_i \log(\hat{y}_i) + (1-y_i) \log(1-\hat{y}_i)] L(β)=N1i=1N[yilog(y^i)+(1yi)log(1y^i)]

其中:

  • ( N N N ) 是样本数量。
  • ( y i y_i yi ) 是实际标签。
  • ( y ^ i \hat{y}_i y^i ) 是预测概率。

逻辑回归的损失函数求解通常通过 最大似然估计梯度下降 等优化算法进行。逻辑回归模型中常用的损失函数是 交叉熵损失,目标是通过最小化损失函数来找到最佳的模型参数。

1. 逻辑回归中的损失函数

(1)损失函数

逻辑回归的损失函数基于交叉熵(Cross-Entropy Loss),用于衡量模型预测的概率分布与实际标签之间的差异。对于二分类问题,其形式为:

L ( β ) = − 1 N ∑ i = 1 N [ y i log ⁡ ( y ^ i ) + ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] L(\beta) = - \frac{1}{N} \sum_{i=1}^{N} \left[ y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i) \right] L(β)=N1i=1N[yilog(y^i)+(1yi)log(1y^i)]

其中:

  • ( N N N ) 是样本数量。
  • ( y i y_i yi ) 是第 ( i i i ) 个样本的真实标签( 0 0 0 1 1 1)。
  • ( y ^ i = σ ( z i ) \hat{y}_i = \sigma(z_i) y^i=σ(zi) ) 是第 ( i i i ) 个样本的预测概率。
  • ( z i = β 0 + β 1 x i 1 + β 2 x i 2 + ⋯ + β n x i n z_i = \beta_0 + \beta_1 x_{i1} + \beta_2 x_{i2} + \dots + \beta_n x_{in} zi=β0+β1xi1+β2xi2++βnxin ) 是线性组合。
  • ( σ ( z ) \sigma(z) σ(z) ) 是 sigmoid 函数,定义为:
    σ ( z ) = 1 1 + e − z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+ez1
    这将线性回归的输出 ( z z z ) 映射到 ( ( 0 0 0, 1 1 1) ) 之间,作为类别为 1 1 1 的预测概率。
(2)如何求解损失函数

求解逻辑回归的损失函数通常使用 梯度下降 等优化方法。目标是找到使损失函数最小的参数 ( β \beta β ),即 最小化交叉熵损失。求解过程可以概括为以下步骤:

** 计算梯度**

为了最小化损失函数,我们需要对每个参数 ( β j \beta_j βj) 计算损失函数的偏导数(即梯度),并通过优化算法(如梯度下降)进行更新。

对于交叉熵损失函数,梯度计算公式为:

∂ L ∂ β j = − 1 N ∑ i = 1 N ( y i − y ^ i ) x i j \frac{\partial L}{\partial \beta_j} = -\frac{1}{N} \sum_{i=1}^{N} (y_i - \hat{y}_i) x_{ij} βjL=N1i=1N(yiy^i)xij
其中:

  • ( x i j x_{ij} xij ) 是第 ( i i i ) 个样本的第 ( j j j ) 个特征。
  • ( y i y_i yi ) 是第 ( i i i ) 个样本的实际标签。
  • ( y ^ i \hat{y}_i y^i) 是第 ( i i i ) 个样本的预测概率。

使用梯度下降更新参数梯度下降法通过以下公式迭代更新参数:

β j = β j − α ∂ L ∂ β j \beta_j = \beta_j - \alpha \frac{\partial L}{\partial \beta_j} βj=βjαβjL

其中:

  • ( α \alpha α ) 是学习率(控制每次更新步长的大小)。
  • ( ∂ L ∂ β j \frac{\partial L}{\partial \beta_j} βjL ) 是损失函数对参数 ( β j \beta_j βj ) 的梯度。

通过不断更新参数,使得损失函数逐渐减小,直到达到全局或局部最优解。

(3) 代码示例:逻辑回归中的梯度下降

以下是使用 Python 实现逻辑回归梯度下降的示例:

import numpy as np# Sigmoid 函数
def sigmoid(z):return 1 / (1 + np.exp(-z))# 损失函数 (交叉熵)
def compute_loss(y, y_pred):return -np.mean(y * np.log(y_pred) + (1 - y) * np.log(1 - y_pred))# 梯度下降算法
def gradient_descent(X, y, learning_rate=0.1, num_iterations=1000):m, n = X.shapebeta = np.zeros(n)  # 初始化参数for i in range(num_iterations):z = np.dot(X, beta)y_pred = sigmoid(z)gradients = np.dot(X.T, (y_pred - y)) / mbeta -= learning_rate * gradientsif i % 100 == 0:loss = compute_loss(y, y_pred)print(f"Iteration {i}: Loss = {loss}")return beta# 示例数据
X = np.array([[1, 2], [1, 3], [2, 2], [2, 3]])  # 样本数据
y = np.array([0, 0, 1, 1])  # 标签数据# 在样本数据前面加一列 1 用于偏置项 (截距项)
X_bias = np.c_[np.ones(X.shape[0]), X]# 运行梯度下降求解参数
beta = gradient_descent(X_bias, y)
print("求解得到的参数:", beta)
4. 优缺点

优点

  • 简单易懂:逻辑回归模型简单,易于实现和解释。
  • 概率输出:模型输出的是预测的概率,可以用于更细致的决策。
  • 适用于线性可分问题:在特征与目标变量之间存在线性关系时,表现良好。

缺点

  • 线性假设:假设特征与目标之间存在线性关系,不适用于复杂的非线性关系。辑回归假设特征和类别之间的关系是线性的,对于复杂非线性问题,表现不如其他模型(如决策树、神经网络)。
  • 受特征选择影响:模型对输入特征敏感,需要合适的特征选择和处理。
  • 容易过拟合:在特征数量较多时,可能会发生过拟合,特别是当样本量不足时。
  • 无法解决多分类问题:标准的逻辑回归只适用于二分类问题,若要应用于多分类问题,需要使用 Softmax 回归或一对多策略。

5. 代码示例

以下是使用 Python 的 scikit-learn 库实现逻辑回归的示例:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report# 生成示例数据
X, y = make_classification(n_samples=100, n_features=2, n_classes=2, n_informative=2, n_redundant=0, random_state=42)# 拆分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 创建逻辑回归模型
model = LogisticRegression()
model.fit(X_train, y_train)# 进行预测
y_pred = model.predict(X_test)# 评估模型
accuracy = accuracy_score(y_test, y_pred)
conf_matrix = confusion_matrix(y_test, y_pred)
class_report = classification_report(y_test, y_pred)print("准确率:", accuracy)
print("混淆矩阵:\n", conf_matrix)
print("分类报告:\n", class_report)# 绘制决策边界
plt.scatter(X[:, 0], X[:, 1], c=y, cmap='coolwarm', edgecolors='k')
xlim = plt.gca().get_xlim()
ylim = plt.gca().get_ylim()xx, yy = np.meshgrid(np.linspace(xlim[0], xlim[1], 100), np.linspace(ylim[0], ylim[1], 100))
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)plt.contourf(xx, yy, Z, alpha=0.3, cmap='coolwarm')
plt.title('逻辑回归决策边界')
plt.xlabel('特征1')
plt.ylabel('特征2')
plt.show()

结果
在这里插入图片描述

在这里插入图片描述

6. 总结

逻辑回归是一种简单而有效的分类模型,适合于解决二分类问题。尽管它有一些局限性(如线性假设),但在许多实际应用中,逻辑回归因其易于解释和实现而被广泛使用。通过合适的特征选择和数据处理,逻辑回归能够在很多情况下提供可靠的分类结果。

http://www.yayakq.cn/news/608702/

相关文章:

  • 定制棺材网站宁波住房和城乡建设网
  • wordpress标题颜色广告公司seo是什么职位
  • html生成网站我想注册网站怎么做
  • 网站建设建设公司局网站建设进入前十名
  • 上线了怎么建网站如何让网站被收录
  • 移动端网站推广阿里云网站开发
  • 网站怎么做跳站e龙岩官网下载电脑版
  • iis怎么查看网站的域名wordpress购物车系统
  • 建设网站的建议酷家乐在线3d云设计平台
  • 建交易网站需要多少钱曲阜网站建设价格
  • 林管局网站建设方案一般建设网站的布局
  • 在相亲网站认识了一个做红酒生意的多少人再用wordpress
  • 网站版权模板同一个域名可以做几个网站吗
  • 郑州网站建设鹏之信个人网站开发人员
  • 青州市网站建设织梦添加网站名称添加新变量
  • qq建设网站首页wordpress网站特别卡
  • 广州越秀建网站wordpress 图像热点
  • 海南网站制作多少钱wordpress 虎嗅
  • 免费空间领取网站财务系统
  • 科技公司内蒙古网站制作免版权图片网站
  • 医院手机网站模板推广计划怎么删除
  • 网站建设一般分为几个步骤wordpress 安全设置
  • 东莞快速做网站怎样做废旧网站
  • 汕头市通信建设管理局网站企业首次建设网站方案流程
  • 成都教育行业网站建设怎么制作公众号推送
  • 网监备案网站wordpress站群管理
  • 网站图标用代码代替电商平台网站多少钱
  • 做游戏网站赚钱吗网站后台如何修改文字
  • 公司部门部长是什么级别对网站进行优化
  • 网站到期时间适合网站开发的python