【深度学习基础】从零开始的炼丹生活00——机器学习数学基础以及数值计算数值优化方法

正值假期,决定恶补机器学习、深度学习及相关领域(顺便开个博客)。首先学习一下数学基础以及数值计算的方法(主要参考《深度学习》)

一、数学基础

这里简单复习一下机器学习相关的数学

1.线性代数

范数
衡量一个向量的大小,对Lp范数,有:
∥ x ∥ p = ( ∑ i ∣ x i ∣ p ) 1 p \left\| x\right\| _{p}=\left( \sum _{i}\left| x_{i}\right| ^{p}\right) ^{\dfrac {1}{p}} xp=(ixip)p1
其中 p ∈ R , p ≥ 1 p\in \mathbb{R} , p\geq1 pR,p1.
对一切范数(包括Lp),满足下列性质:

  • t ( x ) = 0 ⇒ x = 0 ; t\left( x\right) =0\Rightarrow x=0; t(x)=0x=0;
  • f ( x + y ) ≤ f ( x ) + f ( y ) ; f\left( x+y\right) \leq f\left( x\right) +f\left( y\right); f(x+y)f(x)+f(y);(三角不等式)
  • ∀ α ∈ R , f ( a x ) = ∣ a ∣ f ( x ) . \forall \alpha \in \mathbb{R} ,f\left( ax\right) =\left| a\right| f\left( x\right). αR,f(ax)=af(x).
  1. L0范数指的是向量中非零元素的个数
  2. L1范数可以用于机器学习中0与非0元素之间的差异十分重要时。也能让模型变得更加稀疏。(常替代L0)
  3. 最大范数:L∞范数 表示向量中具有最大幅值元素的绝对值。 ∥ x ∥ ∞ = max ⁡ i ∣ x ∣ i \left\| x\right\| _{\infty }=\max _{i}\left| x\right|_i x=maxixi
  4. 要衡量矩阵的大小,最常用的是使用Frobenius范数,即 ∥ A ∥ F = ∑ i , j A i , j 2 \left\| A\right\| _{F}=\sqrt {\sum _{i,j}A^{2} _{i,j}} AF=i,jAi,j2 .

进一步学习:
L0、L1、L2范数在机器学习中的应用
范数对于数学的意义?1范数、2范数、无穷范数

正交矩阵
行向量和列向量是分别标准正交的方阵
A A T = I ; A − 1 = A T \begin{aligned}AA^{T}=I;\\ A^{-1}=A^{T}\end{aligned} AAT=I;A1=AT

特征分解
特征分解可以知晓一些矩阵隐含的性质。

  • 特征向量:与 A A A相乘后相当于对该向量进行缩放的非零向量 v v v
    A v = λ v Av=\lambda v Av=λv

    其中λ为特征向量对应的特征值。(通常指右特征向量)
    由于 k v kv kv v v vy特征值相同,一般情况下只考虑单位特征向量。

  • A A A有n个线性无关的特征向量 { v ( 1 ) , v ( 2 ) , … , v ( n ) } \left\{ v^{(1)},v^{(2)},\ldots ,v^{\left( n\right) }\right\} {v(1),v(2),,v(n)},对应n个特征值 { λ 1 , λ 2 , … , λ n } \{\lambda_1,\lambda_2,\ldots,\lambda_n\} {λ1,λ2,,λn}。将特征向量连接成一个矩阵,使得每一列都是一个特征向量 V = [ v ( 1 ) , v ( 2 ) , … , v ( n ) ] V=[v^{(1)},v^{(2)},\ldots ,v^{( n)}] V=[v(1),v(2),,v(n)]特征值也连接成一个向量λ。
    A A A的特征分解 A = V d i a g ( λ ) V − 1 A=Vdiag\left( \lambda \right) V^{-1} A=Vdiag(λ)V1

