高级人工智能复习 题目整理 中科大

题目整理

填空

在这里插入图片描述
1.准确性,复杂性,验证集
2. 3 2 n 3^{2^n} 32n 3 C 2 n m 3^{C^m_{2n}} 3C2nm 3 m 3^m 3m n + 1 n+1 n+1
3. 状态 从状态s采取行动a后继续采用策略 π \pi π的收益 环境
4. 语法 语义 推理规则
5. 参与者,策略集,收益,参与者们选择的策略互为最佳应对
6. sigmod,tanh,ReLu
7. KNN,决策树

问答

在这里插入图片描述
(1) 11;
(2)1+2+4+6+9+11=33 存疑(博客答案是34,我觉得是33)
(3)1+2+4+7=14

(9)启发式搜索 假设有N个红军和N个蓝军,船每次最多可供K个人乘渡,这里 N = 5 , K ≤ 3 N=5,K \le3 N=5,K3。假设在某个时刻,在河的左岸有M个红军,C个蓝军,B=1表示船在左岸,B=0表示船在右岸。现在以它们的组合为状态 n = ( M , C , B ) n=(M,C,B) n=(M,C,B)的描述。给定下面的两种不同的启发式函数:
h 1 ( n ) = M + C / h 2 ( n ) = M + C − 2 B h_1(n)=M+C / h_2(n)=M+C-2B h1(n)=M+C/h2(n)=M+C2B
请说明 h 1 ( n ) h_1(n) h1(n)不满足 h 1 ( n ) ≤ h ∗ ( n ) h_1(n) \le h^*(n) h1(n)h(n) h 2 ( n ) h_2(n) h2(n)满足

解:
离目标越近,启发式函数应该越小
h 2 ( n ) h_2(n) h2(n)考虑了船的位置问题,船在左岸的时候, h 1 ( n ) h_1(n) h1(n)高估了

(10)概念题: 谈谈你对搜索问题,MDP,强化学习,完美信息下的动态博弈和非完美信息下的动态博弈的理解,分析它们之间的异同。

解:

搜索问题:
行动是确定让搜索沿一条边前进
解是一条路径或状态序列

MDP
行动随机地让搜索沿多条变前进
解不是路径而是策略,一组从装填到行动的映射关系

MDP和强化学习

MDP:转移概率和奖励情况已知,离线;判断和决策都可以仿真;f已知
强化学习:转移概率和奖励未知,在线;需要花费代价去探索未知;f未知

完美信息的动态博弈:每个参与者知道所有的公共信息,将对手视为MDP建模中无法观测和了解的位置因素
非完美信息下的动态博弈:可以看做强化学习,不知道转移概率和每一步的奖励,需要逐步了解和学习

博弈问题也可以建模为搜索问题

(11)概念题: 简述过拟合产生的原因,通过修改损失函数可以避免过拟合,举两个例子说明这种方法。

过拟合产生的主要原因是训练数据过少或模型过于复杂

通过修改损失函数可以避免过拟合,如
1.L2正则化:
通过在Loss的基础上增加权重参数的平方和项,从而惩罚权重参数过大的情况。
L o s s 2 = L o s s + λ ∑ θ j 2 Loss_2=Loss+\lambda \sum \theta_j^2 Loss2=Loss+λθj2

2.L1正则化:
通过在Loss的基础上增加权重参数的绝对值和项,从而惩罚权重参数非零的情况。

在这里插入图片描述

(1) PPT上有(复习部分有图)
(2)
假设输出层误差为1,即 δ score = 1 \delta_{\text{score}} = 1 δscore=1

  1. 计算输出层梯度
    ∂ loss ∂ w = − λ 0 y [ h 1 , h 2 ] \frac{\partial \text{loss}}{\partial w} = -\lambda_0 y [h_1, h_2] wloss=λ0y[h1,h2]

  2. 隐藏层误差传播到输出层
    δ h j = δ score ⋅ w j ⋅ h j ⋅ ( 1 − h j ) \delta_{h_j} = \delta_{\text{score}} \cdot w_j \cdot h_j \cdot (1 - h_j) δhj=δscorewjhj(1hj)
    其中, δ score = 1 \delta_{\text{score}} = 1 δscore=1,因此:
    δ h j = w j ⋅ h j ⋅ ( 1 − h j ) \delta_{h_j} = w_j \cdot h_j \cdot (1 - h_j) δhj=wjhj(1hj)

  3. 计算隐藏层梯度
    ∂ loss ∂ v j = δ h j ⋅ ϕ ( x ) \frac{\partial \text{loss}}{\partial v_j} = \delta_{h_j} \cdot \phi(x) vjloss=δhjϕ(x)
    即:
    ∂ loss ∂ v j = ( w j ⋅ h j ⋅ ( 1 − h j ) ) ⋅ ϕ ( x ) \frac{\partial \text{loss}}{\partial v_j} = (w_j \cdot h_j \cdot (1 - h_j)) \cdot \phi(x) vjloss=(wjhj(1hj))ϕ(x)

