【人工智能基础04】线性模型
文章目录
- 一. 基本知识
- 1. 线性回归
- 1.1. 基本形式
- 1.2. 线性回归
- 2. 优化方法:梯度下降法
- 2.1. 梯度下降法的直观意义
- 2.2. 随机梯度下降法
- 3. 分类问题
- 3.1. 二分类:逻辑回归-sigmoid函数
- 3.2. 多分类问题--softmax函数
- 4. 岭回归与套索回归
- 4.1. 基础概念
- 什么是正则化
- 范数的概念
- 4.2. 正则化的类型(L1(套索)、L2(岭))
- 4.3. L1、L2的应用
- 岭回归应用例子
- 套索回归应用例子
- 4.4. 普通线性回归、岭回归、套索回归之间的区别
- 5. 支持向量机(SVM)
- 5.1. 完美可分情况
- SVM概念
- 超平面:划分数据的低一维子空间
- 支持向量:确定最优超平面
- 5.2. 不完美可分的情况-核技巧
- 核函数定义
- 核函数类型
- 在支持向量机中的应用
- 二. 课本习题
- 3. 概念题
- 4. 如何限制空间
- 5. 梯度下降的计算
- 6. 随机梯度下降
- 7. Softmax计算
- 8. 岭回归思想
- 9. 套索回归基本思想
- 10. Sigmoid函数
- 11. 岭回归范数
- 12. 计算回归方程
本文主要介绍内容:
掌握数据集、优化、泛化等过程中的方法和存在的问题:
数据集相关
- 数据类型有哪些?(结构化、非结构化的、时间序列等)
- 数据集如何划分?(训练集、验证集、测试集)
- 特征工程有哪些方法和手段?(缺失值、异常值、离散特征编码等)
掌握算法在训练过程中的三要素(模型、目标、优化方法)
机器学习和深度学习模型都是如何优化的?(比如决策树如何确定分割点?神经网络如何训练?)
模型训练过程中存在哪些问题?(欠拟合和过拟合)
怎么判断欠拟合和过拟合?解决过拟合和欠拟合的方法有哪些,是如何实现的?
L1正则和L2正则区别是什么?
优化的目标(损失函数)是怎么选取的?
损失函数有哪些常用函数?表达式以及场景
了解掌握分类与回归的基本原理
了解什么是回归任务,什么是分类任务
分类与回归的常用的损失函数
分类与回归的常用的模型
一. 基本知识
1. 线性回归
1.1. 基本形式
线性模型
线性模型形式简单、易于建模,而且很多更强大的非线性模型都是在线性模型的基础上通过引入层级结构(比如多层感知机模型)或者高维映射(如非线性支持向量机) 得到的,因此线性模型是很多模型学习的基础。
回归任务举例
以回归任务为例,在给定n个属性描述的示例 x = ( x 1 , ⋯ ⋯ x = ( x _ { 1 } , \cdots \cdots x=(x1,⋯⋯ , x _ { n } ),其中的 x i x _ { i } xi是x在第i个属性上的取值,线性模型是最简单的试图通过建立一个属性的线性组来预测的函数,可以表示为: f ( x ) = ω 1 x 1 + ω 2 x 2 + ⋯ + ω n x n + b f ( x ) = \omega _ { 1 } x _ { 1 } + \omega _ { 2 } x _ { 2 } + \cdots + \omega _ { n } x _ { n } + b f(x)=ω1x1+ω2x2+⋯+ωnxn+b
更一般化的向量形式可表示为: f ( x ) = ω T x + b f ( x ) = \omega ^ { T } x + b f(x)=ωTx+b
其中 ω = ( ω 1 , ⋯ ⋯ , ω n ) \omega = ( \omega _ { 1 } , \cdots \cdots , \omega _ { n } ) ω=(ω1,⋯⋯,ωn),ω和b通过学习得到之后,模型也就确定了。
1.2. 线性回归
线性回归(Linear Regression)用于建立一个或多个自变量(解释变量)与因变量(响应变量)之间的线性关系模型。线性回归分析的目标是确定自变量对于因变量的影响程度,并用这种关系来预测未来事件。
我们试图找到一个决策边界 f ( x i ) = ω T x i + b 使得 f ( x i ) 无限接近 y i f ( x _ { i } ) = \omega ^ { T } x _ { i } + b使得f ( x _ { i } )无限接近y _ { i } f(xi)=ωTxi+b使得f(xi)无限接近yi,我们常常采用均方误差的方法,来作为回归任务最常用的度量方法。
2. 优化方法:梯度下降法
作用:寻找最优解:
在机器学习模型训练中,它的主要作用是寻找损失函数的最小值。损失函数衡量了模型预测结果与真实结果之间的差异,通过不断调整模型参数来最小化损失函数,从而得到最优的模型参数,使模型能够更好地拟合数据。
算法具体描述
关键词:梯度的反方向、学习率、学习率的调整(以免错过最优解)
算法基本思想: 迭代更新,以到达算法收敛(导数=0,达到迭代次数)。
求最小损失:使用梯度下降法寻找L的最小解
特征:在线性回归问题中,称输入的不同维度为特征。有些特征比较重要,有些不重要。
2.1. 梯度下降法的直观意义
梯度下降法(Gradient Descent)用于寻找函数的最小值。在机器学习中,常用于最小化损失函数(如均方误差、交叉熵等),进而找到最佳的模型参数。
这段距离的长度与L的具体大小有关,L越大,说明函数导数变换速度越快,那么距离越短 L越小,则说明变化速度缓慢,距离越长。
L越小说明变化速度越慢,距离越长。因此,L的大小控制了梯度下降法可以前进的距离。
2.2. 随机梯度下降法
小批和整批
小批过小:会产生比较大噪声,不容易收敛,但收敛速度快。
收敛速度慢,但计算快。
3. 分类问题
3.1. 二分类:逻辑回归-sigmoid函数
线性模型处理分类问题,可以通过构造对数几率函数,也就是我们通常说的逻辑回归,另外还可以采用线性判别分析(LDA)的方法来处理二分类问题。
逻辑回归(Logistic Regression)是一种广泛使用的统计方法,用于处理二分类问题,即因变量是分类的,并且类别只有两个(如是/否,成功/失败,通过/未通过等)。
注意:尽管它的名字中有“回归”二字,但它实际上是一个分类算法。
逻辑回归: 将二分类问题变为两个维度的概率分布 ( f ( x ) , 1 − f ( x ) ) (f(x),1-f(x)) (f(x),1−f(x))
- 使用Sigmoid函数保证输出是一个 [ 0 , 1 ] [0,1] [0,1] 之间的数
- 将Sigmoid函数与线性函数结合,得到一个概率
- 这样便能使用梯度下降法,注意使用复合函数的链式求导。
3.2. 多分类问题–softmax函数
函数定义:
Softmax 在多分类中的作用
- 概率解释: Softmax函数输出的向量(p)中的每个元素 p j p_j pj可以被解释为样本属于第(j)个类别的概率。例如,在一个五分类问题中,如果经过Softmax函数后得到的概率向量为 ( 0.1 , 0.2 , 0.3 , 0.2 , 0.2 ) (0.1,0.2,0.3,0.2,0.2) (0.1,0.2,0.3,0.2,0.2),那么可以理解为这个样本属于第三个类别的概率是(0.3),其他类别的概率依此类推。
- 分类决策: 根据概率进行分类。通常,我们会将样本分类到概率最高的那个类别。在上述例子中,样本会被分类到第三个类别。
- 与损失函数结合:在训练模型时,常常会和损失函数(如交叉熵损失函数)结合使用。
Softmax的性质和优势
- 单调性:Softmax函数是单调递增的。这意味着输入向量中某个元素的增加会导致对应的输出概率增加,这种性质符合我们对概率分配的直观理解。
- 输出归一化:它能够将任意实数向量转换为合法的概率分布,使得输出结果易于解释和用于分类决策。
- 梯度计算方便:在使用梯度下降等优化算法训练模型时,Softmax函数的梯度计算相对简单,有利于模型的高效训练。
- 将向量转换为概率分布
- 所有数为非负,并且相加=1
4. 岭回归与套索回归
4.1. 基础概念
什么是正则化
“正则”(Regularization)是一种用于控制模型复杂度,为了保证泛化性能,防止过拟合的技术手段。正则化通过在模型的目标函数(如损失函数)中添加一个惩罚项来实现对模型复杂度的约束。
这个惩罚项一般是模型复杂度的单调递增函数:模型越复杂,正则化越大。
形象的比喻:
注意:
- 过拟合是指模型过度学习了训练数据中的噪声和细节,以至于在新的数据上泛化能力很差。
- 正则化可以用于回归问题和分类问题。
范数的概念
常见的向量范数类型
4.2. 正则化的类型(L1(套索)、L2(岭))
L1是通过稀疏参数(减少参数的数量)来降低复杂度,L2是通过减小参数值的大小来降低复杂度。
4.3. L1、L2的应用
岭回归应用例子
应用领域 | 具体应用情况 |
---|---|
金融领域 | 分析影响股票价格的诸多因素(如公司财务指标、宏观经济数据、行业指数等)间的共线性问题,运用岭回归构建模型预测股票价格走势,助力投资决策。 |
推荐系统 | 针对用户特征、产品特征及交互特征等存在的共线性情况,通过岭回归模型预估用户对商品喜好程度,实现精准个性化推荐。 |
医学影像处理 | 处理医学影像(像脑部MRI影像的纹理、形状等特征)分析时面临的高维复杂数据,借助岭回归优化相关算法,辅助医生更精准诊断疾病。 |
套索回归应用例子
应用领域 | 具体应用情况 |
---|---|
医学研究 | 从众多与疾病相关的指标(例如心血管疾病涉及的年龄、性别、血压等)里,利用套索回归的L1正则化筛选关键因素,构建疾病预测模型辅助防治。 |
基因组学 | 面对海量基因表达数据,使用套索回归筛选出和特定生物表型(比如癌症的亚型、预后相关)有关的关键基因,服务癌症精准医疗。 |
经济学 | 在众多宏观经济变量(如货币供应量、经济增长率、失业率等)中,依靠套索回归挑选对通货膨胀等经济现象起关键作用的变量,构建预测模型辅助政策制定。 |
4.4. 普通线性回归、岭回归、套索回归之间的区别
- 普通线性回归:
- 简单直接,计算效率高。
- 容易受到多重共线性和过拟合的影响。当自变量之间高度相关或者自变量过多时,模型的稳定性和泛化能力会变差。
- 岭回归:
- 能有效处理多重共线性问题,通过缩小系数来降低模型方差。
- 不会将系数压缩为 0,所以模型包含所有自变量,没有特征选择功能。
- 套索回归:
- 可以进行特征选择,将不重要的自变量系数收缩为 0,使模型更加简洁。
- 由于 L1 正则化的性质,在某些情况下可能会导致模型估计不够稳定,但在特征选择方面有独特优势。
5. 支持向量机(SVM)
5.1. 完美可分情况
SVM概念
支持向量机是一种监督式学习的分类算法,它的主要目标是在特征空间中找到一个最优的超平面,将不同类别的数据点尽可能清晰地分开。这个超平面被定义为使得两类数据点到它的距离最大化的平面。
超平面:划分数据的低一维子空间
方面 | 描述 |
---|---|
定义 | 在高维空间中,是维度比所在空间少一的子空间。二维是直线、三维是平面、n维是n - 1维子空间。可用 w 1 x 1 + w 2 x 2 + ⋯ + w n x n + b = 0 w_1x_1 + w_2x_2+\cdots+w_nx_n + b = 0 w1x1+w2x2+⋯+wnxn+b=0表示,(w)为法向量且垂直于超平面 |
性质 | 法向量决定方向,根据点代入方程后的正负判断其位于超平面哪一侧。点(x_0)到超平面的距离为 d = ∣ w ⋅ x 0 + b ∣ ∣ w ∣ d=\frac{\vert w\cdot x_0 + b\vert}{|w|} d=∣w∣∣w⋅x0+b∣ |
应用 | 在机器学习分类(如SVM)中作决策边界划分类别;用于数据降维和投影,将高维数据投影到低维超平面上 |
支持向量:确定最优超平面
定义:在支持向量机(SVM)用于二分类问题时,支持向量是位于距离划分超平面最近的那些样本点。这些点对于确定超平面的位置和方向起着关键作用。
在最大间隔超平面中的角色:当数据线性可分,SVM 的目标是找到一个最大间隔超平面将两类数据分开。此时,有两条平行于最大间隔超平面的边界超平面,支持向量就位于这两条边界超平面上。
如下图,在一个简单的二维平面上,两类数据点被一条直线(超平面)划分开,而位于直线两侧最靠近直线且能决定直线位置的点就是支持向量。
重要结论
- 二分类问题,可以使用线性函数作为分类器
- 训练完成后的模型与大部分样本点无关,只与支持向量相关。所以删除不是支持向量的样本点,不会对模型产生影响。
5.2. 不完美可分的情况-核技巧
数据集无法完美的分隔开
- 引入松弛变量,将之前的做错进行软化(将函数间隔加上松弛变量)。
- 惩罚系数
核函数定义
通过一个核函数(Kernel Function)将原始数据隐式地映射到一个高维特征空间,使得在原始空间中线性不可分的数据在高维空间中可能变得线性可分,同时避免了在高维空间中直接进行复杂的计算。
核方法:将点投影到高维空间,就可能用一个线性平面将这些点分开。
核函数类型
在支持向量机中的应用
二. 课本习题
3. 概念题
4. 如何限制空间
1.约束版本
对于线性回归问题,限定参数向量
w
的大小,即||w||₂ ≤ c
。这里c
是一个预先设定的常数,用于限制w
的长度。这个约束条件直接对参数向量的长度进行了限制,确保其不会过大或过小。
2.无约束版本min 1 2 N ∣ ∣ X w − y ∣ ∣ 2 2 + λ 2 ∣ ∣ w ∣ ∣ 2 2 \min\frac{1}{2N}||Xw - y||_2^2+\frac{\lambda}{2}||w||_2^2 min2N1∣∣Xw−y∣∣22+2λ∣∣w∣∣22
N
是样本数量,X
是输入数据矩阵,w
是参数向量,y
是目标值向量。这个目标函数由两部分组成:第一部分是均方误差项,表示模型对数据的拟合程度;第二部分是正则化项,通过惩罚参数向量w
的长度来防止过拟合。参数λ
用于控制正则化的强度。
通过调整λ
的值,可以在拟合数据和限制参数大小之间进行权衡。当λ
较大时,正则化项的作用更强,参数向量w
会更趋向于零向量,从而防止过拟合;当λ
较小时,正则化项的作用较弱,模型更注重拟合数据。例如,在实际应用中,可以通过交叉验证等方法来选择合适的
λ
值,以获得最佳的模型性能。
5. 梯度下降的计算
6. 随机梯度下降
在随机梯度下降(Stochastic Gradient Descent,SGD)中,批大小(batch size)对训练过程有着重要的影响,具体如下:
一、批大小较小时的影响
- 随机梯度噪声大:
- 当批大小很小时,每次用于计算梯度的样本数量少。由于样本的随机性,每次计算得到的梯度与使用全量数据计算的真实梯度之间的偏差较大,这就导致了随机梯度的噪声非常大。
- 例如,在图像分类任务中,如果批大小为 1 或 2,那么每个小批次的样本可能具有很大的特殊性,计算出的梯度可能会在不同的方向上剧烈波动,使得模型难以稳定地朝着最优解方向前进。
- 不易收敛:
- 由于随机梯度的噪声大,模型在训练过程中会频繁地在不同方向上进行大幅度的参数更新,难以稳定地收敛到一个较好的解。
- 比如,在回归问题中,小批大小可能导致模型在训练过程中不断地在最优解附近振荡,无法准确地找到最小损失值对应的参数值。
- 此外,小批大小还可能使模型陷入局部最优解,因为在噪声较大的情况下,模型更容易被一些局部的、不稳定的梯度方向所引导。
二、批大小较大时的影响
- 运行速度慢:
- 当批大小较大时,每次参与梯度计算的样本数量多。这虽然可以使计算得到的梯度更接近真实梯度,减少随机梯度的噪声,但同时也会增加计算量和内存占用。
- 例如,在大规模数据集上,如果批大小设置得非常大,可能会导致每次迭代需要花费很长时间来计算梯度,从而使整个训练过程的运行速度变得非常慢。
- 特别是在硬件资源有限的情况下,如内存较小的设备,大的批大小可能会导致内存溢出等问题,进一步影响训练的效率。
- 可能陷入局部最优:
- 较大的批大小可能会使模型在训练过程中过于“平滑”地更新参数,缺乏对不同局部区域的探索能力。
- 这意味着模型可能更容易陷入局部最优解,而错过全局最优解。
- 例如,在复杂的神经网络训练中,大的批大小可能会使模型在某些局部最优解附近停留,而无法跳出该区域去寻找更好的解。
综上所述,在随机梯度下降中,选择合适的批大小非常重要。一般来说,需要根据数据集的大小、硬件资源以及模型的复杂度等因素来综合考虑,以平衡随机梯度的噪声和训练的效率,从而获得更好的训练效果。
7. Softmax计算
8. 岭回归思想
岭回归的基本思想如下:
一、问题背景
在传统的线性回归中,通常使用最小二乘法来求解模型参数,其目标是最小化损失函数 1 2 ∣ ∣ X w − y ∣ ∣ 2 2 \frac{1}{2}||Xw - y||_2^2 21∣∣Xw−y∣∣22,其中(X)是输入数据矩阵,(w)是模型参数向量,(y)是目标值向量。然而,在实际应用中,当数据特征较多或者存在相关性时,普通的线性回归容易出现过拟合的问题。
二、基本思想引入
为了解决过拟合问题,岭回归在普通线性回归的损失函数基础上引入了对参数向量(w)的约束。具体来说,岭回归希望同时限定 ∣ ∣ w ∣ ∣ 2 2 ||w||_2^2 ∣∣w∣∣22(即(w)的长度平方)的大小,要求(w)的长度满足 ∣ ∣ w ∣ ∣ 2 2 ≤ c ||w||_2^2\leq c ∣∣w∣∣22≤c,其中(c)是一个预先设定的常数。这样做的直觉是,通过限制参数向量的长度,可以有效地缩小解空间的大小。
三、作用及意义
- 解决过拟合:限制解空间的大小有助于防止模型过度拟合训练数据。当解空间被限制时,模型不能自由地适应训练数据中的噪声和细微变化,从而减少了过拟合的风险。例如,在高维数据中,可能存在许多特征之间的相关性,而普通线性回归可能会过度依赖某些特征,导致过拟合。岭回归通过限制参数向量的长度,使得模型在选择特征时更加谨慎,从而提高了模型的泛化能力。
- 稳定性提升:对参数向量的约束还可以使模型更加稳定。在数据存在噪声或不确定性的情况下,岭回归可以减少参数估计的方差,使得模型对不同的数据集具有更好的鲁棒性。例如,在实际应用中,数据的采集和测量可能存在误差,岭回归可以帮助模型在面对这些误差时更加稳定地进行预测。
总之,岭回归的基本思想是在普通线性回归的基础上,通过引入对参数向量长度的约束,来解决过拟合问题并提高模型的稳定性和泛化能力。
9. 套索回归基本思想
通过这样的约束,套索回归能够促使模型在众多特征中选择出最重要的一部分特征,将不重要的特征对应的参数设置为零,从而实现特征选择和提高模型的解释性,同时也有助于防止过拟合,提高模型的泛化能力。
10. Sigmoid函数
11. 岭回归范数
12. 计算回归方程
参考:《人工智能基础-姚期智》
相关文章:
【人工智能基础04】线性模型
文章目录 一. 基本知识1. 线性回归1.1. 基本形式1.2. 线性回归 2. 优化方法:梯度下降法2.1. 梯度下降法的直观意义2.2. 随机梯度下降法 3. 分类问题3.1. 二分类:逻辑回归-sigmoid函数3.2. 多分类问题--softmax函数 4. 岭回归与套索回归4.1. 基础概念什么…...
使用YOLO系列txt目标检测标签的滑窗切割:批量处理图像和标签的实用工具
使用YOLO系列txt目标检测标签的滑窗切割:批量处理图像和标签的实用工具 使用YOLO的TXT目标检测标签的滑窗切割:批量处理图像和标签的实用工具背景1. 代码概述2. 滑窗切割算法原理滑窗切割步骤:示例: 3. **代码实现**1. **加载标签…...
《装甲车内气体检测“神器”:上海松柏 K-5S 电化学传感器模组详解》
《装甲车内气体检测“神器”:上海松柏 K-5S 电化学传感器模组详解》 一、引言二、K-5S 电化学传感器模组概述(一)产品简介(二)产品特点(三)产品适用场景 三、电化学传感器原理及优点(一…...
【笔记】文明、现代化与价值投资
文章目录 价值投资与理性思考资管行业特点及对从业人员的道德底线要求价值投资长期来看,各项资产的走势投资与投机 对文明的认知对文明的计量方式狩猎文明或1.0文明农业畜牧文明或2.0文明农业文明的天花板及三次冲顶农业文明中的思想革命和制度创新 科技文明或3.0文…...
排序学习整理(1)
1.排序的概念及运用 1.1概念 排序:所谓排序,就是使⼀串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作,以便更容易查找、组织或分析数据。 1.2运用 购物筛选排序 院校排名 1.3常见排序算法 2.实…...
提升分布式系统响应速度:分布式系统远程调用性能提升之道
目录 一、远程调用直接案例分析 二、并行调用 (一)核心思想 (二)并行调用的实现方式 1. 基本思路 2. 代码示例 3. 关键点说明 4.线程池配置建议 三、数据异构 (一)场景重提 (二&…...
通过MinIO+h2non/imaginary 搭建自己的阿里云OSS
安装MinIO Docker部署MinIO对象存储服务 图片访问地址:http://192.168.153.138:9000/public/su7_1.jpg 安装h2non/imaginary Docker部署h2non/imaginary 处理图片地址:http://192.168.153.138:7000/resize?urlhttp://192.168.153.138:9000/public/su…...
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
引言 随着技术的不断进步,微软的.NET 框架在每次迭代中都带来了令人惊喜的新特性。在.NET 9 版本中,一个特别引人注目的亮点是 AOT( Ahead-of-Time)支持,它允许开发人员将应用程序在编译阶段就优化为能够在老旧的 Win…...
iOS与Windows间传文件
想用数据线从 windows 手提电脑传文件入 iPhone,有点迂回。 参考 [1],要在 windows 装 Apple Devices。装完、打开、插线之后会检测到手机,界面: 点左侧栏「文件」,不是就直接可以传,而是要通过某个应用传…...
ospf协议(动态路由协议)
ospf基本概念 定义 OSPF 是典型的链路状态路由协议,是目前业内使用非常广泛的 IGP 协议之一。 目前针对 IPv4 协议使用的是 OSPF Version 2 ( RFC2328 );针对 IPv6 协议使用 OSPF Version 3 ( RFC2740 )。…...
直击高频编程考点:聚焦新版综合编程能力考查汇总
目录 一、业务性编程和广度能力考查 (一)基本定义 (二)必要性分析 二、高频考查样题(编程扩展问法) 考题1: 用java 代码实现一个死锁用例,说说怎么解决死锁问题?(高…...
爬虫框架快速入门——Scrapy
适用人群:零基础、对网络爬虫有兴趣但不知道从何开始的小白。 什么是 Scrapy? Scrapy 是一个基于 Python 的网络爬虫框架,它能帮助你快速爬取网站上的数据,并将数据保存到文件或数据库中。 特点: 高效:支…...
Springfox、Swagger 和 Springdoc
Springfox、Swagger 和 Springdoc 是用于在 Spring Boot 项目中生成 API 文档的工具,但它们之间有显著的区别和演进关系: 1. Swagger 简介 Swagger 是一个开源项目,旨在为 RESTful APIs 提供交互式文档。最早由 SmartBear 开发,…...
Css、less和Sass(SCSS)的区别详解
文章目录 Css、less和Sass(SCSS)的区别详解一、引言二、CSS 简介1.1、CSS 示例 三、Less 简介2.1、Less 特性2.2、Less 示例 四、Sass(SCSS)简介3.1、Sass 特性3.2、SCSS 示例 五、总结 Css、less和Sass(SCSSÿ…...
新能源汽车充电基础设施短板问题多,如何实现高效、综合、智能化管理?
随着城市经济的发展,人民生活水平的提升,新能源汽车保有量快速增长,而日益增长的新能源汽车需求与充电基础设施建设不平衡的矛盾日益突出。由于停车泊位充电基础设施总量不足、布局待优化、利用效率低、建设运营存在短板问题等原因࿰…...
DBA面试题-1
面临失业,整理一下面试题,找下家继续搬砖 主要参考:https://www.csdn.net/?spm1001.2101.3001.4476 略有修改 一、mysql有哪些数据类型 1, 整形 tinyint,smallint,medumint,int,bigint;分别占用1字节、2字节、3字节…...
LAN,WAN,VLAN,WLAN,VPN了解笔记
局域网LAN---公司的内部网络就是局域网LAN。 提供有线连接的接口允许局域网内的设备(如台式电脑、网络打印机、网络存储设备等)通过以太网线连接到路由器并与其他局域网设备进行通信实现设备之间的数据传输和资源共享一种私有的网络相对其他网络传输速度…...
1.2 算法和算法评价
1.2.1 算法的基本概念 算法:对特定问题求解步骤的一种描述,它是指令的有限序列,其中的每条指令表示一个或多个操作。 算法的五个重要特性 “好”的算法的五个目标 1.2.2 算法效率的度量 一、时间复杂度 算法的时间复杂度是指一个算法每行…...
各大常见编程语言应用领域
不同编程语言因其特性和设计目标而适用于不同的应用领域。以下是一些常见编程语言及其主要应用领域: 1. Python 数据科学与人工智能:Python 在数据分析、机器学习、深度学习等领域广泛使用,因其丰富的库(如 NumPy、Pandas、Tens…...
【FFT】数据点数是否一定为2的n次方?不补零会如何处理?
一般来说,FFT的数据点个数为以2为基数的整数次方(采用以2为基的FFT算法,可以提升运算性能),但是并没有要求FFT的数据点个数一定为2的n次方。 因此针对数据点数不是以2为基数的整数次方,有两种处理方法&…...
shell脚本小练习#003:查找并拷贝目录
实例1: # 从当前执行脚本的路径位置开始向上搜索一个名为sourceProject目录名 # 并将这个文件目录的路径名称打印出来#!/bin/bashfunction find_dir() {local current_dir$PWDwhile [[ $current_dir ! "/" ]]; doif [[ -d "${current_dir}/sourcePr…...
frp内网穿透
目录 1,准备公网服务器 2,下载安装frp服务端 3,服务端安装 2)编辑服务端配置文件fprs.toml 3)配置启动服务 4)启动服务 5 )设置开机启动服务 6)查看服务启动状态 3,…...
Android电视项目焦点跨层级流转
1. 背景 在智家电视项目中,主要操作方式不是触摸,而是遥控器,通过Focus进行移动,确定点击进行的交互,所以在电视项目中焦点、选中、确定、返回这几个交互比较重要。由于电视屏比较大,在一些复杂页面中会存…...
时频转换 | Matlab基于S变换S-transform一维数据转二维图像方法
目录 基本介绍程序设计参考资料获取方式基本介绍 时频转换 | Matlab基于S变换S-transform一维数据转二维图像方法 程序设计 clear clc % close all load x.mat % 导入数据 x =...
转载 为nautilus安装rabbitvcs
# 添加 rabbitvcs 的 ppa 源 sudo add-apt-repository ppa:rabbitvcs/ppa sudo apt update # 安装 rabbitvcs sudo apt install rabbitvcs-cli rabbitvcs-core rabbitvcs-gedit rabbitvcs-nautilus # 注销后重新登录,右键即可使用 # 解决 RabbitVCS 无法自动保存…...
OpenCV 模板匹配全解析:从单模板到多模板的实战指南
简介:本文深入探讨 OpenCV 中的模板匹配技术。详细介绍构建输入图像与模板图像的步骤,包括读取、截取、滤波与存储等操作。剖析 cv2.matchTemplate 语法及其参数含义,阐述不同匹配方法下结果值的意义。同时讲解 cv2.minMaxLoc 语法࿰…...
手机控制载货汽车一键启动无钥匙进入广泛应用
移动管家载货汽车一键启动无钥匙进入手机控车系统, 该系统广泛应用于物流运输、工程作业等货车场景,为车主提供了高效、便捷的启动和熄火解决方案,体现了科技进步对物流行业的积极影响 核心功能:简化启动流程,提…...
Springboot——SseEmitter流式输出
文章目录 前言SseEmitter 简介测试demo注意点异常一 ResponseBodyEmitter is already set complete 前言 最近做AI类的开发,看到各大AI模型的输出方式都是采取的一种EventStream的方式实现。 不是通常的等接口处理完成后,一次性返回。 而是片段式的处理…...
【人工智能数学基础篇】线性代数基础学习:深入解读矩阵及其运算
矩阵及其运算:人工智能入门数学基础的深入解读 引言 线性代数是人工智能(AI)和机器学习的数学基础,而矩阵作为其核心概念之一,承担着数据表示、变换和运算的重任。矩阵不仅在数据科学中广泛应用,更是神经…...
idea 自动导包,并且禁止自动导 *(java.io.*)
自动导包配置 进入 idea 设置,可以按下图所示寻找位置,也可以直接输入 auto import 快速定位到配置。 Add unambiguous imports on the fly:自动帮我们优化导入的包Optimize imports on the fly:自动去掉一些没有用到的包 禁止导…...
奇怪的编码2
1.当铺密码 当铺密码的标志是“田由中人工大王夫井羊” 口 0 田 0 由 1 中 2 人 3 工 4 大 5 王 6 夫 7 井 8 羊 9 解密脚本: s 田由中人工大王夫井羊 codeinput("请输入当铺密码:") code code.split(" ") w for i in code:k…...
AI服务器从HBM到CXL的技术变革
AI服务器从HBM到CXL变革 本文探讨了AI产业的新范式,特别是服务器变革。传统服务器价格通常在1万美金以内,而搭载8张H100算力卡的DGX H100AI服务器价值高达40万美金(约300万人民币)。这一变化将对AI产业产生深远影响。 自然语言和图形处理依赖大量存储器…...
将自定义 AWS S3 快照存储库连接到 Elastic Cloud
作者:来自 Elastic Annie Hansen, Stef Nestor 在本博客中,我们将介绍如何通过 Elasticsearch 的快照将我们已提交的集群数据备份到 AWS S3 存储桶中。在 Elastic Cloud(企业版)中,Elastic 在其 found-snapshots 存储…...
Java 多线程编程核心要点全解析:深度探秘关键方法与同步机制
1.Thread 类中的start() 和 run() 方法有什么区别? 在Java编程语言中,Thread 类的 start() 和 run() 方法有重要的区别: start() 方法: 当你调用 start() 方法时,它会启动一个新的线程,并且这个新线程会…...
个人博客接入github issue风格的评论,utteranc,gitment
在做个人博客的时候,如果你需要评论功能,但是又不想构建用户体系和评论模块,那么可以直接使用github的issue提供的接口,对应的开源项目有utteranc和gitment,尤其是前者。 它们的原理是一样的:在博客文章下…...
搞个项目之-esp32-cam ov2640模组搭建图像视频项目
开发版的介绍: 1、开发板使用的是:ESP32-CAM 2、摄像头模组:OV2640 3、烧录底座:ESP32-CAM开发板烧录座 4、mirco usb线,四线30cm 5、开发版的原理图像 项目前期的准备工作 一、安装arduino arduino官网地址地址…...
【FPGA开发】Vivado自定义封装IP核,绑定总线
支持单个文件的封装、整个工程的封装,这里用单个文件举例。 在文件工程目录下,自建一个文件夹,里面放上需要封装的verilog文件。 选择第三个,指定路径封装,找到文件所在目录 取个名,选择封装IP的路径 会…...
Leetcode51:N 皇后
题目描述: 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问…...
C#面向对象之访问限制,类基础,继承
文章目录 1 访问限制1.1 简介 2 类基础讲解2.1 类定义2.2 构造函数2.2.1 构造函数2.2.2 静态构造函数2.2.3 初始化顺序2.2.4 对象初始化器 2.3 析构函数2.4 类的静态成员2.5 匿名对象2.5.1 定义2.5.2 匿名对象的创建 3 继承3.1 基类和派生类3.2 基类初始化3.3 Partial类3.3.1 定…...
科研小白成长记41——享受大起大落
一直内心对自己的定位是喜欢安安静静生活的人,但是朋友提醒我我的生活一直都是出于各种冒险之中,从GAP申博,到GAP找工作,都不是一个乐于安于现状的人会做出来的。仔细想想不无道理,既然如此,那就如享受安静…...
正则表达式笔记
一、基本正则 常见元字符 元字符说明^以某个字符开头$以某个字符结尾.匹配任意单字符*对前一项进行0次或者多次重复匹配{m,n}将前一项字符重复m-n次,{m,},{,n},{m,n}[]对方括号内的单字符进行匹配[^]不匹配方括号内的单字符^[]匹配以某个字符开头的行(…...
解决本地运行SuperPoint_SLAM报错ERROR: flag ‘flagfile‘ was defined more than once
解决本地运行SuperPoint_SLAM报错ERROR: flag flagfile was defined more than once 起因使用LD_DEBUG排查链接过程用ldd查看各自链接的库解决办法问题解决 起因 在之前本地编译了opencv-3.4.2,当时因为contrib模块需要gflags,重新下载了一个gflags在本…...
springboot信息化在线教学平台的设计与实现(代码+数据库+LW)
摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了信息化在线教学平台的开发全过程。通过分析信息化在线教学平台管理的不足,创建了一个计算机管理信息化在线教学平台的方案。文章介绍了信息化在线教…...
maxun爬虫工具docker搭建
思路来源开源无代码网络数据提取平台Maxun 先把代码克隆到本地(只有第一次需要) git clone https://github.com/getmaxun/maxun.git 转到maxun目录 cd maxun 启动容器 docker-compose --env-file .env up -d 成功启动六个容器 网址 http://local…...
高效 Python Web 开发:FastAPI 入门与实践
高效 Python Web 开发:FastAPI 入门与实践 目录 ✨ 1. 安装与环境配置 📦 安装 FastAPI 和 Uvicorn🗂️ 项目目录结构和初始化🚀 创建一个简单的 FastAPI 项目 🛠️ 2. FastAPI 路由与请求处理 🛣️ 基本…...
C++中的函数重载
函数重载是指在同一个作用域(通常是一个类或者一个命名空间)内,可以有多个同名函数,但是这些同名函数的参数列表(参数的个数、类型或者顺序)不同。当调用这个函数名时,编译器会根据传入的实际参…...
达梦数据库常用指令都是工作中常用的
达梦数据库连接配置文件名称 cd /etc/dm_svc.conf查询 sql 日志记录是否开启:0 关闭,1/2/3开启); select SF_GET_PARA_VALUE(1,SVR_LOG)union ALL select SF_GET_PARA_VALUE(2,SVR_LOG);关闭 sql 日志记录功能 call SP_SET_PARA_VALUE(1,SVR_LOG,0);开…...
【2024最新】基于Springboot+Vue的就业信息管理系统Lw+PPT
作者:计算机搬砖家 开发技术:SpringBoot、php、Python、小程序、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:Java精选实战项…...
linux一键部署apache脚本
分享一下自己制作的一键部署apache脚本: 脚本已和当前文章绑定,请移步下载(免费!免费!免费!) (单纯的分享!) 步骤: 将文件/内容上传到终端中 …...
修改MySQL数据库密码报1290
修改MySQL数据库密码报1290 错误 如下: alter user ‘root’‘localhost’ identified by ‘root’; ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 需要刷新下配置 flush privileg…...