机器学习中通常不会遇到复数的特征分解,一般我们会处理实对称矩阵,它一定可以分解为 A = Q Λ Q T A=Q\Lambda Q^{T} A=QΛQT 其中 Q Q Q为正交矩阵,由 A A A的特征向量组成。

  • 矩阵是奇异的等价于矩阵含零特征值
  • 矩阵特征值非负称半正定矩阵,满足 ∀ x , x T A x ≥ 0 \forall x, x^TAx\geq0 x,xTAx0.

奇异值分解(SVD)
另一种分解矩阵的方式,将矩阵分解为奇异向量奇异值。每个实数矩阵都有奇异值分解,因此它比特征分解应用更广。 A = U D V T A=UDV^T A=UDVT

A A A m × n m\times n m×n,则 D D D m × m m\times m m×m U U U m × n m\times n m×n V V V n × n n\times n n×n

  • U 、 V U、V UV是正交矩阵,两者的列向量分别是左奇异向量和右奇异向量。事实上, D D D就是 A A T AA^T AAT的特征向量, V V V就是 A T A A^TA ATA的特征向量。
  • D D D称为奇异值,为对角矩阵(不一定方阵),事实上是 A T A A^TA ATA A A T AA^T AAT的特征值的平方根。

奇异值分解(SVD)原理详解及推导

Moore-Penrose伪逆
对于非方矩阵,若希望求方程 A x = y Ax=y Ax=y,也就是要找一矩阵使得 x = B y x=By x=By,这时可以用伪逆去求解。
定义为 A + = lim ⁡ α ↘ 0 ( A T A + α I ) − 1 A T A^{+}=\lim _{\alpha\searrow 0}(A^TA+\alpha I)^{-1}A^T A+=α0lim(ATA+αI)1AT

但实际上使用下面这个公式计算
A + = V D + U T ⇔ A + = ( s v d ( A ) ) + A^+=VD^+U^T \Leftrightarrow A^+=(svd (A))^+ A+=VD+UTA+=(svd(A))+

其中 D + D^+ D+是非零元素取倒数再转置得到的。

  • A A A的行数多于列数时,可能没有解。此时通过伪逆得到的 x x x使得 A x Ax Ax y y y的欧氏距离最小。
  • A A A的行数少于列数时。此时通过伪逆得到的 x = A + y x=A^+y x=A+y是所有可行解中L2范数最小的。

迹运算
T r ( A ) = ∑ i A i , i Tr(A) = \sum_{i}A_{i,i} Tr(A)=iAi,i
有些矩阵运算可以通过矩阵乘法和迹运算表示,省去了求和符号。
eg :
∥ A ∥ F = T r ( A A T ) \|A\|_F=\sqrt{Tr(AA^T)} AF=Tr(AAT)

性质:

  • T r ( A ) = T r ( A T ) Tr(A) =Tr(A^T) Tr(A)=Tr(AT)
  • T r ( A B C ) = T r ( B A C ) Tr(ABC)=Tr(BAC) Tr(ABC)=Tr(BAC) 循环置换 尽管形状变了但值依然不变。
  • T r ( A B ) = T r ( B A ) Tr(AB)=Tr(BA) Tr(AB)=Tr(BA)
  • 对标量 T r ( a ) = a Tr(a)=a Tr(a)=a

行列式
记作 d e t ( A ) det(A) det(A),将方阵映射到实数,等于特征值的乘积。可以衡量矩阵参与矩阵乘法后空间扩大或缩小了多少。若行列式是0.则可认为空间至少沿着某一维完全收缩了。若是1则转换保持空间体积不变。

一个机器学习算法应用小实例:主成分分析
如何通俗易懂地讲解什么是 PCA 主成分分析?

2.概率论

基本概念

  • 频率派概率:概率直接与频率关联
  • 贝叶斯概率:涉及确定性水平
  • 概率质量函数(PMF):离散型随机变量的概率分布
  • 概率密度函数(PDF):连续型随机变量的概率分布
  • x ⊥ y x⊥y xy表示两个事件相互独立, x ⊥ y ∣ z x⊥y|z xyz表示二者条件独立
  • 期望: x x x P P P生成,当 f f f作用于 x x x时, f ( x ) f(x) f(x)的平均值
  • 方差:随机变量函数呈现的差异大小
  • 协方差:两个变量的线性相关强度
    随机向量 x ∈ R n x \in\mathbb{R}^n xRn的协方差矩阵是 n × n n\times n n×n的矩阵并且有
    C o v ( x ) i , j = C o v ( x i , x j ) Cov(x)_{i,j}=Cov(x_i,x_j) Cov(x)i,j=Cov(xi,xj)

