模型、算法、数据模型、模型结构是什么?它们之间有什么关联和区别?

模型、算法、数据模型、模型结构是什么?它们之间有什么关联和区别?

  • 导读
  • 一、算法
    • 1、算法定义
    • 2、机器学习算法定义
  • 二、模型
    • 1、模型定义
    • 2、数据模型定义
    • 3、机器学习模型定义
  • 三、模型结构
    • 1、线性模型
    • 2、基于实例的模型
    • 3、决策树模型
    • 4、支持向量机
    • 5、集成方法
    • 6、神经网络及其变种
    • 7、贝叶斯模型
    • 8、聚类模型
    • 9、降维方法
    • 10、其他
  • 四、训练(学习)
  • 五、算法和模型的区别
  • 六、算法、模型和训练的关系
  • 小结

参考:大数据与人工智能

导读

我们在看一些机器学习、人工智能、数据仓库方面的资料时,经常会出现“神经网络”、“深度学习算法”、“非监督学习”、“大模型”、“逻辑模型”等高频词汇。这些词语有时会在同一篇文章中交叉出现,看似描述的是同一件事情,但所要表达的意思似乎又不尽相同,很容易就被绕晕了。

这里先给出“模型 、算法、模型结构、数据模型、训练”5个概念的精简定义:

  • 模型:现实世界的数学表示或模拟,它是指一种结果。

  • 算法:执行特定任务的明确步骤序列。

  • 模型结构:模型的特定框架或架构。

  • 数据模型:描述数据对象、其关系及与其相关的操作的抽象结构。

  • 训练:使用数据调整模型参数以改进模型性能的过程。

很抽象,这里先提个问题:“支持向量机到底是指什么?模型、算法亦或其它?”答案会在最后揭晓。

一、算法

1、算法定义

算法的定义有许多版本,但其核心思想是一致的。算法可以被定义为:一个明确的、有序的、有限的步骤集合,用于解决一个特定的问题或执行一个特定的任务。这个定义是非常通用的,适用于从最简单的日常生活任务(例如烹饪食谱)到复杂的计算机科学问题的算法。

让我们详细分析这个定义:

  1. 明确 (Clear):算法的每一步都应该是清晰、无歧义的,这样任何人都可以理解并按照算法的指示进行。

  2. 有序 (Ordered):步骤的顺序是固定的,这确保了每次运行算法时,它都会产生相同的结果(如果输入和初始条件保持不变)。、

  3. 有限 (Finite):算法的执行不能无限期地进行;经过一定数量的步骤后,它应该结束。

  4. 解决问题或执行任务:算法的目的是解决某个特定的问题或执行某个特定的任务,无论是计算数字、排序列表,还是其他更复杂的任务。

事实上,我们可以把任何使计算机能够按照我们预定目标运行的方法称为“算法”,不仅仅包括上面的举例,在计算机领域常见的“冒泡排序”等基础算法都可以算作“算法”的范畴,以下是冒泡算法的步骤流程:

在这里插入图片描述

2、机器学习算法定义

在机器学习和人工智能领域,"算法"这一词语通常具有特定的含义和上下文。在这些领域,算法通常指的是:一种通过数据或经验自动改进性能或逐渐适应某一任务的方法这个算法定义相对于传统算法的特殊之处在于"学习"和"适应"。让我们详细分析这个定义:

  1. 通过数据或经验:机器学习算法通常需要数据集来进行训练。这些数据允许算法识别模式、做出预测或完成其他任务。

  2. 自动改进性能:随着时间的推移和更多的数据输入,机器学习算法旨在提高其任务的完成质量,无论是分类准确率、预测精度还是其他度量标准。

  3. 逐渐适应某一任务:这一点突出了机器学习算法的"学习"能力,即它们随着时间的推移会变得更加擅长于特定的任务。

在机器学习和AI的上下文中,算法可能包括决策树算法、神经网络算法、遗传算法等。每种算法都有其特定的学习方法和适用的任务类型。下面示例了决策树ID3算法的实现步骤:

在这里插入图片描述

为了更快更好地实现自己的算法,很多时候,人们喜欢把已经实现的、效果良好的算法做一些封装,这样,下次编写算法的时候就可以直接拿来用了。我们常用的TensorFlowPyTorchMindSpore都是。

