深入了解逻辑回归:机器学习中的经典算法

在这里插入图片描述

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:Java案例分享专栏
✨特色专栏:国学周更-心性养成之路
🥭本文内容:微信小程序——用户隐私保护指引填写(详细版)

文章目录

  • 引言
    • 1. 逻辑回归的基本原理
      • 1.1 线性组合
      • 1.2 Sigmoid函数
      • 1.3 概率预测
      • 1.4 决策边界
      • 1.5 损失函数
      • 1.6 优化过程
    • 2. 数学模型
      • 2.1 线性组合
      • 2.2 Sigmoid函数
      • 2.3 概率预测
      • 2.4 决策边界
      • 2.5 损失函数
      • 2.6 优化过程
    • 3. 实现步骤
      • 3.1 数据准备
      • 3.2 特征缩放
      • 3.3 模型训练
        • 3.3.1 初始化参数
        • 3.3.2 定义损失函数
        • 3.3.3 计算梯度
        • 3.3.4 更新参数
        • 3.3.5 迭代训练
      • 3.4 模型评估
      • 3.5 预测
    • 4. 应用场景
      • 4.1 医疗领域
        • 示例代码
      • 4.2 金融领域
        • 示例代码
      • 4.3 市场营销
        • 示例代码
  • 总结

在这里插入图片描述

引言

  在机器学习的广阔领域中,逻辑回归作为一种经典的统计学习方法,凭借其简单性和有效性,始终占据着重要的地位。尽管其名称中包含“回归”二字,逻辑回归实际上是一种用于分类问题的算法,特别适合处理二分类任务。它的基本思想是通过对输入特征的线性组合,预测某一事件发生的概率,从而为决策提供依据。

  逻辑回归的魅力在于其直观的数学模型和易于解释的结果。与其他复杂的机器学习算法相比,逻辑回归的模型参数可以直接反映特征对预测结果的影响,这使得它在许多应用场景中成为首选工具。例如,在医疗领域,逻辑回归可以帮助医生判断患者是否患有某种疾病;在金融行业,它可以用于信用评分,评估借款人是否可能违约。

  此外,逻辑回归的实现相对简单,适合初学者学习和掌握机器学习的基本概念。通过对逻辑回归的深入理解,学习者不仅能够掌握分类算法的核心思想,还能为后续学习更复杂的模型打下坚实的基础。

  在本文中,我们将详细探讨逻辑回归的基本原理、数学模型、实现步骤以及其在实际应用中的表现。通过对这些内容的深入分析,读者将能够全面理解逻辑回归的工作机制,并在实际问题中有效应用这一经典算法。无论你是机器学习的初学者,还是希望巩固基础知识的从业者,逻辑回归都是一个不可或缺的学习内容。

1. 逻辑回归的基本原理

  逻辑回归是一种用于分类问题的统计方法,尤其适合处理二分类任务。它的核心思想是通过对输入特征的线性组合来预测某一事件发生的概率。尽管其名称中包含“回归”一词,但逻辑回归实际上是一种分类算法。以下将详细阐述逻辑回归的基本原理,并通过不同的颜色来区分关键知识点。

1.1 线性组合

逻辑回归的基本思想是通过对输入特征的线性组合来预测事件的发生概率。假设我们有一个特征向量 X = [ x 1 , x 2 , … , x n ] \textcolor{blue}{X} = [x_1, x_2, \ldots, x_n] X=[x1,x2,,xn],逻辑回归模型可以表示为:

z = W T X + b \textcolor{red}{z} = \textcolor{orange}{W^T X + b} z=WTX+b

其中:

  • W = [ w 1 , w 2 , … , w n ] \textcolor{orange}{W = [w_1, w_2, \ldots, w_n]} W=[w1,w2,,wn] 是权重向量,表示每个特征对预测结果的影响。
  • b \textcolor{green}{b} b 是偏置项,帮助模型更好地拟合数据。

1.2 Sigmoid函数

为了将线性组合的结果 z \textcolor{red}{z} z 转换为概率值,逻辑回归使用了Sigmoid函数(逻辑函数),其公式为:

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

Sigmoid函数的图像呈S形,能够将任意实数映射到0和1之间。当 z \textcolor{orange}{z} z 趋近于正无穷时, σ ( z ) \textcolor{purple}{\sigma(z)} σ(z) 趋近于1;当 z \textcolor{orange}{z} z 趋近于负无穷时, σ ( z ) \textcolor{purple}{\sigma(z)} σ(z) 趋近于0。这使得我们可以将逻辑回归模型的输出解释为事件发生的概率:

P ( Y = 1 ∣ X ) = σ ( W T X + b ) \textcolor{blue}{P(Y=1|X) = \sigma(W^T X + b)} P(Y=1∣X)=σ(WTX+b)

1.3 概率预测

逻辑回归模型的输出是一个概率值,表示在给定特征 X \textcolor{blue}{X} X 的情况下,事件 Y \textcolor{blue}{Y} Y 发生的概率。我们可以将其表示为:

P ( Y = 1 ∣ X ) = σ ( z ) \textcolor{blue}{P(Y=1|X) = \sigma(z)} P(Y=1∣X)=σ(z)

同时,事件 Y \textcolor{blue}{Y} Y 不发生的概率可以表示为:

P ( Y = 0 ∣ X ) = 1 − P ( Y = 1 ∣ X ) = 1 − σ ( z ) \textcolor{blue}{P(Y=0|X) = 1 - P(Y=1|X) = 1 - \sigma(z)} P(Y=0∣X)=1P(Y=1∣X)=1σ(z)

1.4 决策边界

在逻辑回归中,我们通常设定一个阈值(通常为0.5)来进行分类。当预测的概率 P ( Y = 1 ∣ X ) \textcolor{blue}{P(Y=1|X)} P(Y=1∣X) 大于或等于0.5时,我们将样本分类为正类(1);否则,分类为负类(0)。这个阈值决定了模型的决策边界,影响分类结果。

1.5 损失函数

为了训练逻辑回归模型,我们需要定义一个损失函数来衡量模型预测与实际标签之间的差距。逻辑回归通常使用交叉熵损失(Cross-Entropy Loss),其公式为:

L ( W , b ) = − 1 m ∑ i = 1 m [ y ( i ) log ⁡ ( h ( x ( i ) ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h ( x ( i ) ) ) ] \textcolor{brown}{L(W, b) = -\frac{1}{m} \sum_{i=1}^{m} [y^{(i)} \log(h(x^{(i)})) + (1 - y^{(i)}) \log(1 - h(x^{(i)}))]} L(W,b)=m1i=1m[y(i)log(h(x(i)))+(1y(i))log(1h(x(i)))]

其中:

  • m \textcolor{orange}{m} m 是样本数量。
  • y ( i ) \textcolor{red}{y^{(i)}} y(i) 是第 i i i 个样本的真实标签(0或1)。
  • h ( x ( i ) ) = σ ( W T x ( i ) + b ) \textcolor{purple}{h(x^{(i)}) = \sigma(W^T x^{(i)} + b)} h(x(i))=σ(WTx(i)+b) 是模型对第 i i i 个样本的预测概率。

交叉熵损失函数的目标是最小化预测概率与真实标签之间的差异,从而提高模型的准确性。

1.6 优化过程

为了找到最佳的模型参数 W \textcolor{orange}{W} W b \textcolor{green}{b} b,我们通常使用优化算法,如梯度下降(Gradient Descent)。梯度下降的基本思想是通过计算损失函数关于参数的梯度,逐步更新参数,以最小化损失函数。参数更新的公式为:

W : = W − α ∂ L ∂ W \textcolor{orange}{W := W - \alpha \frac{\partial L}{\partial W}} W:=WαWL

b : = b − α ∂ L ∂ b \textcolor{green}{b := b - \alpha \frac{\partial L}{\partial b}} b:=bαbL

其中, α \textcolor{purple}{\alpha} α 是学习率,控制每次更新的步长。

2. 数学模型

  逻辑回归的数学模型是其核心部分,涉及到线性组合、Sigmoid函数、概率预测和损失函数等多个方面。以下将详细阐述逻辑回归的数学模型,并通过不同的颜色来区分关键知识点。

2.1 线性组合

逻辑回归的基本思想是通过对输入特征的线性组合来预测事件的发生概率。假设我们有一个特征向量 X = [ x 1 , x 2 , … , x n ] X = [x_1, x_2, \ldots, x_n] X=[x1,x2,,xn],逻辑回归模型可以表示为:

z = W T X + b \textcolor{blue}{z} = \textcolor{red}{W^T X + b} z=WTX+b

其中:

  • W = [ w 1 , w 2 , … , w n ] \textcolor{red}{W = [w_1, w_2, \ldots, w_n]} W=[w1,w2,,wn] 是权重向量,表示每个特征对预测结果的影响。
  • b \textcolor{green}{b} b 是偏置项,帮助模型更好地拟合数据。

2.2 Sigmoid函数

在这里插入图片描述

为了将线性组合的结果 z z z 转换为概率值,逻辑回归使用了Sigmoid函数(逻辑函数),其公式为:

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

Sigmoid函数的图像呈S形,能够将任意实数映射到0和1之间。当 z \textcolor{orange}{z} z 趋近于正无穷时, σ ( z ) \textcolor{purple}{\sigma(z)} σ(z) 趋近于1;当 z \textcolor{orange}{z} z 趋近于负无穷时, σ ( z ) \textcolor{purple}{\sigma(z)} σ(z) 趋近于0。这使得我们可以将逻辑回归模型的输出解释为事件发生的概率:

P ( Y = 1 ∣ X ) = σ ( W T X + b ) \textcolor{blue}{P(Y=1|X) = \sigma(W^T X + b)} P(Y=1∣X)=σ(WTX+b)

2.3 概率预测

逻辑回归模型的输出是一个概率值,表示在给定特征 X X X 的情况下,事件 Y Y Y 发生的概率。我们可以将其表示为:

P ( Y = 1 ∣ X ) = σ ( z ) \textcolor{blue}{P(Y=1|X) = \sigma(z)} P(Y=1∣X)=σ(z)

同时,事件 Y Y Y 不发生的概率可以表示为:

P ( Y = 0 ∣ X ) = 1 − P ( Y = 1 ∣ X ) = 1 − σ ( z ) \textcolor{blue}{P(Y=0|X) = 1 - P(Y=1|X) = 1 - \sigma(z)} P(Y=0∣X)=1P(Y=1∣X)=1σ(z)

2.4 决策边界

在逻辑回归中,我们通常设定一个阈值(通常为0.5)来进行分类。当预测的概率 P ( Y = 1 ∣ X ) \textcolor{blue}{P(Y=1|X)} P(Y=1∣X) 大于或等于0.5时,我们将样本分类为正类(1);否则,分类为负类(0)。这个阈值决定了模型的决策边界,影响分类结果。

2.5 损失函数

为了训练逻辑回归模型,我们需要定义一个损失函数来衡量模型预测与实际标签之间的差距。逻辑回归通常使用交叉熵损失(Cross-Entropy Loss),其公式为:

L ( W , b ) = − 1 m ∑ i = 1 m [ y ( i ) log ⁡ ( h ( x ( i ) ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h ( x ( i ) ) ) ] \textcolor{brown}{L(W, b) = -\frac{1}{m} \sum_{i=1}^{m} [y^{(i)} \log(h(x^{(i)})) + (1 - y^{(i)}) \log(1 - h(x^{(i)}))]} L(W,b)=m1i=1m[y(i)log(h(x(i)))+(1y(i))log(1h(x(i)))]

其中:

  • m \textcolor{orange}{m} m 是样本数量。
  • y ( i ) \textcolor{red}{y^{(i)}} y(i) 是第 i i i 个样本的真实标签(0或1)。
  • h ( x ( i ) ) = σ ( W T x ( i ) + b ) \textcolor{purple}{h(x^{(i)}) = \sigma(W^T x^{(i)} + b)} h(x(i))=σ(WTx(i)+b) 是模型对第 i i i 个样本的预测概率。

交叉熵损失函数的目标是最小化预测概率与真实标签之间的差异,从而提高模型的准确性。

2.6 优化过程

为了找到最佳的模型参数 W \textcolor{red}{W} W b \textcolor{green}{b} b,我们通常使用优化算法,如梯度下降(Gradient Descent)。梯度下降的基本思想是通过计算损失函数关于参数的梯度,逐步更新参数,以最小化损失函数。参数更新的公式为:

W : = W − α ∂ L ∂ W \textcolor{red}{W := W - \alpha \frac{\partial L}{\partial W}} W:=WαWL

b : = b − α ∂ L ∂ b \textcolor{green}{b := b - \alpha \frac{\partial L}{\partial b}} b:=bαbL

其中, α \textcolor{orange}{\alpha} α 是学习率,控制每次更新的步长。

3. 实现步骤

  逻辑回归的实现步骤包括数据准备、特征缩放、模型训练、模型评估和预测等多个环节。以下将详细阐述每个步骤,并通过不同的颜色来区分关键知识点。

3.1 数据准备

在实现逻辑回归之前,首先需要准备好数据集。数据准备的步骤包括:

  • 数据收集:获取相关的数据集,数据可以来自于公开数据集、数据库或其他来源。
  • 数据清洗:处理缺失值、异常值和重复数据,以确保数据的质量。
  • 特征选择:选择与目标变量相关的特征,以提高模型的性能。

数据准备的目标是确保数据集的完整性和有效性,为后续的模型训练打下基础。

3.2 特征缩放

特征缩放是逻辑回归实现中的一个重要步骤,尤其是在特征值范围差异较大的情况下。特征缩放的主要方法包括:

  • 标准化(Standardization):将特征值转换为均值为0,标准差为1的分布。公式为:

x ′ = x − μ σ \textcolor{blue}{x' = \frac{x - \mu}{\sigma}} x=σxμ

其中, μ \mu μ 是特征的均值, σ \sigma σ 是特征的标准差。

  • 归一化(Normalization):将特征值缩放到[0, 1]的范围。公式为:

x ′ = x − min ⁡ ( x ) max ⁡ ( x ) − min ⁡ ( x ) \textcolor{blue}{x' = \frac{x - \min(x)}{\max(x) - \min(x)}} x=max(x)min(x)xmin(x)

特征缩放的目的是提高模型的收敛速度和稳定性。

3.3 模型训练

模型训练是逻辑回归实现的核心步骤,主要包括以下几个方面:

3.3.1 初始化参数

在训练开始之前,首先需要初始化模型参数 W \textcolor{red}{W} W 和偏置项 b \textcolor{green}{b} b。通常可以将它们初始化为0或小的随机值。

3.3.2 定义损失函数

使用交叉熵损失函数来衡量模型预测与实际标签之间的差距。损失函数的公式为:

L ( W , b ) = − 1 m ∑ i = 1 m [ y ( i ) log ⁡ ( h ( x ( i ) ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h ( x ( i ) ) ) ] \textcolor{brown}{L(W, b) = -\frac{1}{m} \sum_{i=1}^{m} [y^{(i)} \log(h(x^{(i)})) + (1 - y^{(i)}) \log(1 - h(x^{(i)}))]} L(W,b)=m1i=1m[y(i)log(h(x(i)))+(1y(i))log(1h(x(i)))]

3.3.3 计算梯度

通过反向传播算法计算损失函数关于参数的梯度。梯度的计算公式为:

∂ L ∂ W = 1 m ∑ i = 1 m ( h ( x ( i ) ) − y ( i ) ) x ( i ) \textcolor{red}{\frac{\partial L}{\partial W} = \frac{1}{m} \sum_{i=1}^{m} (h(x^{(i)}) - y^{(i)}) x^{(i)}} WL=m1i=1m(h(x(i))y(i))x(i)

∂ L ∂ b = 1 m ∑ i = 1 m ( h ( x ( i ) ) − y ( i ) ) \textcolor{green}{\frac{\partial L}{\partial b} = \frac{1}{m} \sum_{i=1}^{m} (h(x^{(i)}) - y^{(i)})} bL=m1i=1m(h(x(i))y(i))

3.3.4 更新参数

使用梯度下降算法更新模型参数。参数更新的公式为:

W : = W − α ∂ L ∂ W \textcolor{red}{W := W - \alpha \frac{\partial L}{\partial W}} W:=WαWL

b : = b − α ∂ L ∂ b \textcolor{green}{b := b - \alpha \frac{\partial L}{\partial b}} b:=bαbL

其中, α \textcolor{orange}{\alpha} α 是学习率,控制每次更新的步长。

3.3.5 迭代训练

重复计算梯度和更新参数的过程,直到损失函数收敛或达到预设的迭代次数。

3.4 模型评估

模型训练完成后,需要对模型进行评估,以判断其性能。常用的评估指标包括:

  • 准确率(Accuracy):正确分类的样本占总样本的比例。

A c c u r a c y = T P + T N T P + T N + F P + F N \textcolor{blue}{Accuracy = \frac{TP + TN}{TP + TN + FP + FN}} Accuracy=TP+TN+FP+FNTP+TN

  • 精确率(Precision):预测为正类的样本中,实际为正类的比例。

P r e c i s i o n = T P T P + F P \textcolor{blue}{Precision = \frac{TP}{TP + FP}} Precision=TP+FPTP

  • 召回率(Recall):实际为正类的样本中,预测为正类的比例。

R e c a l l = T P T P + F N \textcolor{blue}{Recall = \frac{TP}{TP + FN}} Recall=TP+FNTP

  • F1-score:精确率和召回率的调和平均数。

F 1 = 2 ⋅ P r e c i s i o n ⋅ R e c a l l P r e c i s i o n + R e c a l l \textcolor{blue}{F1 = 2 \cdot \frac{Precision \cdot Recall}{Precision + Recall}} F1=2Precision+RecallPrecisionRecall

其中, T P TP TP 是真正例, T N TN TN 是真负例, F P FP FP 是假正例, F N FN FN 是假负例。

3.5 预测

在模型训练和评估完成后,可以使用训练好的模型对新数据进行预测。预测过程包括以下步骤:

  1. 特征处理:对新数据进行相同的特征缩放处理。
  2. 计算概率:使用逻辑回归模型计算新数据的预测概率:

P ( Y = 1 ∣ X ) = σ ( W T X + b ) \textcolor{blue}{P(Y=1|X) = \sigma(W^T X + b)} P(Y=1∣X)=σ(WTX+b)

  1. 分类决策:根据设定的阈值(通常为0.5)进行分类。

4. 应用场景

  逻辑回归是一种广泛应用于分类问题的算法,尤其适合处理二分类任务。以下将详细阐述逻辑回归的几个主要应用场景,并结合示例代码进行说明。关键知识点将通过不同的颜色进行区分。

4.1 医疗领域

  在医疗领域,逻辑回归常用于预测患者是否患有某种疾病。例如,医生可以使用逻辑回归模型来判断患者是否有糖尿病的风险。

示例代码
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix# 读取数据集
data = pd.read_csv('diabetes.csv')# 特征和标签
X = data.drop('Outcome', axis=1)  # 特征
y = data['Outcome']  # 标签# 数据集划分
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)print(f"准确率: \textcolor{blue}{accuracy:.2f}")
print(f"混淆矩阵:\n\textcolor{green}{conf_matrix}")

  在这个示例中,我们使用了一个糖尿病数据集,通过逻辑回归模型预测患者是否患有糖尿病。模型的准确率和混淆矩阵可以帮助我们评估模型的性能。

4.2 金融领域

  在金融领域,逻辑回归被广泛应用于信用评分,帮助银行判断借款人是否可能违约。通过分析借款人的历史数据,银行可以使用逻辑回归模型来预测其信用风险。

示例代码
# 假设我们有一个信用评分数据集
credit_data = pd.read_csv('credit_data.csv')# 特征和标签
X_credit = credit_data.drop('Default', axis=1)  # 特征
y_credit = credit_data['Default']  # 标签# 数据集划分
X_train_credit, X_test_credit, y_train_credit, y_test_credit = train_test_split(X_credit, y_credit, test_size=0.3, random_state=42)# 初始化逻辑回归模型
model_credit = LogisticRegression()# 训练模型
model_credit.fit(X_train_credit, y_train_credit)# 预测
y_pred_credit = model_credit.predict(X_test_credit)# 评估模型
accuracy_credit = accuracy_score(y_test_credit, y_pred_credit)
conf_matrix_credit = confusion_matrix(y_test_credit, y_pred_credit)print(f"信用评分模型准确率: \textcolor{blue}{accuracy_credit:.2f}")
print(f"信用评分混淆矩阵:\n\textcolor{green}{conf_matrix_credit}")

  在这个示例中,我们使用了一个信用评分数据集,通过逻辑回归模型预测借款人是否会违约。模型的准确率和混淆矩阵同样可以帮助我们评估模型的性能。

4.3 市场营销

  在市场营销中,逻辑回归可以用于客户流失预测,帮助企业识别可能流失的客户。通过分析客户的购买行为和反馈,企业可以采取相应的措施来挽回客户。

示例代码
# 假设我们有一个客户流失数据集
churn_data = pd.read_csv('churn_data.csv')# 特征和标签
X_churn = churn_data.drop('Churn', axis=1)  # 特征
y_churn = churn_data['Churn']  # 标签# 数据集划分
X_train_churn, X_test_churn, y_train_churn, y_test_churn = train_test_split(X_churn, y_churn, test_size=0.25, random_state=42)# 初始化逻辑回归模型
model_churn = LogisticRegression()# 训练模型
model_churn.fit(X_train_churn, y_train_churn)# 预测
y_pred_churn = model_churn.predict(X_test_churn)# 评估模型
accuracy_churn = accuracy_score(y_test_churn, y_pred_churn)
conf_matrix_churn = confusion_matrix(y_test_churn, y_pred_churn)print(f"客户流失预测模型准确率: \textcolor{blue}{accuracy_churn:.2f}")
print(f"客户流失预测混淆矩阵:\n\textcolor{green}{conf_matrix_churn}")

  在这个示例中,我们使用了一个客户流失数据集,通过逻辑回归模型预测客户是否会流失。模型的准确率和混淆矩阵可以帮助企业评估客户流失的风险。

总结

  逻辑回归作为一种经典的分类算法,以其简单性和有效性在机器学习领域中占据了重要地位。通过对输入特征的线性组合,逻辑回归能够预测事件发生的概率,并利用Sigmoid函数将这一概率映射到0和1之间。其核心原理包括线性组合、概率预测、决策边界的设定以及交叉熵损失函数的优化。逻辑回归不仅易于实现和解释,还能为许多实际应用提供可靠的解决方案,如医疗诊断、金融风险评估和市场营销分析等。掌握逻辑回归的基本原理和实现步骤,不仅为初学者打下了坚实的基础,也为深入探索更复杂的机器学习模型提供了必要的知识储备。通过对逻辑回归的学习,读者能够更好地理解分类问题的本质,并在实际项目中灵活应用这一强大的工具。


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/58583.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[High Speed Serial ] Xilinx

Xilinx 高速串行数据接口 收发器产品涵盖了当今高速协议的方方面面。GTH 和 GTY 收发器提供要求苛刻的光互连所需的低抖动,并具有世界一流的自适应均衡功能,具有困难的背板操作所需的 PCS 功能。 Versal™ GTY (32.75Gb/s)&…

基于CNN-RNN的影像报告生成

项目源码获取方式见文章末尾! 600多个深度学习项目资料,快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【PaddleNLP的FAQ问答机器人】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…

java list使用基本操作

import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;public class Main {public static void main(String[] args) {ArrayList list new ArrayList();list.add("张三");list.add("李四");list.add("王五");l…

高级 <HarmonyOS主题课>借助AR引擎帮助应用实现虚拟与现实交互的能力的课后习题

持而盈之,不如其已; 揣而锐之,不可长保。 金玉满堂,莫之能守; 富贵而骄,自遗其咎。 功成身退,天之道也。 VR (Virtual Reality): 虚拟现实技术 AR (Augmented Reality): 增强现实) XR.(Extend…

高校实验室安全巡检系统设计与实现(源码+定制+开发)高校实验室巡检系统、实验室安全管理平台、实验室安全监控系统、智能实验室巡查系统、高校实验室风险管理

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

102、Python并发编程:Queue与生产者消费者模型实现解耦、协作

引言 在实际业务场景中,很多时候在处理复杂任务的时候,会拆分上下游各个环节,形成一个类似于流水线的处理方式。上游类似于生产者,下游要依赖上游的输出进行工作,类似于消费者。但是,很多时候,…

【梯度提升专题】XGBoost、Adaboost、CatBoost预测合集:抗乳腺癌药物优化、信贷风控、比特币应用|附数据代码...

全文链接:https://tecdat.cn/?p38115 分析师:Yang Yang,Kechen Zhao 在当今科技日新月异的时代,数据的有效利用成为各领域突破发展的关键。于医疗领域,乳腺癌的高发性与严重性不容忽视,优化抗乳腺癌候选药物的筛选与特…

机器学习与AI|如何利用数据科学优化库存周转率?

对于所有零售商来说,良好的库存管理都是非常重要的。众所周知,商品如果不放在货架上就无法出售,而如果库存过多则意味着严重的财务负担。 但是做好库存管理绝非易事,它依赖于对未来需求的准确预测和确保始终有合适库存的敏捷供应链…

安卓智能对讲终端|北斗有源终端|三防对讲机|单兵终端|单北斗

在当今快速发展的通信技术时代,智能对讲手持机已成为众多行业领域中不可或缺的通讯工具。QM240T安卓智能对讲手持机,作为一款集先进技术与实用功能于一身的高端设备,凭借其卓越的性能和多样化的应用特性,正逐步引领对讲机市场的革…

【数据集】【YOLO】【目标检测】抽烟识别数据集 6953 张,YOLO/VOC格式标注,吸烟检测!

数据集介绍 【数据集】抽烟识别数据集 6953 张,目标检测,包含YOLO/VOC格式标注。数据集中包含1种分类:“smoking”。数据集来自国内外图片网站和视频截图。检测范围园区吸烟检测、禁烟区吸烟检测、监控吸烟检测、无人机吸烟检测等。 主页私…

软件设计师-上午题-15 计算机网络(5分)

计算机网络题号一般为66-70题,分值一般为5分。 目录 1 网络设备 1.1 真题 2 协议簇 2.1 真题 3 TCP和UDP 3.1 真题 4 SMTP和POP3 4.1 真题 5 ARP 5.1 真题 6 DHCP 6.1 真题 7 URL 7.1 真题 8 浏览器 8.1 真题 9 IP地址和子网掩码 9.1 真题 10 I…

视频制作与剪辑怎么学,零基础入门视频剪辑和制作

视频制作与剪辑是一门充满创意与挑战的艺术形式,对于零基础的学习者来说,没选对软件不了解剪辑步骤,入门可能会显得有些棘手。接下来,我们将一同探讨如何开启视频剪辑与制作之旅,让新手从零基础入门,逐步迈…

[Element] el-table修改滚动条上部分的背景色

[Element] el-table修改滚动条上部分的背景色 ::v-deep .el-table__cell .gutter {background: red;}

SAP ABAP开发学习——WDA 七 使用文本与消息

目录 从数据字典读取文本 使用OTR文本 从程序中调用OTR文本 消息分类 定义消息显示位置 text类消息的使用 T100 消息的使用 OTR消息实例 消息内容修改 从数据字典读取文本 使用OTR文本 可以自己创建OTR文本 从程序中调用OTR文本 消息分类 定义消息显示位置 text类消息的…

基于物联网设计的地下煤矿安全监测与预警

文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成 1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发 1.5 模块的技术详情介绍【1】NBIOT-BC26模块【2】MQ5传感器【4】DHT11传感器【5】红外热释电人体检…

golang分布式缓存项目 Day 1

注:该项目原作者:https://geektutu.com/post/geecache-day1.html。本文旨在记录本人做该项目时的一些疑惑解答以及部分的测试样例以便于本人复习。 LRU缓存淘汰策略 三种缓存淘汰策略 FIFO(First In, First Out)先进先出 原理&…

Pr 视频过渡:沉浸式视频 - VR 默比乌斯缩放

效果面板/视频过渡/沉浸式视频/VR 默比乌斯缩放 Video Transitions/Immersive Video/VR Mobius Zoom VR 默比乌斯缩放 VR Mobius Zoom用于 VR 视频中的缩放式场景切换,通过缩小或放大的渐变效果在两个场景之间平滑过渡。 自动 VR 属性 Auto VR Properties 默认勾选…

华为实时视频使用FLV播放RTSP流

import flvjs from ‘flv.js’; 安装flv <video style"width:100%;height:100%;" ref"videoHWRef" ></video>// src 华为rtsp流 rtsp://admin:Huaweivideo10.10.8.151:554/xxx/trackID1// url 需要后端提供视频源地址playVideo() {if (fl…

【华为机试题】光伏场地建设规划 [Python]

题目 代码 class Solution:def func(self, input_args, area_list):count 0for i in range(input_args[0] - input_args[2] 1):for j in range(input_args[1] - input_args[2] 1):count 1 if self.area_compute(area_list,i,j,input_args[2],input_args[3]) else 0print(c…

备考25年二建,最好这样选专业!

2025年的二建备考已经开始了&#xff0c;很多考生在纠结报考哪个专业&#xff0c;二级建造师各专业难度如何&#xff1f;哪个专业含金量更高&#xff1f; 今天就带大家了解一下这六大专业&#xff0c;一起来看~ ​建筑专业 考核方向&#xff1a;建筑工程技术要求、建筑工程专…