高斯分布
当缺乏对某个实数分布的先验知识时,正态分布是默认的较好的选择。原因:

  • 中心极限定理说明很多独立的随机变量的和近似服从于正态分布。
  • 在具有相同方差的所有可能的概率分布中,正态分布在实数上具有最大的不确定性。(熵最大)

多维正态分布
混合分布
通过简单的概率分布的组合来生成更丰富的分布
eg(组件的分布取决于一个范畴分布):
P ( x ) = ∑ i P ( c = i ) P ( x ∣ c = i ) P(x)=\sum_{i}P(c=i)P(x|c=i) P(x)=iP(c=i)P(xc=i)
高斯混合模型(GMM) 是一个万能近似器,即任何概率密度都可以用足够多组件的GMM来逼近。

注意:概率论的一些结论对于连续型随机变量实际上由测度论得只能是几乎处处成立

3.信息论

我们使用信息论来描述概率分布或量化概率分布的相似性。

  • 信息论的基本思想:一个较不可能的事的发生比一个很可能的事情的发生会提供更多信息。为了量化信息,规定:
  1. 非常可能发生的事情信息量很少,且极端情况下无信息量。
  2. 较不可能发生的事提供更多信息。
  3. 独立事件有增量的信息。
  • 规定一个事件 x x x自信息为: I ( x ) = − log ⁡ P ( x ) I(x)=-\log P(x) I(x)=logP(x) 这里令log为自然对数,因此自信息的单位是奈特(nats)。(以2为底的单位就是比特或者香农)

  • 对于整个概率分布的不确定性总量,我们用香农熵衡量:
    H ( x ) = E x ∼ P [ I ( x ) ] = − E x ∼ P [ log ⁡ P ( x ) ] H(x)=\mathbb{E}_{x\sim P}[I(x)]=-\mathbb{E}_{x\sim P}[\log P(x)] H(x)=ExP[I(x)]=ExP[logP(x)]

    也记作 H ( P ) H(P) H(P)。一个分布的香农熵是指遵循这个分布的事件所产生的期望信息总量。x是连续的时候,香农熵又被称为微分熵

  • 若对于一个随机变量x有两个单独的概率分布 P ( x ) 、 Q ( x ) P(x)、Q(x) P(x)Q(x)我们可以用KL 散度衡量两个分布的差异:
    D K L ( P ∥ Q ) = E x ∼ P [ log ⁡ P ( x ) Q ( x ) ] D_{KL}(P\| Q)=\mathbb{E}_{x\sim P}[\log \dfrac{P(x)}{Q(x)}] DKL(PQ)=ExP[logQ(x)P(x)]

    KL散度是非对称的,但由于它非负,常被用来测量两个分布的“距离”,这意味着如果要令一个分布 q q q近似分布 p p p,那么抉择是最小化 D K L ( P ∥ Q ) D_{KL}(P\| Q) DKL(PQ)或者 D K L ( Q ∥ P ) D_{KL}(Q\| P) DKL(QP)是很重要的

  • 交叉熵 H ( P , Q ) = H ( P ) + D K L ( P ∥ Q ) = − E x ∼ P log ⁡ Q ( x ) H(P,Q)=H(P)+D_{KL}(P\| Q)=-\mathbb{E}_{x\sim P}\log Q(x) H(P,Q)=H(P)+DKL(PQ)=ExPlogQ(x)针对Q的最小化交叉熵过程相当于最小化KL散度。

  • 信息论中规定 lim ⁡ x → 0 x log ⁡ x = 0 \lim _{x\rightarrow 0}x\log x=0 limx0xlogx=0

二、数值计算