现在大模型中很热的Transformer 可以被认为是一种算法,因为Transformer 描述了如何执行自注意力计算、如何结合输入数据、如何通过神经网络层传递数据等等,这个意义上的 “算法” 是描述模型在前向传播和反向传播期间所采取的计算步骤

二、模型

1、模型定义

在更广泛、跨学科的背景下,模型可以被定义为:对现实世界某一部分的简化和抽象表示,用于模拟、描述、预测或理解该部分的行为或现象。这个定义的关键点包括:

  1. 简化和抽象:由于完全模拟现实是不可能的或不切实际的,模型是对现实的简化。它只包括对特定目的有关的部分,并忽略了不相关或次要的细节。

  2. 表示现实世界的某一部分:这可以是物理系统、经济过程、生物实体、或任何其他可以观察和描述的事物。

  3. 模拟、描述、预测或理解:模型的目的可以多种多样。一些模型用于模拟真实世界的行为(如飞行模拟器),其他模型可能用于预测(如气象模型),还有一些模型用于理论研究和理解基本原理。

2、数据模型定义

数据模型和一般意义上的模型都是对现实世界事物的简化和抽象表示,但数据模型体现的是现实世界或业务逻辑在数据层面的投影,是将数据元素以标准化的模式组织起来,用来模拟现实世界的信息框架和蓝图

比如通过抽象,数据模型可以为世界的系统交互提供一个更易于理解和操作的视图,可以专注于对特定任务或目标至关重要的实体和关系,从而忽略不相关或不重要的细节。

在这里插入图片描述

更具体的说,数据模型是对数据、数据关系、数据语义和数据约束的抽象描述和组织。它为数据的结构化提供了一个框架,并确定了数据如何存储、组织和处理。数据模型可以帮助确保数据的完整性、准确性和可用性。数据模型可以分为不同的级别或类型,包括概念数据模型、概念逻辑模型及物理数据模型。下面是反映运营商业务的概念模型。

在这里插入图片描述

3、机器学习模型定义

机器学习模型也是对某种现象或数据的描述和抽象,与一般的基于某种理论、原则或经验建立的模型不同,机器学习模型通过利用数据进行训练得到某种数学结构,它旨在捕捉和代表数据间的模式或关系,以便对新的、未见过的数据进行预测或决策,它的关键点在于:

  1. 通过数据训练得到:在机器学习中,模型通常不是手工创建或编程完成特定任务的,而是使用数据和特定的学习算法自动"学习"或调整其参数。

  2. 数学结构:模型在其核心是数学的,无论是线性回归中的线性方程,神经网络中的权重和偏差,还是决策树中的节点决策。

  3. 捕捉和代表数据间的模式或关系:模型的主要任务是理解数据中的潜在模式,并能够基于这些模式做出决策或预测。

  4. 对新的、未见过的数据进行预测或决策:一个好的机器学习模型不仅可以很好地处理其在训练期间看到的数据,而且可以推广到其在训练期间未见过的新数据。

逻辑回归模型的一个示例

逻辑回归模型通常是通过一组特征权重来定义的。它在某些软件或库中可能会保存为特定格式的文件,例如在Pythonscikit-learn中,可以使用joblib库来保存模型。

在更广泛的范围内,逻辑回归模型可以简单地表示为一个权重向量。假设我们有一个模型,用于根据两个特征(例如年龄和薪水)来预测一个人是否会购买某产品。我们的模型文件内容可能有以下结构:

Model: Logistic Regression

w1: 0.05

w2: -0.03

b: 2

w1对应年龄的权重,w2对应薪水的权重,b代表偏置,通过这些参数就可以基于输入的数据进行预测了。但在真实环境中,这个文件会包含更多的元数据和附加信息,并且通常会以二进制或特定格式保存,以方便快速加载和使用。

决策树模型的一个示例

下面示例了一个鸢尾花数据集上训练的决策树模型,这个模型以二进制文件的形式存储,我将它转化成了文本描述,如下示例:

在这里插入图片描述

可以看到,决策树首先查看"petal width (cm)"特征。如果其值小于或等于0.80,则该样本属于类0。如果大于0.80,它将进一步检查该特征与其他特征的值来决定样本的类别。

三、模型结构

