深度学习与机器学习的关系解析:从基础到应用
📌 友情提示:
本文内容由银河易创AI(https://ai.eaigx.com)创作平台的gpt-4-turbo模型生成,旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证,建议读者通过官方文档或实践进一步确认其准确性。
在当今科技迅猛发展的时代,机器学习和深度学习成为了人工智能领域中最受关注的话题。然而,许多人对它们之间的关系仍然感到困惑。本篇博文将深入探讨深度学习与机器学习的关系,揭示它们在概念、技术和应用层面的异同,以便帮助读者更好地理解这两个领域。
一. 理论基础概述
在深入探讨深度学习与机器学习之间的关系之前,我们首先需要了解这两个概念的基本理论基础。尽管它们在某些方面存在区别,但它们的核心思想和方法论却有许多相通之处。在本节中,我们将详细介绍机器学习和深度学习的定义、发展历史、基本原理以及关键技术。

1.1 机器学习
机器学习(Machine Learning)是人工智能(Artificial Intelligence,AI)的一个重要分支,它主要聚焦于如何利用数据进行学习和改进模型的表现。简言之,机器学习是指计算机系统通过分析数据和寻找模式来提升其在特定任务中的表现,而非通过传统的编程方式直接实现。这使得机器学习在不同领域得以广泛应用,如图像识别、自然语言处理、推荐系统等。
1.1.1 发展历史
机器学习的起源可以追溯到20世纪50年代,早期的研究主要集中在统计学、模式识别和神经网络等领域。1957年,Frank Rosenblatt提出了感知器(Perceptron),这是最早的神经网络之一,用于二分类问题。进入1990年代,随着计算能力的提升和数据量的激增,机器学习逐渐崭露头角,并开始应用于实际问题。如今,机器学习已经发展出多种算法和技术,如决策树、支持向量机(SVM)、集成学习等。
1.1.2 核心原理
机器学习的基本思想是通过输入数据(称为训练数据)进行学习,进而构建一个能够预测或分类新数据的模型。机器学习方法主要分为三类:
-
监督学习(Supervised Learning) :在这种学习过程中,模型通过具有标签的输入数据进行训练,目标是将输入与输出进行映射。如图像分类、房价预测等。
-
无监督学习(Unsupervised Learning) :与监督学习不同,无监督学习不依赖于标签数据,而是通过寻找数据的内在结构进行学习,如聚类分析和降维技术。
-
强化学习(Reinforcement Learning) :这种学习方法通过与环境的交互进行学习,依赖于试错机制和奖励反馈。例如,在游戏中,模型通过不断尝试并根据结果获得奖励来优化其策略。
1.2 深度学习
深度学习(Deep Learning)是机器学习的一个子领域,主要基于神经网络,特别是多层神经网络(即深度神经网络)。在处理复杂数据(如图像、文本、声音等)时,深度学习可以自动提取特征,而无需手动进行特征工程。
1.2.1 发展历史
深度学习的概念早在20世纪80年代就开始出现,但由于当时计算资源的限制,研究进展缓慢。近年来,随着计算能力的提升及大数据的可用性,深度学习得到了蓬勃发展。2012年,Alex Krizhevsky等人在ImageNet竞赛中首次应用卷积神经网络(CNN)取得显著成效,标志着深度学习的广泛应用开始。
1.2.2 核心原理
深度学习运用多层神经网络模型,通过分层的方式提取数据的特征。这些特征在每一层中逐渐变得抽象,从而允许网络在不重新设计前端特征的情况下,处理复杂特征。深度学习的基本网络结构包括:
-
卷积神经网络(CNN) :特别适用于图像处理,通过卷积层自动提取空间特征。
-
循环神经网络(RNN) :特别适合处理序列数据,如文本和时间序列数据,能够捕捉序列中的时间依赖关系。
-
生成对抗网络(GAN) :通过对抗性的训练过程生成新数据,常用于图像生成、风格转换等任务。
1.2.3 自动特征提取
与传统机器学习相比,深度学习最大的优势在于其强大的特征学习能力。深度学习模型会在多层中自动抽取特征,这使得模型在处理复杂数据时表现出色。例如,在图像识别任务中,较浅层的卷积层可以提取边缘和纹理等低级特征,而较深层的卷积层则可以识别出更复杂的形状和对象。
通过以上关于机器学习和深度学习的理论基础概述,我们可以看到这两个领域的异同之处。机器学习作为一个广泛的领域,涵盖了多种算法和方法,而深度学习则是在机器学习的基础上,利用深层神经网络来处理复杂数据并取得更好效果。下一步,我们将继续探讨这两者在架构、算法和应用领域的具体对比。
二. 机器学习与深度学习的架构差异
机器学习和深度学习在架构上的差异不仅影响着它们的学习过程和应用场景,也决定了它们在数据处理、模型复杂性以及训练方式等方面的表现。理解这些架构差异有助于我们合理选择合适的方法来解决特定问题。以下是两者在特征工程、模型复杂度、数据处理方式以及训练过程等方面的详细比较。
2.1 特征工程
2.1.1 机器学习中的特征工程
在经典的机器学习中,特征工程是一个至关重要的步骤。特征工程指的是通过对原始数据的处理来提取出具有实际意义的特征,以提高模型的性能。这个过程往往需要领域知识和经验,通常包括以下几个步骤:
-
数据预处理:清洗数据,处理缺失值和异常值,标准化和归一化数据。
-
特征选择:根据特征的重要性、相关性和影响,选择对模型预测最有帮助的特征。
-
特征构造:通过结合已有特征或创建新的特征来增强模型。例如,在房价预测中,可以通过组合“卧室数量”和“浴室数量”来创建新特征“房间数量”。
这种手动特征设计的方式在许多传统机器学习方法中是不可或缺的,但这也使得模型的性能高度依赖于数据科学家的经验和专业知识。
2.1.2 深度学习中的自动特征提取
与机器学习相对,深度学习模型尤其擅长于自动特征提取。在深度学习中,神经网络能够通过多层的网络结构,逐层提取和学习各种特征。早期的层通常会捕捉一些低级特征,比如边缘和纹理,而随着深度增大,网络能够识别出更复杂的模式和对象。深度学习的这一特点极大地减少了人工干预的需求,不再需要对特征进行手动选择和构建。
这种自动特征提取的能力在处理高维数据(如图像、音频和文本)时尤为有效,因而在许多应用场景中表现出更高的准确度。
2.2 模型复杂度
2.2.1 机器学习模型的复杂度
传统的机器学习模型通常是相对简单的,模型参数数目相对较少。常见的机器学习模型有线性回归、支持向量机、决策树和随机森林等。这些模型的复杂度相对较低,易于理解和解释,适合于特定的、较为简单的问题。当数据量较小或特征较少时,传统机器学习方法能够实现较好的效果。
然而,简单模型在面对复杂问题时可能会面临瓶颈,容易出现欠拟合或准确度不足的情况。例如,在处理图像识别任务时,机器学习模型往往无法捕捉到数据中的复杂模式。
2.2.2 深度学习模型的复杂度
深度学习模型的复杂度显著高于传统机器学习模型。深度神经网络通常包含多达数十层或更多层,每一层都包含大量的神经元。作为一个例子,卷积神经网络(CNN)在图像分析中经常使用层级结构,通过多个卷积和池化层来提取丰富的特征。
尽管深度学习模型具有更强的表达能力,但其复杂性也带来了挑战。模型的训练过程需要大量数据和计算资源,同时也对超参数的选择和调整提出了更高的要求。这使得深度学习在实现时可能比传统模型更加不易掌握。
2.3 数据处理方式
2.3.1 数据要求
在机器学习中,通常要求输入数据经过精心挑选的特征,这意味着模型需要依赖于数据预处理和特征工程。这种方式在数据量较少的情况下效果良好,但在处理高维数据时,由于手动特征选择的局限性,模型可能无法捕捉到所有的潜在信息。
2.3.2 数据饱和度
深度学习则对于数据量的需求较高。它通常在大规模数据集上进行训练,模型能够通过不断的参数优化和自我学习来提高表现。因此,深度学习在面对海量数据时,能够有效利用数据中的信息来提高模型性能。随着数据集的形式不断增长,深度学习的优势越发明显。
2.4 训练过程
2.4.1 机器学习的训练过程
机器学习模型的训练过程相对简单,通常需经过以下几个步骤:
-
数据分割:将数据集分为训练集、验证集和测试集。
-
模型训练:基于训练集进行模型训练,采用交叉验证等方法优化模型。
-
超参数调整:根据验证集的表现调整超参数,提升模型的效果。
-
模型评估:使用测试集对模型进行最终评估,确保其在新数据上的泛化能力。
由于模型相对简单,训练时间相对较短,适合需要快速迭代和调优的应用。
2.4.2 深度学习的训练过程
深度学习模型的训练过程则更为复杂,通常涉及以下几个步骤:
-
数据预处理和增强:对输入数据进行标准化、归一化和增强等操作,以提高模型对数据不同变换的鲁棒性。
-
前向传播和反向传播:通过前向传递计算输出,反向传播时调整模型参数以最小化损失函数。
-
优化算法:采用各种优化算法(如SGD、Adam等)来更新参数,从而加快收敛速度。
-
模型集成:通过集成学习等手段提升模型的性能,例如使用多个模型的投票结果。
由于深度学习模型参数复杂、计算量大,训练过程可能需要数小时甚至数天,尤其是在数据量巨大的情况下。并且,深度学习需要更强大的硬件支持,如GPU等,以加速训练过程。
机器学习与深度学习在架构上的差异体现在多个方面,包括特征工程、模型复杂度、数据处理方式和训练过程等。传统的机器学习方法适合敷用较小数据且需要较高可解释性的任务,而深度学习则在复杂任务中展现出更强大的能力和更高的准确性。这些架构差异不仅影响到具体的应用场景,也在数据预处理、模型训练和预测过程中形成了显著的区别。在实际应用中,选择适合的方法将有助于更有效地解决问题。
三. 算法与实现的差异
3.1 机器学习示例
我们将使用Scikit-learn库实现一个简单的机器学习模型:线性回归。该示例将展示如何使用机器学习处理一个经典的回归问题。
python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error# 生成样本数据
np.random.seed(0)
X = 2 * np.random.rand(100, 1) # 特征:随机数据
y = 4 + 3 * X + np.random.randn(100, 1) # 目标变量:线性关系加上一些噪声# 将数据分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 创建并训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)# 进行预测
y_pred = model.predict(X_test)# 评估模型
mse = mean_squared_error(y_test, y_pred)
print(f"均方误差: {mse:.2f}")# 可视化结果
plt.scatter(X_test, y_test, color='black', label='真实值')
plt.plot(X_test, y_pred, color='blue', linewidth=2, label='预测值')
plt.xlabel('特征')
plt.ylabel('目标变量')
plt.legend()
plt.title('线性回归示例')
plt.show()
3.2 深度学习示例
我们将使用TensorFlow/Keras库,构建一个简单的深度神经网络(DNN)进行分类。此示例将展示如何在深度学习中构建包含多层的网络。
python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_moons
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from tensorflow import keras
from tensorflow.keras import layers# 生成样本数据
X, y = make_moons(n_samples=1000, noise=0.1)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 数据标准化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)# 构建深度学习模型
model = keras.Sequential([layers.Input(shape=(2,)), # 输入层layers.Dense(16, activation='relu'), # 隐藏层1layers.Dense(16, activation='relu'), # 隐藏层2layers.Dense(1, activation='sigmoid') # 输出层
])# 编译模型
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])# 训练模型
model.fit(X_train, y_train, epochs=100, batch_size=32, verbose=1)# 评估模型
loss, accuracy = model.evaluate(X_test, y_test)
print(f"测试集损失: {loss:.2f}, 测试集准确率: {accuracy:.2f}")# 可视化决策边界
xx, yy = np.meshgrid(np.linspace(-1.5, 2.5, 100), np.linspace(-1, 1.5, 100))
Z = model.predict(scaler.transform(np.c_[xx.ravel(), yy.ravel()]))
Z = Z.reshape(xx.shape)plt.contourf(xx, yy, Z, levels=[0, 0.5, 1], alpha=0.5, cmap='RdBu')
plt.scatter(X_test[:, 0], X_test[:, 1], c=y_test, edgecolors='k', marker='o')
plt.title('深度学习示例:二月形状数据分类')
plt.xlabel('特征1')
plt.ylabel('特征2')
plt.show()
通过上述示例代码,我们可以清楚地看到机器学习和深度学习之间的实现差异:
-
机器学习示例展示了一个简单的线性回归模型,代码结构简单,易于理解,训练过程快速,适合用于小规模数据集。
-
深度学习示例则展示了如何构建和训练一个包含多层的深度神经网络,用于复杂的分类任务。这个过程涉及更多的步骤(如数据标准化、模型编译、训练等),且计算需求相对较高。
这些实现反映了算法和层面的复杂性、资源需求的差异,以及各自的适用范围和局限性,为我们理解机器学习和深度学习的不同提供了实用的参考。
四. 应用领域的对比
机器学习和深度学习在多种应用领域都展示了强大的能力,然而它们的适用场景与特点却有所不同。根据数据的性质、任务的复杂度以及需求的多个方面,二者在各自的领域中扮演了不同的角色。以下是机器学习与深度学习在多个应用领域的比较,包括业务领域、技术领域以及具体应用实例。
4.1 机器学习的应用领域
机器学习因其相对较低的计算开销和简洁的模型结构,在许多传统行业得到了广泛应用。以下是一些主要应用领域:
4.1.1 财务与风险管理
在金融行业,机器学习被广泛应用于信用评分、风险评估、欺诈检测等任务。通过分析历史交易数据,机器学习算法可以识别出潜在的风险模式和异常交易行为,提高审核和风险管理的效率。
- 案例:某信用卡公司利用决策树算法监测异常交易,通过分析顾客的消费行为特征来识别可能的欺诈行为,从而减少了损失。
4.1.2 市场营销
在市场营销领域,机器学习通过预测客户行为来帮助企业制定更精准的营销策略。通过分析顾客的购买历史和偏好,企业可以制定个性化的广告、促销策略和客户关系管理。
- 案例:一家在线零售企业使用协同过滤算法推荐商品,基于用户历史行为以及相似用户的行为模式,为特定用户提供个性化的产品推荐,从而增加了销售转化率。
4.1.3 制造与生产
在制造行业,机器学习用于预测维护(PDM)和质量控制。通过实时监测设备的状态和工作条件,企业能够预测设备故障并在出现问题之前进行维护,从而减少停机时间并提高生产效率。
- 案例:一家汽车制造企业使用随机森林算法分析设备传感器数据,并结合历史故障数据,成功预测了关键设备的故障,节省了大量维护成本。
4.2 深度学习的应用领域
深度学习以其强大的特征提取能力和处理复杂数据的优势,在多个前沿技术领域产生了重大影响。以下是深度学习的一些主要应用领域:
4.2.1 计算机视觉
计算机视觉是深度学习应用的一个典型领域。卷积神经网络(CNN)通过层级结构能够有效捕捉图像中的空间特征,这极大地推动了图像分类、目标检测、图像分割等任务的发展。
- 案例:在医学影像分析中,深度学习被用于自动分析X光片、CT图像等,帮助放射科医生快速发现肿瘤等异常组织,提高诊断效率和准确性。
4.2.2 自然语言处理(NLP)
深度学习在自然语言处理领域展现出其显著优势。循环神经网络(RNN)和变换器模型(Transformer)在处理文本序列和语义理解中表现优异,广泛应用于机器翻译、情感分析和智能对话系统等。
- 案例:大型语言模型(如GPT-3)能够生成高质量的自然语言文本,已被应用于自动撰写文章、客户服务和内容创作等多种场景,大幅提高了文本处理的效率。
4.2.3 自动驾驶
在自动驾驶技术中,深度学习与传感器数据结合,能够实现环境感知、路径规划和决策制定。深度学习的图像识别能力使得自动驾驶汽车能够实时识别周围的交通标志、行人及其他车辆。
- 案例:特斯拉的自动驾驶系统利用卷积神经网络处理来自多个摄像头的数据,有效识别道路情况,从而实现自动变道、泊车和避障。
4.3 交叉应用领域
在某些应用领域,机器学习与深度学习可以互为补充。例如,在金融市场的分析中,可以使用机器学习方法构建初步的特征,并将目标复杂模式的学习交给深度学习模型来处理。这种组合方式在许多复杂的行业应用中日益受到关注。
4.3.1 医疗健康
在医疗领域,机器学习可以用于风险评估和疾病预测,而深度学习则可以用于医学影像的分析和疾病诊断。二者结合,能够在一个系统中实现全面的数据分析和决策支持。
- 案例:某医院开发了一种智能健康监测系统,通过机器学习模型对患者的健康数据进行初步分析,再利用深度学习模型分析电子病历和影像数据,最终为医生提供综合的治疗建议。
4.3.2 智能家居
在智能家居领域,传统机器学习可以用于用户行为分析和习惯学习,而深度学习则应用于语音识别和计算机视觉技术,使得家居智能化程度更高。
- 案例:某智能音箱通过机器学习分析用户的日常使用习惯,优化控制场景;同时,使用深度学习的语音识别技术准确响应用户的语音指令,实现高效的家居控制。
综上所述,机器学习与深度学习在不同的应用领域展示了各自的优劣势。机器学习在传统业务领域中表现出色,特别是在数据量相对较小且需求可解释性的任务中。而深度学习在高维数据、复杂模式识别方面具有无可比拟的优势,适用于更具挑战性和创新性的应用场景。随着技术的不断发展,二者之间的界限会越来越模糊,未来可以通过互补的方式,共同推动各个行业的发展。选择合适的技术将有助于在不同领域实现更好的成果。
五
. 总结与展望
深度学习与机器学习的关系,就如同树木与枝叶的关系:深度学习是机器学习的一个进化和扩展。随着数据量的激增和计算能力的提升,深度学习展现出了巨大的潜力。然而,机器学习依然在某些场景中表现出色,尤其是在数据量较小或对可解释性要求较高的任务中。
未来,机器学习与深度学习在技术和应用方面都将继续发展。科研人员和工程师们应根据具体任务的需求,选择最合适的工具和方法,推动人工智能技术的进一步发展。
通过理解深度学习与机器学习之间的关系,我们不仅能够更好地应用现有技术,也能为未来的技术研发铺平道路。
相关文章:
深度学习与机器学习的关系解析:从基础到应用
📌 友情提示: 本文内容由银河易创AI(https://ai.eaigx.com)创作平台的gpt-4-turbo模型生成,旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证,建议读者通过官方文档或实践进一步确认其准…...
【Java学习笔记】标识符和保留字
标识符和保留字 一、标识符概念: 1. Java 对各种变量、方法和类等命名时使用的字符序列称为标识符。 2. 凡是自己可以起名字的地方都可以使用标识符。 例如:int num1 90; 二、标识符命名规则(必须遵守): 1. 由 26 个…...
用Python打造去中心化知识产权保护系统:科技驱动创作者权益新方案
用Python打造去中心化知识产权保护系统:科技驱动创作者权益新方案 近年来,区块链技术和去中心化系统的兴起为知识产权保护提供了新的可能性。在传统模式下,知识产权保护通常依赖于集中化管理机构,这种方式不仅成本高,还可能因不透明导致权益争议。于是,我们萌生了一个设…...
工业物联网的可视化编程革新:Node-RED与边缘计算的深度融合-纵横智控
在工业物联网的演进历程中,可视化编程工具正成为打破技术壁垒的核心力量。Node-RED作为开源的可视化编程平台,通过其独特的拖拽式逻辑构建能力,为设备连接、数据处理与业务逻辑设计提供了全新范式。本文将深入解析Node-RED的技术优势…...
深度学习 从入门到精通 day_02
1. 自动微分 自动微分模块torch.autograd负责自动计算张量操作的梯度,具有自动求导功能。自动微分模块是构成神经网络训练的必要模块,可以实现网络权重参数的更新,使得反向传播算法的实现变得简单而高效。 1.1 基础概念 1. 张量 :…...
Linux通用一键换源脚本.sh - ubuntu、centos全自动更换国内源 - LinuxMirrors神器
效果 脚本 bash <(curl -sSL https://linuxmirrors.cn/main.sh) 来自 https://linuxmirrors.cn/ 截图 ending......
【Python学习笔记】Pandas实现Excel质检记录表初审、复核及质检统计
背景: 我有这样一个需要审核的飞书题目表,按日期分成多个sheet,有初审——复核——质检三个环节,这三个环节是不同的同学在作业,并且领到同一个题目的人选是随机的,也就是说,完成一道题的三个人…...
药店药品管理系统(c语言版,使用链表)
一、声明后面所需要的结构体和函数 声明所需要的结构体、链表节点和函数部分 // 定义用户结构体 struct user {char username[20];char password[20]; };/*建立一个结构体储存商品信息*/ struct medicine {char name[20];int price;int number; };struct node {struct medi…...
Gparted重新分配swap空间之后,linux电脑读不到swap空间
问题背景 lsblk 显示存在物理设备(如 /dev/nvme0n1),但 swapon --show 无输出 说明 系统未启用任何 Swap 设备 问题原因分析 /etc/fstab 中 Swap 的 UUID 配置错误 从图片中看到执行 sudo swapon -a 时报错: swapoff: cannot fin…...
Paramiko 使用教程
目录 简介安装 Paramiko连接到远程服务器执行远程命令文件传输示例 简介 Paramiko 是一个基于 Python 的 SSH 客户端库,它提供了在网络上安全传输文件和执行远程命令的功能。本教程将介绍 Paramiko 的基本用法,包括连接到远程服务器、执行命令、文件传输…...
第一节:Vben Admin 最新 v5.0初体验
系列文章目录 基础篇 第一节:Vben Admin介绍和初次运行 第二节:Vben Admin 登录逻辑梳理和对接后端准备 第三节:Vben Admin登录对接后端login接口 第四节:Vben Admin登录对接后端getUserInfo接口 第五节:Vben Admin权…...
ARCGIS国土超级工具集1.5更新说明
ARCGIS国土超级工具集V1.5版本更新说明:因作者近段时间工作比较忙及正在编写ARCGISPro国土超级工具集(截图附后)的原因,故本次更新为小更新(没有增加新功能,只更新了已有的工具)。本次更新主要修…...
CNN:卷积到底做了什么?
卷积神经网络(Convolutional Neural Network, CNN) 是一种深度学习模型,专门用于处理具有网格结构的数据(如图像、视频等)。它在计算机视觉领域表现卓越,广泛应用于图像分类、目标检测、图像分割等任务。CN…...
AI应用开发之扣子第二课-AI翻译(第1节/共2节)
简介 共分为两节介绍,内容简单易懂,步骤详细,可以避免很多坑,建议直接上手操作(预估30分钟)。 AI应用开发之扣子第二课学习-AI翻译(第1节/共2节):业务逻辑实现 AI应用…...
linux学习 3.用户的操作
用户 建议在系统操作的时候不要一直使用root用户,因为root用户具有最高权限,你可能因为某些操作影响了你的系统,采用子用户则可以避免这一点 这里的学习不用太深入,掌握如何创建删除切换即可(除非你要做详细的用户管理࿰…...
leetcode 139. Word Break
这道题用动态规划解决。 class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<string> wordSet;for(string& word:wordDict){wordSet.insert(word);}int s_len s.size();//s的下标从1开始起算,dp[j]…...
Vue与React组件化设计对比
组件化是现代前端开发的核心思想之一,而Vue和React作为两大主流框架,在组件化设计上既有相似之处,也存在显著差异。本文将从语法设计、数据管理、组件通信、性能优化、生态系统等多个方向,结合实例详细对比两者的特点。 一、模板…...
Leetcode刷题 由浅入深之哈希表——242. 有效的字母异位词
目录 (一)字母异位词的C实现 写法一(辅助数组) (二)复杂度分析 时间复杂度 空间复杂度 (三)总结 【题目链接】242.有效的字母异位词 - 力扣(LeetCode) …...
自动化构建工具:makemakefile
在Windows中,我们写C代码或者C代码都需要用先找到一款合适的编译器,用来方便我们更好的完成代码,比如说vs2019,这些工具的特点是集成了多种开发所需的功能,如代码编辑、编译、调试、版本控制等,无需在不同的…...
刷题 | 牛客 - js中等10题(更ing)1/54知识点解答
知识点汇总: Array.from(要转换的对象, [mapFn], [thisArg ]):将类数组对象(Array-like)/可迭代对象(Iterable)转为真正的数组。 第二参 mapFn 是 类似 Array.prototype.map 的回调函数,加工…...
Ubuntu 20.04.6编译安装COMFAST CF-AX90无线网卡驱动
目录 0 前言 1 CF-AX90无线网卡驱动 1.1 驱动下载 1.2 驱动准备 2 编译安装驱动 2.1 拷贝驱动依赖到系统 2.2 驱动安装编译 3 重启 0 前言 COMFAST CF-AX90或者说AIC8800D80的Linux版本驱动不支持高版本的linux内核,实测目前仅支持最高5.15的内核。Ubuntu2…...
将python项目打包成Windows后台服务
前文,我开发了一个基于windows11与本地deepseek实现的语音助手,之前是通过CMD直接执行项目的main.py文件。但是这样不适合移植,现在想将其生成一个exe文件,以及部署成windows的后台服务。 关于语音助手的开发与发布,可以看的CSDN文章:一个基于windows11与本地deepseek实…...
PPT无法编辑怎么办?原因及解决方法全解析
在日常办公中,我们经常会遇到需要编辑PPT的情况。然而,有时我们会发现PPT文件无法编辑,这可能由多种原因引起。今天我们来看看PPT无法编辑的几种常见原因,并提供实用的解决方法,帮助你轻松应对。 原因1:文…...
安全用电基础知识及隐患排查重点
安全用电是电气安全的一个重要方面,作为普通人员,必须学会基础的用电知识和技巧,才能保障自己和家庭的安全。 以下是安全用电的基础知识及隐患排查重点: 一、基础知识 1.电压:单位为伏特(V)&a…...
Laravel 使用通义灵码 - AI 辅助开发提升效率
一、引言 Laravel 是 PHP 常用的一种后端开发框架,遵循 MVC(模型 - 视图 - 控制器)架构,以简洁、优雅的语法和强大的功能著称,旨在提升开发效率并简化复杂任务的实现。然而,它的开发习惯可能与传统的 PHP …...
签到功能---实现签到接口
文章目录 概要整体架构流程技术细节小结 概要 需求分析以及接口设计 由KEY的结构可知,要签到,就必须知道是谁在哪一天签到,也就是两个信息: 当前用户 当前时间 这两个信息我们都可以自己获取,因此签到时ÿ…...
JavaScript爬虫基础篇:HTTP 请求与响应
在互联网的世界里,数据无处不在。无论是新闻资讯、商品信息,还是社交媒体动态,这些数据都以各种形式存储在服务器上。而爬虫,就是我们获取这些数据的得力助手。今天,我们就来聊聊爬虫的基础——HTTP 请求与响应&#x…...
Python中的count()方法
文章目录 Python中的count()方法基本语法在不同数据类型中的使用1. 列表(List)中的count()2. 元组(Tuple)中的count()3. 字符串(String)中的count() 高级用法1. 指定搜索范围2. 统计复杂元素 注意事项 Python中的count()方法 前言:count()是Python中用于序列类型&a…...
LWIP_MQTT连接ONENET
前言: 使用正点原子STM32F407, LWIP,MQTT demo,验证LwIP的MQTT连接ONENET物联网平台,测试整个链路是否畅通,后面再详细分析LWIP移植和MQTT协议的使用。 26 基于 MQTT 协议连接 OneNET 服务器 本章主要介绍 lwIP 如何通过 MQTT 协议将设备连接到 OneNET…...
代码随想录刷题|Day20(组合总数,组合总数2、分割回文串)
回溯算法 Part02 组合总数 力扣题目链接 代码随想录链接 视频讲解 题目描述: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你…...