1. 溢出

计算机表示实数总会有一些误差,因此我们在设计算法时应该考虑到最小化舍入误差的积累。

  • 下溢:当接近0的数被舍为0时发生。很多函数在输入为0时会发生严重错误。

  • 上溢:当大量级的数被近似为 ∞ \infty 时发生

      很多底层的库在设计时就考虑了很多溢出的情况,可以自动保持数值稳定。
    

2. 病态条件

条件数指函数对于输入的微小变化而变化的快慢程度。当条件数很大时,舍入误差会对数值造成很大的影响。此时就是病态条件。
[数值计算] 条件数

3. 基于梯度的优化方法

我们常常会最小化多变量输入函数 f : R n → R f:\mathbb{R^n\rightarrow R} f:RnR,函数输出是一个标量,此时这个函数称为目标函数或者准则(机器学习中也叫损失函数等)

  • 梯度是针对一个向量求导的导数,包含所有偏导,记为 ∇ x f ( x ) \nabla_x f(\boldsymbol{x}) xf(x)
  • 对于单位向量 u \boldsymbol{u} u方向导数是函数 f f f u \boldsymbol{u} u方向上的斜率,即 f ( x + α u ) f(x+\alpha u) f(x+αu)关于α的导数(α=0时取得)。即 ∂ ∂ α f ( x + α u ) = u T ∇ x f ( x ) \dfrac {\partial }{\partial \alpha }f(\boldsymbol{x}+\alpha \boldsymbol{u})=\boldsymbol{u}^T\nabla_x f(\boldsymbol{x}) αf(x+αu)=uTxf(x)

为了最小化 f f f,我们要找到使它下降最快的方向,计算方向导数:
min ⁡ u , u T u = 1 u T ∇ x f ( x ) = min ⁡ u cos ⁡ θ \min_{u,u^Tu=1}\boldsymbol{u}^T\nabla_x f(\boldsymbol{x})=\min_u \cos \theta u,uTu=1minuTxf(x)=umincosθ

u \boldsymbol{u} u与梯度方向相反时取得最小。因此这被称为梯度下降法或者最速下降法
x ′ = x − ϵ ∇ x f ( x ) x^\prime=x-\epsilon\nabla_x f(\boldsymbol{x}) x=xϵxf(x)

其中 ϵ \epsilon ϵ为学习率,确定步长大小。

  • 梯度下降也可以扩展到离散空间,此时称为爬山算法

4.Jacobian和Hessian矩阵

对于输入和输出都为向量的函数,它的所有偏导数的矩阵称为Jacobian矩阵。定义为 J i , j = ∂ ∂ x j f ( x ) i J_{i,j}=\dfrac{\partial}{\partial x_j}f(\boldsymbol{x})_i Ji,j=xjf(x)i
有时我们也会考察二阶导数,它反映了只基于梯度信息的梯度下降步骤的效果,也是对曲率的衡量。负曲率使函数下降更快,正曲率更慢。 H ( f ) ( x ) i , j = ∂ 2 ∂ x i ∂ x j f ( x ) H(f)(\boldsymbol{x})_{i,j}=\dfrac{\partial^2}{\partial x_i \partial x_j}f(\boldsymbol{x}) H(f)(x)i,j=xixj2f(x)
相当于梯度的Jacobian矩阵。

  • 在深度学习中,Hessian矩阵大多为实对称矩阵,因此可将其分解为一组特征值和特征向量的正交基。在方向 d \boldsymbol{d} d上的二阶导数可以写成 d T H d \boldsymbol{d}^T\boldsymbol{Hd} dTHd。通过方向二阶导数可以预期一个梯度的下降步骤表现得多好。
  • 二阶导数还可以用于确定临界点是否局部极值点或是鞍点,当一阶导为0而二阶导非0时就是极值点,而二阶导也为0时不能确定。这称为二阶导数测试
  • 在多维情况下我们观察Hessian矩阵的特征值,若是正定矩阵则为极小值。然而多数情况下特征值由正有负,则该点应当是鞍点。
    另外,每个方向的二阶导数是不相同的。Hessian矩阵的条件数衡量这些二阶导数的变化范围。可以避免梯度下降步长太大以至于冲过最小点,又不至于使步长太小使曲率小的方向进展不明显。