模型结构,通常在机器学习和深度学习的上下文中提及,指的是模型的设计或框架,它定义了模型的核心组件以及它们是如何相互连接的。模型结构包括模型的各个层、节点、权重、连接等元素,以及它们的布局和组织

以下是对模型结构的一些进一步解释:

  1. 层的定义:例如,在神经网络中,模型结构将定义有多少层、每层有多少节点。对于卷积神经网络,模型结构还会定义卷积层、池化层、全连接层等的数量和顺序。

  2. 连接方式:模型结构定义了如何连接各个节点或层。例如,全连接、局部连接、跳跃连接等。

  3. 参数:模型结构还定义了模型的参数。例如,在神经网络中,这包括每个连接的权重和每个节点的偏差。

  4. 激活函数:模型结构中,每个节点或某些层可能会有激活函数,如ReLU、sigmoid或tanh。

  5. 其他组件对于复杂的模型:例如长短时记忆网络(LSTM),模型结构会涉及更多的组件,如门控单元。

模型结构提供了模型的概览,并为模型的训练和应用提供了框架。一旦定义了模型结构,您可以使用数据和算法来“训练”模型,即找到模型参数的最优值。以下是一些常用的模型结构:

1、线性模型

线性回归(Linear Regression)

逻辑回归(Logistic Regression)

2、基于实例的模型

K最近邻(K-Nearest Neighbors, K-NN)

3、决策树模型

决策树(Decision Trees)

随机森林(Random Forests)

梯度提升树(Gradient Boosting Trees)

4、支持向量机

线性支持向量机(Linear Support Vector Machines, SVM)

非线性支持向量机(Non-linear SVM)

5、集成方法

Bagging

Boosting(例如:AdaBoost,GBM,XGBoost, LightGBM)

6、神经网络及其变种

多层感知机(Multilayer Perceptrons, MLP)

卷积神经网络(Convolutional Neural Networks, CNN)

循环神经网络(Recurrent Neural Networks, RNN)

长短时记忆网络(Long Short-Term Memory, LSTM)

Transformer Networks

GANs(生成对抗网络, Generative Adversarial Networks)

7、贝叶斯模型

朴素贝叶斯(Naive Bayes)

高斯过程(Gaussian Processes)

8、聚类模型

K-means

高斯混合模型(Gaussian Mixture Model, GMM)

DBSCAN

9、降维方法

主成分分析(Principal Component Analysis, PCA)

t-SNE (t-distributed Stochastic Neighbor Embedding)

10、其他

强化学习模型(Reinforcement Learning Models)

时间序列模型(例如:ARIMA,Prophet)

关联规则学习模型(例如:Apriori,FP-Growth)

这些模型结构具有不同的应用领域和优势。例如:

  • CNN通常用于图像处理任务。

  • RNNLSTM常用于序列数据,如时间序列和自然语言处理任务。

  • 决策树和其集成版本(如随机森林)则在许多分类和回归任务中表现良好。

选择哪种模型结构通常取决于问题的性质(例如,是分类回归聚类还是其他类型的问题),数据的类型(例如,是表格数据图像文本序列数据)以及项目的需求(例如,解释性实时性准确性等)。

四、训练(学习)

在机器学习中,训练是一个核心概念,指的是利用数据来“教”机器学习模型,从而使模型能够为特定的任务做出预测或决策的过程。以下是训练的详细解释:

  1. 目标:训练的主要目标是调整模型的参数,使其能够尽可能准确地表示或拟合训练数据,并在新的、未见过的数据上做出有效的预测。

  2. 过程

    • 开始时,模型通常是未经训练的,具有随机或预设的参数值。

    • 在训练过程中,模型会反复查看训练数据,并尝试调整其参数,以减少其预测与实际标签之间的误差。

    • 使用一个优化算法(如梯度下降)来指导如何更新参数。

  3. 误差/损失:为了量化模型的预测与实际值之间的差异,通常会使用一个损失函数。训练的目标是最小化这个损失函数。

  4. 迭代:训练通常涉及多次迭代,每次迭代都会对模型的参数进行微调,以减少误差。

  5. 过拟合与正则化:虽然模型可能在训练数据上表现得很好,但有时它可能过于复杂,导致在新数据上表现不佳。这种现象称为过拟合。为了避免过拟合,可以使用各种正则化技巧。