参数更新
根据梯度下降法,更新权重参数 (V) 和 (W):

  • 对于 (w):
    w : = w − λ 0 ⋅ ∂ loss ∂ w w := w - \lambda_0 \cdot \frac{\partial \text{loss}}{\partial w} w:=wλ0wloss
    其中:
    ∂ loss ∂ w = − λ 0 y [ h 1 , h 2 ] \frac{\partial \text{loss}}{\partial w} = -\lambda_0 y [h_1, h_2] wloss=λ0y[h1,h2]

  • 对于 (v_j):
    v j : = v j − λ 0 ⋅ ∂ loss ∂ v j v_j := v_j - \lambda_0 \cdot \frac{\partial \text{loss}}{\partial v_j} vj:=vjλ0vjloss
    其中:
    ∂ loss ∂ v j = ( w j ⋅ h j ⋅ ( 1 − h j ) ) ⋅ ϕ ( x ) \frac{\partial \text{loss}}{\partial v_j} = (w_j \cdot h_j \cdot (1 - h_j)) \cdot \phi(x) vjloss=(wjhj(1hj))ϕ(x)

在这里插入图片描述
(1) p ( E 1 , … E n , H 1 , … H n ) = p ( H 1 ) ∏ i = 2 5 p ( H i ∣ H i − 1 ) ∏ i = 1 5 p ( E i ∣ H i ) p(E1,…E_n,H_1,…H_n)=p(H_1)\prod_{i=2}^5p(Hi|H{i-1})\prod_{i=1}^5p(E_i|H_i) p(E1,En,H1,Hn)=p(H1)i=25p(HiHi1)i=15p(EiHi)
(2) ∏ i ∣ H i ∣ ∣ E i ∣ \prod_i|H_i||E_i| iHi∣∣Ei
(3) ∣ H 1 ∣ + ∑ i = 2 5 ∣ H i ∣ ∣ H i − 1 ∣ + ∑ i = 1 5 ∣ E i ∣ ∣ H i − 1 ∣ |H_1|+\sum_{i=2}^5|H_i||H_i-1| +\sum_{i=1}^5 |E_i||H{i-1}| H1+i=25Hi∣∣Hi1∣+i=15Ei∣∣Hi1
(4)

c1,c2=0,0
for i in data:if i satisfy(E=e):c1+= p(X_i)if i satisfy (Q=q):c2+=p(X_i)
return c1/c2

在这里插入图片描述
(1)I->BEC->DFG 7 个节点
(2)可采纳,设N到G的最优路径的每条边权值为 p i p_i pi
共𝑘条边,由于 p i ≥ 1 p_i \ge 1 pi1,则 ∑ p i ≥ k \sum p_i \ge k pik,由此: h ( N ) ≤ H ∗ ( N ) h(N) \le H^*(N) h(N)H(N),得证
(3)I->B->E->G
f=3?

(15)岭回归问题。 求解线性回归问题是, W ^ = arg ⁡ m i n W ∣ y − X W ∣ 2 + λ ∣ W ∣ 2 \hat{W}=\arg min_W|y-XW|^2+\lambda|W|^2 W^=argminWyXW2+λW2。其中 X ∈ R n ∗ d X\in R^{n*d} XRnd是n个d维的数据,X每列和为0,且 r a n k ( X ) = d , y ∈ R n , W ∈ R n rank(X)=d,y \in R^n,W\in R^n rank(X)=d,yRn,WRn是参数向量。岭回归问题就是寻找最优参数 W ^ \hat{W} W^使得损失函数和 L 2 L_2 L2正则化项的线性组合构成的目标函数最小。请用矩阵运算,给出最优解 W ^ \hat{W} W^的结算过程和结果

解:

我们可以使用矩阵运算来求解最优参数 W ^ \hat{W} W^

  1. 定义目标函数
    J ( W ) = ∥ y − X W ∥ 2 + λ ∥ W ∥ 2 J(W) = \|y - XW\|^2 + \lambda \|W\|^2 J(W)=yXW2+λW2
    其中,
    ∥ y − X W ∥ 2 = ( y − X W ) ⊤ ( y − X W ) \|y - XW\|^2 = (y - XW)^\top (y - XW) yXW2=(yXW)(yXW)
    ∥ W ∥ 2 = W ⊤ W \|W\|^2 = W^\top W W2=WW

  2. 展开目标函数
    J ( W ) = ( y − X W ) ⊤ ( y − X W ) + λ W ⊤ W J(W) = (y - XW)^\top (y - XW) + \lambda W^\top W J(W)=(yXW)(yXW)+λWW
    J ( W ) = y ⊤ y − 2 y ⊤ X W + W ⊤ X ⊤ X W + λ W ⊤ W J(W) = y^\top y - 2y^\top XW + W^\top X^\top XW + \lambda W^\top W J(W)=yy2yXW+WXXW+λWW

  3. 求解梯度
    对 (W) 求偏导数并使其等于零:
    ∂ J ( W ) ∂ W = − 2 X ⊤ y + 2 X ⊤ X W + 2 λ W = 0 \frac{\partial J(W)}{\partial W} = -2X^\top y + 2X^\top XW + 2\lambda W = 0 WJ(W)=2Xy+2XXW+2λW=0

  4. 解方程
    ( X ⊤ X + λ I ) W = X ⊤ y (X^\top X + \lambda I)W = X^\top y (XX+λI)W=Xy
    其中, I I I d × d d \times d d×d的单位矩阵。

  5. 求解最优参数
    W ^ = ( X ⊤ X + λ I ) − 1 X ⊤ y \hat{W} = (X^\top X + \lambda I)^{-1} X^\top y W^=(XX+λI)1Xy

  1. 赛马时,一线人会在赛前告诉你某匹马Belle没吃早餐。假设:

马输赢取决于其健康和速度,而健康和速度无关。
健康的马比病马吃早餐的概率大
线人情报的可靠性不是100%
求解下列问题:
画出5个变量的贝叶斯网络,其中T:得到情报,B:Belle吃早餐,H:Belle健康,W:Belle赢,F:Belle很快
根据贝叶斯网络结构,给出联合概率 p ( T , B , H , W , F ) p(T,B,H,W,F) p(T,B,H,W,F)的乘积计算公式。给出边缘概率 p ( W ) p(W) p(W)的计算公式
计算条件概率 p ( W ∣ T ) p(W|T) p(WT),即依据线人情报来计算Belle获胜的概率
在这里插入图片描述
17) 学习问题:

写出线性回归和逻辑斯蒂回归的目标函数
写出SVM的目标函数
写出加入松弛变量后的SVM的优化目标

解:
(1)线性回归的目标函数

线性回归的目标是通过最小化预测值和真实值之间的均方误差来拟合一条直线。目标函数可以表示为:

J ( W ) = 1 2 ∑ i = 1 n ( y i − X i W ) 2 J(W) = \frac{1}{2} \sum_{i=1}^{n} (y_i - X_iW)^2 J(W)=21i=1n(yiXiW)2

其中,

  • ( y_i ) 是第 ( i ) 个样本的真实值,
  • ( X_i ) 是第 ( i ) 个样本的特征向量,
  • ( W ) 是参数向量。

可以用矩阵形式表示为:

J ( W ) = 1 2 ∥ y − X W ∥ 2 J(W) = \frac{1}{2} \| y - XW \|^2 J(W)=21yXW2

(2)逻辑斯蒂回归的目标函数

逻辑斯蒂回归的目标是通过最大化训练样本的似然函数(或最小化负对数似然函数)来拟合一个分类模型。目标函数可以表示为:

J ( W ) = − ∑ i = 1 n [ y i log ⁡ ( h ( X i W ) ) + ( 1 − y i ) log ⁡ ( 1 − h ( X i W ) ) ] J(W) = -\sum_{i=1}^{n} \left[ y_i \log(h(X_iW)) + (1 - y_i) \log(1 - h(X_iW)) \right] J(W)=i=1n[yilog(h(XiW))+(1yi)log(1h(XiW))]

其中,

  • ( y_i ) 是第 ( i ) 个样本的标签(0 或 1),
  • ( X_i ) 是第 ( i ) 个样本的特征向量,
  • ( h(z) = \frac{1}{1 + e^{-z}} ) 是sigmoid函数。

可以用矩阵形式表示为:

J ( W ) = − [ y ⊤ log ⁡ ( h ( X W ) ) + ( 1 − y ) ⊤ log ⁡ ( 1 − h ( X W ) ) ] J(W) = -\left[ y^\top \log(h(XW)) + (1 - y)^\top \log(1 - h(XW)) \right] J(W)=[ylog(h(XW))+(1y)log(1h(XW))]

(3)支持向量机(SVM)的目标函数

线性SVM的目标是通过最大化类别间的间隔来拟合一个分类模型。标准的无松弛变量SVM的目标函数可以表示为:

min ⁡ W 1 2 ∥ W ∥ 2 \min_W \frac{1}{2} \|W\|^2 minW21W2
subject to  y i ( X i W + b ) ≥ 1 ∀ i \text{subject to } y_i (X_i W + b) \ge 1 \quad \forall \ i subject to yi(XiW+b)1 i

其中,

  • ( y_i ) 是第 ( i ) 个样本的标签(+1 或 -1),
  • ( X_i ) 是第 ( i ) 个样本的特征向量,
  • ( W ) 是参数向量,
  • ( b ) 是偏置项。

(4)加入松弛变量后的SVM的优化目标

加入松弛变量(slack variables)后的软间隔SVM的目标函数可以表示为:

min ⁡ W , ξ , b 1 2 ∥ W ∥ 2 + C ∑ i = 1 n ξ i \min_{W, \xi, b} \frac{1}{2} \|W\|^2 + C \sum_{i=1}^{n} \xi_i minW,ξ,b21W2+Ci=1nξi
subject to  y i ( X i W + b ) ≥ 1 − ξ i ∀ i \text{subject to } y_i (X_i W + b) \geq 1 - \xi_i \quad \forall i subject to yi(XiW+b)1ξii
ξ i ≥ 0 ∀ i \xi_i \geq 0 \quad \forall i ξi0i

其中,

  • (\xi_i) 是松弛变量,表示第 ( i ) 个样本的误差,
  • ( C ) 是惩罚参数,控制间隔与误分类的权衡。

线性回归:最小化均方误差。
逻辑斯蒂回归:最小化负对数似然。
SVM(无松弛变量):最小化参数范数,要求所有样本严格正确分类。
SVM(有松弛变量):在最小化参数范数的同时,加上松弛变量项,允许部分样本误分类,增加模型的柔韧性。

回忆2023

(1)信息熵公式: H ( N ) = − ∑ i p i log ⁡ ( p i ) H(N)=-\sum_i p_i \log(p_i) H(N)=ipilog(pi)
p i p_i pi是节点N中拥有数据集D中属于第i类数据在D中占比。

(2)hinge损失函数: m a x ( 1 − W ϕ ( x ) y , 0 ) max(1-W\phi(x)y,0) max(1Wϕ(x)y,0)

(3)约束求解问题的(X,D,C)的含义:
一个CSP问题是一个三元组 ( X , D , C ) (X,D,C) (X,D,C),其中 X X X是一组变量; D D D是值域; C C C是一个约束组,包含了 m m m个约束 X X X分量间取值关系的计算公式。
X i X_i Xi D i D_i Di中取值,所有变量都给一个取值,形成一个赋值 v = ( x 1 , x 2 , . . . , x 3 ) v=(x_1,x_2,...,x_3) v=(x1,x2,...,x3)可以参与约束 C C C的计算,判断约束是否被满足

(4)无限集合有k个球,球的分布是什么样子的时候熵最大:
在信息理论中,熵(entropy)是用来度量随机变量不确定性的一个指标。给定一个有限或无限的集合,当我们讨论分布的熵时,通常是指其概率分布的熵。对于无限集合中的球,最常见的考虑是概率分布的情况。

解:
假设我们有 ( k ) 种不同类型的球,并且球的集合是无限的。我们需要考虑这些球的分布方式使得熵最大化。

  1. 每个类型的球概率相等
    • 如果每种类型的球出现的概率相等,那么我们可以假设每种类型的球出现的概率为 ( \frac{1}{k} )。
    • 这意味着每种类型的球都是均匀分布的。
    • 这样的均匀分布最大化了熵,因为熵在均匀分布时是最大的。

[ p(x_i) = \frac{1}{k} ]

  1. 熵的计算
    • 对于均匀分布的情况,熵的计算如下:
      [ H(X) = -\sum_{i=1}^{k} \frac{1}{k} \log \frac{1}{k} ]
    • 由于对每种类型的球的概率都是 ( \frac{1}{k} ),我们可以简化熵的公式:
      [ H(X) = -k \left( \frac{1}{k} \log \frac{1}{k} \right) = \log k ]

所以,对于无限集合中的 ( k ) 种球,当每种类型的球的概率分布均匀时,熵最大。

(5)迭代深度优先搜搜的时空复杂度:
访问节点数 O ( b d ) O(b^d) O(bd) 空间复杂度 O ( b d ) O(bd) O(bd)

(6)决策树通过什么防止过拟合
剪枝

(7)贝叶斯网络是不是有监督的机器学习方法、EM算法是不是无监督的机器学习算法
是;是

(8)深度优先搜索和回溯法的异同;

深度优先搜索和回溯法都是用于解决问题的搜索算法,它们在某些方面相似,但在其他方面又有一些不同之处。

相同点:

搜索方式: 两者都是基于搜索树的算法,都通过探索搜索空间中的不同节点来找到解决问题的答案。

递归性质: 深度优先搜索和回溯法都具有递归的特点,它们在搜索过程中会不断地深入到搜索树的分支中。

不同点:
,回溯法在求解过程中不保留完整的树结构,而深度优先搜索则记下完整的搜索树

目标: 深度优先搜索通常用于找到搜索树中的一个解,而回溯法更多地用于找到搜索树中的所有解。

回溯机制: 回溯法在搜索的过程中,当发现当前路径不能满足问题的要求时,会回溯到上一个状态,并尝试其他分支。而深度优先搜索并没有显式的回溯机制,它只是沿着一条路径一直深入到底部,直到找到解或者无法继续为止。

空间复杂度: 在空间复杂度上,回溯法通常需要更多的内存,因为它需要在递归调用中保存更多的状态信息,而深度优先搜索则相对较少,因为它只需要保存当前的路径信息。

(9)博弈的组成成分;
参与者;策略集;收益