因此我们可以用Hessian矩阵的信息来指导搜索(直接找到局部最优点),主要有牛顿法等。现实中Hessian矩阵很难计算,因此有许多近似方法,具体不在这里详述了。这类二阶优化算法很容易被吸引到鞍点。
牛顿法、拟牛顿法(BFGS),L-BFGS算法

注:由于深度学习中的函数族十分复杂,因此深度学习算法往往缺乏理论保证(炼丹).可以通过限制函数或其导数满足Lipschitz连续,其中 L \mathcal{L} L称为Lipchitz常数,满足:
∣ ∣ ∇ f ( x ) − ∇ f ( y ) ∣ ∣ ≤ L ∣ ∣ x − y ∣ ∣ , x , y ∈ R n ||\nabla f(x) - \nabla f(y)|| \leq \mathcal{L} || x - y||,~~~x,y\in R^n f(x)f(y)Lxy,   x,yRn
可以描述为:函数 f ( x ) f(x) f(x)二次可微,且Hessian矩阵在 R n R^n Rn上有界。Lipschitz连续对分析复杂函数非常有用,因为它可以近似将优化复杂函数的问题,转化为二次规划问题。
同时很多优化问题可以经过微小的修改就满足利普希茨连续。

  • 另外还有一个特定的领域凸优化,通过更强的限制使得凸函数有且全部都是最小值。然而深度学习中很多问题不能凸优化,仅适用于算法的子程序。但凸优化的分析思路对于证明深度学习算法的收敛性很有用。
    深入了解:
    深度学习/机器学习入门基础数学知识整理(三):凸优化,Hessian,牛顿法
    为什么凸优化这么重要?

5. 约束优化

若希望在x的某些集合中寻找 f ( x ) f(x) f(x)的最大或最小值,称为约束优化,集合 S \mathbb{S} S内的点x称为可行点

  • 一种简单的想法是将约束考虑在内并对梯度下降进行修改,即将梯度下降的结果投影回 S \mathbb{S} S

  • 另一种是设计一个不同的无约束优化问题,使其解可以转化为原始优化问题的解。
    Karush-Kuhn-Tucker(KKT)方法是一个通用的方法,是对Lagrange乘子法的推广.

    • 广义Lagragian定义为
      L ( x , λ , α ) = f ( x ) + ∑ i λ i g ( i ) ( x ) + ∑ j α j h ( j ) ( x ) L(\boldsymbol{x,\lambda,\alpha})=f(\boldsymbol{x})+\sum_i\lambda_ig^{(i)}(\boldsymbol{x})+\sum_j\alpha_jh^{(j)}(\boldsymbol{x}) L(x,λ,α)=f(x)+iλig(i)(x)+jαjh(j)(x)

      其中 g ( i ) g^{(i)} g(i)为等式约束, h ( j ) h^{(j)} h(j)为不等式约束( h ( j ) ( x ) ≤ 0 h^{(j)}(x)\leq0 h(j)(x)0)。 α j 、 λ i \alpha_j、\lambda_i αjλi称为KKT乘子。

    因此我们可以通过求解 min ⁡ x max ⁡ λ max ⁡ α , α ≥ 0 L ( x , λ , α ) \boldsymbol{\min_x\max_\lambda\max_{\alpha,\alpha\geq0}}L(\boldsymbol{x,\lambda,\alpha}) minxmaxλmaxα,α0L(x,λ,α)来获得与 min ⁡ x ∈ S f ( x ) \min_{x\in \mathbb{S}}f(x) minxSf(x)相同的解(只要有一个不使 f ( x ) f(x) f(x)取无穷的可行点)。对于最大化相当于求负的最小化。

    • KKT条件 确定一个点是最优点的必要条件,但不一定是充分条件。具体有:
      1. 广义Lagrangian的梯度为零。
      2. 所有关于x和KKT乘子的约束都满足。
      3. 不等式约束显示的”互补松弛性“: α ⊙ h ( x ) = 0 \boldsymbol{\alpha\odot h(x)=0} αh(x)=0.即对每一对 α 、 h ( x ) \alpha、h(x) αh(x),必有一个是活跃的(为零)