简而言之,训练就是使用数据来“教”模型,使其能够根据输入做出有意义的预测。这通常通过调整模型的参数来实现,直到模型在训练数据上的性能达到满意的水平。

五、算法和模型的区别

从前面的定义可知,在机器学习中,算法是一种过程或方法,用于从数据中学习模式,而模型是这种学习的结果,它封装了从数据中学到的知识,也是后期用于推理预测的基础,是一套推理“规则”,它们的主要区别可以总结如下:

  1. 本质

    算法:算法是一种解决问题的方法或过程。在机器学习中,算法通常描述如何从数据中学习,并如何调整模型的参数以优化其性能。

    模型:模型是某种现象的简化表示或描述。在机器学习中,模型是算法在特定数据集上训练后的输出,它能够对新的输入进行预测或分类。

  2. 形态

    算法:是一组明确的步骤或规则,通常可以用数学公式、伪代码或实际编程代码来描述。

    模型:可能是一组参数(例如线性回归中的权重和偏差)、一个决策树结构、神经网络的权重和偏置等。

  3. 持久性

    算法:算法是静态的,它不会因为训练数据的变化而变化。

    模型:模型是动态的,它基于训练数据和算法生成。不同的训练数据或算法变化可能会产生不同的模型。

  4. 应用场景

    算法:通常是通用的,可以应用于多个数据集和问题。

    模型:是特定于某一任务或数据集的。例如,一个用于识别猫的模型可能不适用于预测房价。

因此,在我们说决策树这个概念的时候,到底是指算法和模型,其实取决于上下文和你想表达的重点:

  1. 决策树作为模型 (Model)

    当我们谈论到一个特定的决策树(例如,一个经过训练的决策树,用于分类某种数据),我们通常是在将其视为一个模型。这个模型可以对新的数据进行预测或分类。

    这种意义下的决策树是一个表示决策规则和路径的结构。

  2. 决策树作为算法 (Algorithm)

    当我们谈论如何从数据中构建决策树时,我们是在描述一个算法过程。例如,ID3、C4.5和CART等都是决策树学习的算法。

    这些算法为如何根据数据集选择合适的特征、如何进行分裂、以及如何构造树提供了明确的步骤。

因此,决策树既可以被认为是一种模型(当描述其代表的决策规则时)也可以被认为是算法(当描述如何从数据中构建决策树时)。

一般来讲,我们说决策树模型的时候,如果没有特别指定,应该指的是决策树模型结构,如果有实例,那一般指用决策树算法实现的某个具体的业务模型,比如鸢尾花决策树模型。

而当我们在说决策树算法的时候,除非特别指明,往往是指决策树的算法集,包括ID3、C4.5、CART等等。

六、算法、模型和训练的关系

从模型视角看,模型是算法的输出和训练过程的产物。算法定义了如何从数据中更新模型的参数,而训练则是这一过程的实际执行。

从算法视角看,算法是训练模型的指导策略。通过不断地调整模型的参数,算法努力使模型更好地拟合训练数据。

从训练视角看,训练使用某种算法作为指导,根据训练数据调整模型的参数。训练结束后,我们获得了一个调整过的、用于预测或分类的模型。

1、在机器学习的过程开始时,研究者选择或设计一个模型结构,这通常是基于问题的性质和可用数据的类型。

2、接下来,选择一个算法来调整模型的参数。算法的选择通常基于模型的性质和所需的优化策略。

3、有了模型结构和算法后,可以开始训练过程。在训练过程中,算法反复调整模型的参数,使其更好地拟合数据,直到达到某种停止标准(例如,误差下降到某个阈值或达到预定的迭代次数)。

让我们以一个常见的例子来说明:手写数字识别(例如,识别0-9的手写数字)进行说明

1、选择或设计模型结构

  • 问题的性质:手写数字识别是一个多分类问题,因为我们想要从10个类别中(0到9)选择一个。

  • 可用数据的类型:我们有手写数字的图片,每张图片是一个二维的像素阵列。

  • 选择的模型:考虑到问题的性质和数据类型,我们选择一个卷积神经网络(Convolutional Neural Network, CNN)为模型结构。CNN在图像分类任务中表现出色,因为它可以捕捉到图像的局部模式。