(10)搜索算法的局部算法跟全局算法的区别,举例说明。
解:
搜索算法可以分为局部算法和全局算法,它们在搜索问题空间时的策略和范围上有所不同。

局部算法:

局部算法通常只关注当前状态的邻域,并在邻域内搜索最优解。它们不考虑整个问题空间,而是通过一系列局部决策逐步改进当前解,直到达到某种终止条件或者找到满意的解为止。局部算法往往更加高效,尤其适用于大规模问题,因为它们不需要考虑整个问题的状态空间。

例子:

爬山算法(Hill Climbing):该算法通过不断选择当前状态的邻域中使目标函数值最大的状态来进行搜索。它只考虑了局部最优解,可能会陷入局部最优解而无法找到全局最优解。

模拟退火算法(Simulated Annealing):模拟退火算法也是一种局部搜索算法,它以一定概率接受比当前解更差的状态,以避免陷入局部最优解。

全局算法:

全局算法考虑整个问题空间,并在其中搜索全局最优解。它们可能会更加耗时,因为它们需要考虑整个问题空间,并尝试各种可能的组合和路径。

例子:

启发式搜索算法(Heuristic Search):启发式搜索算法是一种全局搜索算法,它使用启发式函数来指导搜索过程,以便更加有效地在整个问题空间中搜索解。例如,A*算法是一种启发式搜索算法,通过估计到目标的距离来选择下一步的搜索路径。

遗传算法(Genetic Algorithm):遗传算法是一种全局优化算法,通过模拟自然选择和遗传机制来搜索问题空间中的最优解。遗传算法尝试在整个搜索空间中进行交叉和变异,以找到适应度最高的解。

(11)贝叶斯网络,画因果图,求简单的条件概率分布和边缘分布。

(12)强化学习,给出一张图,包括了状态、行动、转移概率、收益、策略,第一问算状态点的V值;第二问求出更新之后的策略。(记住Q、V的更新公式就会写)

第一问:

我们需要计算每个状态点的 V 值,根据贝尔曼方程的更新规则,V 值更新公式为:

V ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ V ( s ′ ) ] V(s) = \sum_{a} \pi(a|s) \sum_{s',r} p(s',r|s,a) [r + \gamma V(s')] V(s)=aπ(as)s,rp(s,rs,a)[r+γV(s)]

其中,[ \pi(a|s) ] 是策略函数,[ p(s’,r|s,a) ] 是转移概率函数,[ \gamma ] 是折扣因子。

第二问:

更新策略需要根据 Q 值,Q 值的更新公式为:

Q ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ max ⁡ a ′ Q ( s ′ , a ′ ) ] Q(s,a) = \sum_{s',r} p(s',r|s,a) [r + \gamma \max_{a'} Q(s',a')] Q(s,a)=s,rp(s,rs,a)[r+γmaxaQ(s,a)]

然后根据更新后的 Q 值选择新的策略。策略更新规则可以是ε-贪心策略、Softmax 策略等。

在这里插入图片描述
在这里插入图片描述

(13)神经网络,给出一个三层的网络图,各层的激活函数和损失函数,第一问求反向传播的权重更新公式,第二问代入数据计算更新后的权重,第三问问学习率的大小给训练带来的影响。这一题网络输入层2个节点,隐层三个节点,输出层一个节点。

解:

第一问:

反向传播的权重更新公式可以使用梯度下降法。假设损失函数为 L,学习率为 (\alpha),那么权重更新的公式如下:
W i j ( l ) = W i j ( l ) − α ∂ L ∂ W i j ( l ) W_{ij}^{(l)} = W_{ij}^{(l)} - \alpha \frac{\partial L}{\partial W_{ij}^{(l)}} Wij(l)=Wij(l)αWij(l)L

其中,( W_{ij}^{(l)} ) 表示第 (l) 层的权重矩阵的第 (i) 行第 (j) 列元素。

第二问:

代入数据计算更新后的权重需要具体的网络结构和损失函数。根据网络结构和损失函数的不同,反向传播的计算方法也会有所不同。

第三问:

学习率的大小会直接影响权重的更新速度和稳定性。如果学习率过大,可能导致权重更新过快,甚至无法收敛;而学习率过小,则可能导致收敛速度过慢。通常需要通过实验来选择合适的学习率,以保证模型能够快速收敛到最优解。

(14)KNN近邻,给出五个数据点(x1,x2)和他们的label,给出一个待分类的数据,第一问问待分类的数据在不同的k值下分成什么类;第二问问k的取值有什么影响。

解:

第一问:

我们需要根据不同的 k 值,使用KNN算法对待分类的数据点进行分类。KNN算法的步骤是:

  1. 计算待分类数据点与已知数据点之间的距离。
  2. 选择最近的 k 个数据点。
  3. 统计这 k 个数据点的类别,并选择其中出现次数最多的类别作为待分类数据点的类别。

不同的 k 值可能导致不同的分类结果。常见的 k 值包括 1、3、5 等。我们可以尝试这些 k 值,来观察分类结果。

第二问:

K 的取值会直接影响到分类的结果。较小的 k 值可能会导致模型对噪声数据敏感,容易受到局部的影响,可能会产生过拟合;而较大的 k 值可能会导致模型过于简单,忽略了局部结构,可能会产生欠拟合。

总的来说,适当选择 k 值很重要,需要根据具体的数据集和问题来确定。通常需要通过交叉验证等方法来选择最优的 k 值。

回忆2021

(1)策略函数值迭代的Bellman递推公式

(2)LSTM比RNN增加了——和哪——三个门

(3)给出近似逼近的线性权系数,特征提取函数

解:

为了通过近似逼近的方法求解线性权系数,我们通常使用线性回归或其他线性模型。这里给出一个简单的例子,说明如何使用线性回归来近似逼近权系数,并介绍特征提取函数。

线性回归模型

假设我们有一个输入特征向量 (\mathbf{x} = [x_1, x_2, \ldots, x_n]) 和对应的目标值 (y)。线性回归模型可以表示为:

y = w T x + b y = \mathbf{w}^T \mathbf{x} + b y=wTx+b

其中:

  • (\mathbf{w} = [w_1, w_2, \ldots, w_n]) 是需要学习的权重向量。
  • (b) 是偏置项。

求解线性权系数

为了求解线性权系数 (\mathbf{w}) 和偏置项 (b),我们最小化以下损失函数(均方误差):
L ( w , b ) = 1 m ∑ i = 1 m ( y i − ( w T x i + b ) ) 2 L(\mathbf{w}, b) = \frac{1}{m} \sum_{i=1}^m (y_i - (\mathbf{w}^T \mathbf{x}_i + b))^2 L(w,b)=m1i=1m(yi(wTxi+b))2

其中,(m) 是样本数量,(\mathbf{x}_i) 是第 (i) 个样本的特征向量,(y_i) 是第 (i) 个样本的目标值。

通过求解这个最小化问题,我们可以得到近似逼近的线性权系数 (\mathbf{w}) 和偏置项 (b)。

特征提取函数

特征提取函数的目的是将原始数据转换为适合模型训练的特征。特征提取函数通常根据具体的问题和数据类型来设计。下面是几个常见的特征提取方法:

  1. 多项式特征提取
    将输入特征扩展为多项式形式。例如,给定输入特征 (\mathbf{x} = [x_1, x_2]),我们可以生成二次特征:
    [ \phi(\mathbf{x}) = [1, x_1, x_2, x_1^2, x_2^2, x_1 x_2] ]

  2. 离散特征编码(One-hot Encoding)
    对于分类变量,我们使用独热编码将每个类别转换为二进制向量。例如,给定一个分类变量 (color) 有三个取值 {red, green, blue},独热编码将其转换为:
    [ \text{red} \rightarrow [1, 0, 0], \quad \text{green} \rightarrow [0, 1, 0], \quad \text{blue} \rightarrow [0, 0, 1] ]

  3. 归一化和标准化
    对于数值特征,我们通常需要进行归一化或标准化处理,以确保特征具有相似的尺度。例如,标准化将特征值减去均值并除以标准差:
    [ x_i’ = \frac{x_i - \mu}{\sigma} ]

(4)MDP的一个实例计算题,计算一个策略的V值

(5)解释策略评估函数V()和Q()的区别
策略评估中的 ( V ) 函数和 ( Q ) 函数是强化学习中的两个关键概念,用于评估在给定策略下的状态或状态-动作对的价值。它们的区别在于评估的对象和具体的定义:

关系和区别

  1. 评估对象

    • ( V(s) ) 评估的是在状态 ( s ) 下的预期价值。
    • ( Q(s, a) ) 评估的是在状态 ( s ) 下执行动作 ( a ) 的预期价值。
  2. 公式关系:(PPT上是是max)

    • 状态价值函数 ( V(s) ) 可以通过状态-动作价值函数 ( Q(s, a) ) 计算得到:
      [
      V^\pi(s) = \sum_{a \in A} \pi(a|s) Q^\pi(s, a)
      ]
    • 状态-动作价值函数 ( Q(s, a) ) 可以通过状态价值函数 ( V(s) ) 表示:
      [
      Q^\pi(s, a) = \mathbb{E} \left[ R_{t+1} + \gamma V^\pi(S_{t+1}) \mid S_t = s, A_t = a \right]
      ]
  3. 作用

    • ( V(s) ) 用于评估在某一状态下的总体价值,它告诉我们某个状态有多好。
    • ( Q(s, a) ) 用于评估在某一状态下执行某个动作的价值,它告诉我们在某个状态下采取某个动作有多好。

(6)线性分类和线性回归的几何意义分别是

线性回归:几何上,线性回归试图找到一条直线(或超平面),以最小化预测值与实际值之间的误差。

线性分类:几何上,线性分类试图找到一个直线(或超平面),以最大化将不同类别数据点分开的间隔。

这两者的主要区别在于,线性回归处理的是连续型输出变量,而线性分类处理的是离散型输出变量。

(7)写出岭回归求导过程,写出目标函数更新的伪代码

# 初始化权重向量 w 为零向量
Initialize w as zero vector of size m# 迭代更新权重向量
For iteration = 1 to num_iterations:# 计算预测值y_pred = X * w# 计算误差error = y - y_pred# 计算梯度gradient = -2 * (X^T * error) + 2 * lambda * w# 更新权重w = w - learning_rate * gradientEnd ForReturn w

(8)计算一个二维卷积

(9)约束满足和优化问题与搜索问题的区别体现在关于的解形式化上有什么不同

约束满足问题的解通常是一组数值的集合,它们满足所有给定的约束条件。
优化问题的解是使得目标函数达到最优值的点、向量或结构,其数学表达是问题的目标函数及其约束条件的函数形式。
搜索问题的解是满足搜索目标的一组状态、路径、规划或决策,通常表示为一系列动作、状态转换或决策序列。

(10)贝叶斯,根据拉普拉斯平滑计算边缘和条件概率表,计算一个具体的条件概率值

(11)解释A*和贪婪算法的区别

考虑因素不同:

贪婪算法只考虑了当前步骤的局部最优解,没有考虑全局最优解。
A*算法综合考虑了已经花费的代价和估计剩余代价,从而更倾向于选择全局最优解。

性能保证不同:

贪婪算法不能保证找到最优解,因为它只考虑了当前步骤的局部最优解。
A*算法在满足一定条件下(如启发函数满足一定性质),可以保证找到最优解。

时间和空间复杂度不同:

贪婪算法通常具有较低的时间和空间复杂度,因为它只考虑了当前步骤的局部最优解。
A*算法通常具有较高的时间和空间复杂度,因为它需要综合考虑已经花费的代价和估计剩余代价,并维护一个优先队列。

(12)写出三个激活函数sigmod tang ReLu的表达式,画出曲线图
https://www.cnblogs.com/kang06/p/9371420.html

(13)贝叶斯网,一小问如是:试用伪码描述,应用变量消元法求p(h1|e3e5)的过程

# 变量消元法求解 P(h1 | e3, e5)
Input: Bayesian network BN, evidence variables e3, e5, query variable h1
Output: Probability P(h1 | e3, e5)# 1. 初始化因子集合为所有因子
factors = BN.factors()# 2. 对每个证据变量 e in {e3, e5}:# 2.1 找到与 e 相关的因子 f_e,并将其固定为给定值factors.fix_value_for_variable(e)# 3. 对每个非证据变量 X:# 3.1 构建 X 的新因子 f_X,并对它进行消元操作factors.eliminate_variable(X)# 4. 规范化计算目标条件概率
h1_factor = factors.find_factor_for_variable(h1)
normalize(h1_factor)# 5. 返回目标条件概率 P(h1 | e3, e5)
return h1_factor

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

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

相关文章

Elasticsearch 8.1官网文档梳理 - 十一、Ingest pipelines(管道)

Ingest pipelines 管道(Ingest pipelines)可让让数据在写入前进行常见的转换。例如可以利用管道删除文档(doc)的字段、或从文本中提取数据、丰富文档(doc)的字段等其他操作。 管道(Ingest pip…

VirtualBox、Centos7下安装docker后pull镜像问题、ftp上传文件问题

Docker安装篇(CentOS7安装)_docker 安装 centos7-CSDN博客 首先,安装docker可以根据这篇文章进行安装,安装完之后,我们就需要去通过docker拉取相关的服务镜像,然后安装相应的服务容器,比如我们通过docker来安装mysql,…

vue 使用 ztree 超大量数据,前端树形结构展示

ztree 是一个很经典的基于jquey开发的树结构编辑展示UI组件库。 创建一个文件 ztree.vue&#xff0c;代码如下&#xff1a; <template><div><div class"ztree vue-giant-tree" :id"ztreeId"></div><div class"treeBox&q…

Termius安装docker

安装Termius 直接上官网 新建主机 更新一下yum 更新完成 安装docker的包 直接用命令安装 设置一下开机启动&#xff0c;可以查看docker的版本

Ui学习--UITableView

UI学习 UITableView基础UITableView协议UITableView高级协议与单元格总结 UITableView基础 UITableView作为iOS中的一个控件&#xff0c;用于以表格形式展示数据。例如通讯录好友&#xff0c;朋友圈信息等&#xff0c;都是UITableView的实际运用场景。 首先我们先要加入两个协…

K210使用雷龙NAND完成火灾检测

NAND 文章目录 NAND前言一、NAND是什么&#xff1f;二、来看一看NAND三、部署火灾检测 前言 前几天收到了雷龙NAND的芯片&#xff0c;一共两个芯片和一个转接板&#xff0c;我之前也没有使用过这款芯片&#xff0c;比较好奇&#xff0c;体验了一下&#xff0c;个人认为&#x…

嵌入式微处理器重点学习(三)

堆栈操作 R1=0x005 R3=0x004 SP=0x80014 STMFD sp!, {r1, r3} 指令STMFD sp!, {r1, r3}是一条ARM架构中的存储多个寄存器到内存的指令,这里用于将r1和r3寄存器的内容存储到栈上。STMFD(Store Multiple Full Descending)是一种全递减模式的多寄存器存储指令,它会先将栈指针…

three.js 基础01

1.场景创建 Scene() 2.常用形状集几何体「Geometry」[可设置长宽高等内容,如:new THREE.BoxGeometry(...)] 长方体 BoxGeometry圆柱体CylinderGeometry 球体SphereGeometry圆锥体ConeGeometry矩形平面 PlaneGeometry 圆面体CircleGeometry 3.常用材质「Materi…

linux 部署瑞数6实战(维普,药监局)sign第二部分

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx …

C/C++李峋同款跳动的爱心代码

一、写在前面 在编程的世界里&#xff0c;代码不仅仅是冷冰冰的命令&#xff0c;它也可以成为表达情感、传递浪漫的工具。今天&#xff0c;就让小编带着大家用C语言打造出李峋同款跳动的爱心吧&#xff01; 首先&#xff0c;我们需要知道C作为一种高级编程语言&#xff0c;拥…

宠物健康顾问系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;顾问管理&#xff0c;用户管理&#xff0c;健康知识管理&#xff0c;管理员管理&#xff0c;论坛管理&#xff0c;公告管理 顾问账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;顾…

头歌资源库(7)汉诺塔(循环)

一、 问题描述 二、算法思想 初始化三个柱子A、B、C&#xff0c;初始时所有的盘子都在柱子A上。对于从1到N&#xff08;N表示盘子的数量&#xff09;的每一个数字i&#xff0c;执行以下循环&#xff1a; a. 如果i是偶数&#xff0c;则将柱子B视为目标柱子&#xff0c;柱子C视为…

Python时间序列分析库

Sktime Welcome to sktime — sktime documentation 用于ML/AI和时间序列的统一API,用于模型构建、拟合、应用和验证支持各种学习任务,包括预测、时间序列分类、回归、聚类。复合模型构建,包括具有转换、集成、调整和精简功能的管道scikit学习式界面约定的交互式用户体验Pro…

【原创】springboot+mysql小区用水监控管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

AI 定位!GeoSpyAI上传一张图片分析具体位置 不可思议! ! !

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;常见AI大模型部署&#xff1a;点击&#xff01; &#x1f916;Ollama部署LLM专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年6月16日12点23分 &#x1f004;️文章质量&#xff1a;94分…

动态规划日常刷题

力扣70.爬楼梯 class Solution {public int climbStairs(int n) {return dfs(n);}//递归 //注意每次你可以爬 1 或 2 个台阶//如果最后一步是1 就先爬到n-1 把它缩小成0-n-1的范围//如果最后一步是2 就先爬到n-2 把它缩小成0-n-2的范围 private int dfs(int i){if(i < 1){r…

代码随想录算法训练营第五十九天|115.不同的子序列、 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结篇

代码随想录算法训练营第五十九天 115.不同的子序列 题目链接&#xff1a;115.不同的子序列 确定dp数组以及下标的含义&#xff1a;dp[i][j] &#xff1a;以下标i - 1为结尾的s&#xff0c;和以下标j - 1为结尾的t&#xff0c;s中t的个数dp[i][j]确定递推公式&#xff1a; s[…

Intel HDSLB 高性能四层负载均衡器 — 代码剖析和高级特性

目录 文章目录 目录前言代码剖析软件架构目录结构配置解析启动流程分析数据面 jobs 注册数据面 jobs 执行 转发流程分析收包阶段L2 处理阶段L3 处理阶段L4 处理阶段 高级特性大象流转发优化快慢路径分离转发优化报文基础转发优化 最后参考文档 前言 在前 2 篇文章中&#xff0…

Qt第三方库QHotKey设置小键盘数字快捷键

一、看了一圈没有找到可以设置小键盘的情况。 这两天在研究快捷键的使用。发现qt的里的快捷键不是全局的。找了两个第三方快捷键QHotKey&#xff0c;还有一个QxtGlobalShortcut。但是这两个都不能设置小键盘的数字。 比如QKeySequenceEdit &#xff08;Ctrl1&#xff09; 这个…

【SpringBoot】SpringBoot:构建实时聊天应用

文章目录 引言项目初始化添加依赖 配置WebSocket创建WebSocket配置类创建WebSocket处理器 创建前端页面创建聊天页面 测试与部署示例&#xff1a;编写单元测试 部署扩展功能用户身份验证消息持久化群组聊天 结论 引言 随着实时通信技术的快速发展&#xff0c;聊天应用在现代We…