6. 拉格朗日对偶性

在约束最优化问题中,我们常利用拉格朗日对偶性将原始问题转换为对偶问题。

  • 原始问题: min ⁡ x max ⁡ λ max ⁡ α , α ≥ 0 L ( x , λ , α ) \boldsymbol{\min_x\max_\lambda\max_{\alpha,\alpha\geq0}}L(\boldsymbol{x,\lambda,\alpha}) xminλmaxα,α0maxL(x,λ,α)称为广义拉格朗日函数的极小极大问题,记 p ∗ p^* p为原始问题的最优值。

  • 对偶问题:
    max ⁡ λ max ⁡ α , α ≥ 0 min ⁡ x L ( x , λ , α ) \boldsymbol{\max_\lambda\max_{\alpha,\alpha\geq0}\min_x}L(\boldsymbol{x,\lambda,\alpha}) λmaxα,α0maxxminL(x,λ,α)称为广义拉格朗日函数的极大极小问题,记 d ∗ d^* d为对偶问题的最优值

  • 原始问题与对偶问题的关系:
    定理1:若原始问题和对偶问题都有最优值,则
    d ∗ = max ⁡ λ , α : α ≥ 0 min ⁡ x L ( x , λ , α ) ≤ min ⁡ x max ⁡ λ , α : α ≥ 0 L ( x , λ , α ) = p ∗ d^*=\boldsymbol{\max_{\lambda,\alpha:\alpha\geq0}\min_x}L(\boldsymbol{x,\lambda,\alpha})\leq\boldsymbol{\min_x\max_{\lambda,\alpha:\alpha\geq0}}L(\boldsymbol{x,\lambda,\alpha})=p^* d=λ,α:α0maxxminL(x,λ,α)xminλ,α:α0maxL(x,λ,α)=p

    推论1:当 d ∗ = p ∗ d^*=p^* d=p时,它们都取相同的最优点。
    在某些条件下,原始问题和对偶问题的最优值相等,具体有:

    • 定理2:若函数 f ( x ) f(x) f(x)和不等式约束 h ( j ) h^{(j)} h(j)是凸函数,等式约束 g ( i ) g^{(i)} g(i)是仿射函数(即最高次数为1的多项式函数);并且假设不等式约束是严格可行的,即存在 x x x,对所有 i i i h ( j ) < 0 h^{(j)}<0 h(j)<0成立。则存在 x ∗ , λ ∗ , α ∗ x^*,\lambda^*,\alpha^* x,λ,α,使得 p ∗ = d ∗ = L ( x ∗ , λ ∗ , α ∗ ) p^*=d^*=L(x^*,\lambda^*,\alpha^*) p=d=L(x,λ,α)
    • 定理3:若函数 f ( x ) f(x) f(x)和不等式约束 h ( j ) h^{(j)} h(j)是凸函数,等式约束 g ( i ) g^{(i)} g(i)是仿射函数(即最高次数为1的多项式函数);并且假设不等式约束是严格可行的。那么 x ∗ , λ ∗ , α ∗ x^*,\lambda^*,\alpha^* x,λ,α原始问题和对偶问题的解的充分必要条件是 x ∗ , λ ∗ , α ∗ x^*,\lambda^*,\alpha^* x,λ,α满足KKT条件。

简单应用:线性最小二乘
最小二乘法#也可以简单的使用梯度下降求解
线性最小二乘和非线性最小二乘


以上内容如有谬误还请告知。之后还会持续更新(应该)

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

“泰迪杯”挑战赛 -利用非侵入式负荷检测进行高效率数据挖掘(完整数学模型)