2、选择一个算法来调整模型的参数

  • 模型的性质:CNN是一个深度神经网络,包含多个卷积层、池化层和全连接层。

  • 选择的算法:基于模型的性质,我们选择使用随机梯度下降(Stochastic Gradient Descent, SGD)及其变种,如Adam或RMSprop,作为优化算法。这些算法已被证明在深度神经网络的训练中效果很好。

3、开始训练过程

  • 使用MNIST数据集(一个手写数字的标准数据集),我们将每个手写数字图片的像素值输入到我们的CNN模型中。

  • 在训练过程中,算法(例如Adam)反复调整模型的权重和偏置,使其更好地拟合训练数据。

  • 停止标准:我们可以设置当验证集上的分类准确率不再提高或者误差不再显著下降时,停止训练。或者简单地设置训练迭代10,000次为停止标准。

经过这三个步骤后,我们就有了一个训练好的CNN模型,可以用于识别新的手写数字图片。

小结

最后,让我们回到前面提出的问题,支持向量机到底是是指什么?

这其实是要看上下文的。

当你想表达"试图找到一个超平面(在高维空间中)来分割数据,使得该超平面到两个类别的距离(即间隔)最大化“这个意思的时候,它是指SVM模型。

当你想表达”为了找到这个最优的超平面,需要解决一个凸优化问题,通常使用例如序列最小优化(SMO)算法“这个意思的时候,它是指SVM算法。

当我们没有特指,仅仅说“使用SVM”时,通常意味着我们使用了SVM定义的模型(最大间隔超平面)以及与之相关的优化算法(如SMO)来进行训练。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分析基于解析物理模型的E模式p沟道GaN高电子迁移率晶体管(H-FETs)

来源:Analyzing E-Mode p-Channel GaN H-FETs Using an Analytic Physics-Based Compact Mode(TED 24年) 摘要 随着近期对用于GaN互补技术集成电路(ICs)开发的p沟道GaN器件研究兴趣的激增,一套全面的模型…

程序员要失业?全球首位“AI程序员”Deven真的适合职场吗

制造Devin的公司,是一家叫Cognition的10人初创公司,才成立不到2个月。 一、引言 一家成立不到两个月但拥有十名天才工程师的初创公司Cognition,搞了一个引爆科技圈的大动作。 他们推出了一款名为Devin的人工智能(AI)助…

C语言数据结构易错知识点(3)(堆)

1.堆的本质:完全二叉树 堆在物理结构上是顺序结构,实现方式类似于顺序表(数组);但在逻辑结构上是树形结构,准确来说堆是一棵完全二叉树。因为堆的实现在代码上和顺序表有很高的相似度,所以在写…

机试:偶数分解

题目描述: 代码示例: #include <bits/stdc.h> using namespace std; int main(){ // 算法思想1:遍历小于该偶数的所有素数,存入数组中,遍历数组找出两个数之和等于偶数的数int n;cout << "输入样例" << endl;cin >> n;int nums[n];int k …

Android 地图 判断一点是否在某区域内

问题 Android 地图 判断一点是否在某区域内 详细问题 笔者进行Android项目开发&#xff0c;接入高德地图绘制区域后&#xff0c;需要判断一点是否在某区域内&#xff0c;如何实现 代码 mMapView.getMap().addPolygon(polygonOptions).contains(latLng)代码含义解释 这段代…

【C#】【SAP2000】读取SAP2000中frame单元列表到Grasshopper中