目录 1 研究背景与意义 2 变量说明 3 问题分析 4 问题一 4.1 数据预处理 4.1.1 降噪处理 4.1.2 数据变换 4.2 负荷特征分析 4.2.1 暂态特征 4.2.2 稳态特征 5 问题二 5.1 相似度与权系数 5.2 模型建立 5.3 模型求解 6 问题三 6.1 事件检测算法 6.2 模型建立 6.3 模型求解…

37%原则如何优化我们做决定的时间

当需要百(千&#xff0c;万…)里挑一时&#xff0c;需要权衡最优解和效率&#xff0c;有一个37%原则比较有趣。 整个择优过程分为两个阶段&#xff1a; 观望&#xff1a;在前面 k k k个候选者中冒泡记录最优者 p p p&#xff0c;其分数为 V p V_p Vp​&#xff0c;但并不选择…

清风数学建模学习笔记——层次分析法

目录 一、模型简介 二、建模步骤 三、模型总结 一、层次分析法——模型简介 层次分析法&#xff0c;简称AHP&#xff0c;是指将与决策总是有关的元素分解成目标、准则、方案等层次&#xff0c;在此基础之上进行定性和定量分析的决策方法。该方法是美国运筹学家匹茨堡大学教授萨…

Attention is all you need ---Transformer

大语言模型已经在很多领域大显身手&#xff0c;其应用包括只能写作、音乐创作、知识问答、聊天、客服、广告文案、论文、新闻、小说创作、润色、会议/文章摘要等等领域。在商业上模型即产品、服务即产品、插件即产品&#xff0c;任何形态的用户可触及的都可以是产品&#xff0c…

you-get下载速度慢解决方法

Python版本&#xff1a;3.10 运行环境&#xff1a;Windows10 问题描述&#xff1a;在使用you-get下载X站视频时网速很慢&#xff0c;并一直限制在某个值,通过以下办法即可恢复正常网速 解决办法&#xff1a; 进入windows 安全中心-病毒和威胁防护-管理设置点击添加或删除排…

Microsoft store下载速度过慢

最开始是进入Microsoft store点击安装后一直无响应&#xff0c;后来知道这是因为Microsoft store下载速度过慢。下边几个步骤都尝试了&#xff0c;个人认为最重要的是Windows Update设置步骤&#xff0c;刚开始可能一直没有正确打开 修改DNS 右键任务栏网络图标->打开“网…

Linux网络编程 socket编程篇(一) socket编程基础

目录 一、预备知识 1.IP地址 2.端口号 3.网络通信 4.TCP协议简介 5.UDP协议简介 6.网络字节序 二、socket 1.什么是socket(套接字)&#xff1f; 2.为什么要有套接字&#xff1f; 3.套接字的主要类型 拓】网络套接字 三、socket API 1.socket API是什么&#xff1f; 2.为什么…

如何预防ssl中间人攻击?

当我们连上公共WiFi打开网页或邮箱时&#xff0c;殊不知此时可能有人正在监视着我们的各种网络活动。打开账户网页那一瞬间&#xff0c;不法分子可能已经盗取了我们的银行凭证、家庭住址、电子邮件和联系人信息&#xff0c;而这一切我们却毫不知情。这是一种网络上常见的“中间…

[保研/考研机试] KY3 约数的个数 清华大学复试上机题 C++实现

题目链接&#xff1a; KY3 约数的个数 https://www.nowcoder.com/share/jump/437195121691716950188 描述 输入n个整数,依次输出每个数的约数的个数 输入描述&#xff1a; 输入的第一行为N&#xff0c;即数组的个数(N<1000) 接下来的1行包括N个整数&#xff0c;其中每个…

wsl2安装mysql环境

安装完mysql后通过如下命令启动mysql service mysql start 会显示如下错误&#xff1a; mysql: unrecognized service 实际上上面显示的错误是由于mysql没有启动成功造成的 我们要想办法成功启动mysql才可以 1.通过如下操作就可以跳过密码直接进入mysql环境 2.如果想找到my…

nodejs+vue+elementui美食网站的设计与实现演示录像2023_0fh04

本次的毕业设计主要就是设计并开发一个美食网站软件。运用当前Google提供的nodejs 框架来实现对美食信息查询功能。当然使用的数据库是mysql。系统主要包括个人信息修改&#xff0c;对餐厅管理、用户管理、餐厅信息管理、菜系分类管理、美食信息管理、美食文化管理、系统管理、…

【百度翻译api】中文自动翻译为英文

欸&#xff0c;最近想做一些nlp的项目&#xff0c;做完了中文的想做做英文的&#xff0c;但是呢&#xff0c;国内爬虫爬取的肯定都是中文 &#xff0c;爬取外网的技术我没有尝试过&#xff0c;没有把握。所以我决定启用翻译&#xff0c;在这期间chatGPT给了我非常多的方法&…

关于电脑连接好WiFi却无法使用浏览器上网的一种解决方法

如果你的电脑的网络设置里选项是自动获取ip地址的话&#xff0c;那么大概率适用此方法。&#xff08;我这个已经是填好的&#xff0c;之前是自动获取&#xff09; 方法步骤&#xff1a;这里分两步 &#xff08;1&#xff09;首先确定无法使用浏览器上网的原因。&#xff08;比…

windows11连接上WiFi但是无法上网

电脑经常会出现网络等问题&#xff0c;win11在连接到WiFi&#xff0c;但是无法正常上网。进行网络诊断显示“该设备或资源&#xff08;Web代理&#xff09;未设置为接收端口7890”。借鉴过网络上许多方法都没有解决。可以尝试使用以下这种方式解决&#xff0c;本人亲测已解决。…

电脑显示wifi连接但是不能上网(dns无法连接)

网络问题 电脑显示wifi连接但是不能上网 1.使用手机等其它设备&#xff0c;连接同一个wifi&#xff0c;检查是否出现问题 如果其它设备也不能使用&#xff0c;则为网络本身的问题 如果不是&#xff0c;在继续检查电脑的问题 2.诊断问题 打开 “网络和Internet设置”找到下…

WIFI已连接,无法上网

wifi已经连接但显示无网络访问权限&#xff0c;查看IP&#xff0c;没有获取到IP。 解决方法&#xff1a; 1、在左下角Windows开始处打开【设置】界面 2、选择【更新和安全】 3、点击左侧窗格中的【恢复】。 4、点击【重置此电脑】下方的【开始】按钮。 5、删除所有内容 重置…

函数的模拟实现

题一&#xff1a; 模拟实现strncpy #include <stdio.h>void my_strncpy(char* arr2, char* arr1, size_t num){int i 0;for (i 0; i < num; i){*(arr2 i) *(arr1 i);}}int main(){char arr1[] "hello liangzai";char arr2[10] { 0 };//strncpy(ar…

家里WIFI连接上了但是无法上网的问题解决方案

今天下午回家&#xff0c;发现我家的WIFI网络连接上了&#xff0c;但是没有网络。草&#xff0c;我猜肯定又是隔壁小孩蹭我家WiFi了&#xff0c;于是我决定&#xff0c;是时候做个了断了。 一、重启路由器 刚开始连上了WiFi但是没网&#xff0c;这种时候可以选择 拔掉路由器 的…

win11系统连接上WiFi却无法上网怎么解决?

问题描述&#xff1a; 昨天更新了一下电脑系统&#xff0c;从win10家庭版更新到win11家庭版本&#xff0c;当天用的还是好好的&#xff0c;但是一夜之间&#xff0c;第二天打开电脑只能链接WiFi&#xff0c;但是不能上网&#xff0c;真的很令人纳闷。 原因分析&#xff1a; 1、…

网络wifi已连接显示不可上网的解决方法教程

为什么无线网络连接上却不能上网呢&#xff1f;明明无线WiFi正常连接&#xff0c;但是打开浏览器却上不了网&#xff0c;估计很多朋友的笔记本电脑遇到过这样的情况&#xff0c;造成这个问题的原因有很多&#xff0c;下面小编给大家分析一下原因以及解决的方法&#xff0c;大家…