private void RunScript(bool build, ref object p1, ref object p2, ref object Profile, ref object stressRatio, ref object temperatureLoad, ref object displacement, ref object frameList){if (build true){// 声明变量int ret;int Numit 0;int[] ObjType new int[…

在Vue中使用wangeditor创建富文本编辑器的完整指南

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

Jmeter+Ant 接口自动化环境配置指南

一 、Jmeter安装与配置 https://blog.csdn.net/tester_sc/article/details/80746405 注&#xff1a;Jmeter5.0的环境变量配置与4.0或历往老版本有部分小差异&#xff0c;笔者用的Jmeter 5.0 二 、Ant的安装与配置 # Ant下载地址(下载到指定目录后&#xff0c;进行解压到当前…

链表详解-leetcode203.移除链表元素

链表 移除链表元素 题目&#xff1a; 题意&#xff1a;删除链表中等于给定值 val 的所有节点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[1,2,3,4,5] 示例 2&#xff1a; 输入&#xff1a;head [], val 1 输出&#xff1a;[…

C++中的多值返回:解锁函数返回值的神奇力量

C中的多值返回&#xff1a;解锁函数返回值的神奇力量 在C编程中&#xff0c;有时候我们需要从函数中返回多个值。虽然C中的函数通常只能返回一个值&#xff0c;但有几种技术和惯用法可以实现返回多个值的效果。本文将介绍C中实现多值返回的几种常用方法&#xff0c;包括引用、指…

F5怎么样?保障AI服务的安全性和交付

伴随着人工智能时代的快速发展&#xff0c;AI已成为企业数字化转型的得力工具&#xff0c;比如为用户提供更好的服务&#xff0c;降低企业成本等。与此同时&#xff0c;AI技术的应用也会带来应用安全等方面的新风险&#xff0c;可见其有着双刃剑效应。作为一家提供多云应用安全…

react-面试题

一、组件基础 1. React 事件机制 <div onClick{this.handleClick.bind(this)}>点我</div> React并不是将click事件绑定到了div的真实DOM上&#xff0c;而是在document处监听了所有的事件&#xff0c;当事件发生并且冒泡到document处的时候&#xff0c;React将事…

差分逻辑电平 — LVDS、CML、LVPECL、HCSL互连

前言 首先了解差分逻辑电平、单端逻辑电平的基础知识 地址&#xff1a;常见的逻辑电平_常用的逻辑电平-CSDN博客 注&#xff1a; ECL >> PECL >> LVPECL演变&#xff1b; ECL速度快&#xff0c;驱动能力强&#xff0c;噪声小&#xff0c;但是功耗大&#xff0c;使…

STM32-位带操作及位带别名区

这里写自定义目录标题 一、位带操作的基本含义及作用二、以STM32为例三、位带别名区和位带区(寄存器地址位地址)的转换关系四、使用例程 一、位带操作的基本含义及作用 位带别名区的设计主要是为了**方便对位带区单个比特位进行读写操作**。在某些应用场景下&#xff0c;需要频…

手把手学会pycharm中使用git

学习教程&#xff1a;http://【git pycharm的使用 连接github】 https://www.bilibili.com/video/BV1sv4y1D7SW/?share_sourcecopy_web&vd_source1a32dd27a726236a74603cf06b7302aa 1. 上传到本地仓库 &#xff08;1&#xff09;直接上传本地仓库 &#xff08;2&#xf…

OpenOFDM接收端信号处理流程

Overview — OpenOFDM 1.0 documentation 本篇文章为学习OpenOFDM之后的产出PPT&#xff0c;仅供学习参考。 ​​​​​​​

easyExcel 导入、导出Excel 封装公共的方法

文档包含三部分功能 1、easyExcel 公共导出list<对象>方法&#xff0c;可以自定义excel中第一行和样式 2、easyExcel 导入逻辑&#xff0c;结合spring Validator 验证导入数据是否符合规范 3、easyExcel 自定义导出 list<map> 、 list<对象> &#xff08;可…

Redis中的缓存设计

缓存穿透 缓存穿透是指查询一个根本不存在的数据&#xff0c;缓存层和存储层都不会命中&#xff0c;通常处于容错的考虑&#xff0c;如果从存储层查不到数据则不写入缓存层。缓存穿透将导致不存在的数据每次请求都要到存储层去查询&#xff0c;失去了缓存保护后端存储的意义。…

Java两周半速成之路(第十六天)

一、网络编程 1.概述&#xff1a; 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换 2.网络模型 3.网络参考模型图 4.网络通信三要素 4.1IP地址 InetAddress类的使用&#xff1a; 注意&#xff1a;通过API查看&#xff0c;此类没有构造方法&#xff0c;如…

精读《精通 console.log》

1 引言 本周精读的文章是 Mastering JS console.log like a Pro&#xff0c;一起来更全面的认识 console 吧&#xff01; 2 概述 & 精读 console 的功能主要在于控制台打印&#xff0c;它可以打印任何字符、对象、甚至 DOM 元素和系统信息&#xff0c;下面一一介绍。 c…