人工智能与机器学习原理精解【4】
文章目录
- 马尔科夫过程论
- 要点
- 理论基础
- σ代数
- 定义
- 性质
- 应用
- 例子
- 总结
- 马尔可夫过程概述
- 一、马尔可夫过程的原理
- 二、马尔可夫过程的算法过程
- 三、具体例子
- 马尔可夫链的状态转移概率矩阵
- 一、确定马尔可夫链的状态空间
- 二、收集状态转移数据
- 三、计算转移频率
- 四、构建状态转移概率矩阵
- 示例
- 验证
- 实际应用例子:天气预测
- 背景描述
- 数据收集与统计
- 构建状态转移矩阵
- 应用状态转移矩阵进行预测
- 注意事项
- 实际应用例子:股票价格预测
- 背景描述
- 数据收集与状态划分
- 构建状态转移矩阵
- 应用状态转移矩阵进行预测
- 注意事项
- 马尔可夫链模型和拉普拉斯修正模型
- 一、定义与原理
- 二、应用领域
- 三、数学表达
- 四、总结
- 参考文献
马尔科夫过程论
要点
- 设 M 为某集 G 的子集系,满足下列条件 设M为某集G的子集系,满足下列条件 设M为某集G的子集系,满足下列条件
如果 A ∈ M ,则 A C ∈ M 如果 A i ∈ M ( i = 1 , 2 , . . . ) ,则 ∪ i = 1 ∞ A i ∈ M ,且 ∩ i = 1 ∞ A i ∈ M 称子集系 M 是空间 G 中的 σ 代数。 设 B 为空间 G 中的某一子集系,空间 G 中一切含 B 的 σ 代数的交仍然是 σ 代数。 我们称它为 B 产生的 σ 代数,并记为 σ ( B ) 如果A \in M,则 A^C \in M \\如果A_i \in M(i=1,2,...),则\cup_{i=1}^{\infty} A_i\in M,且\cap_{i=1}^{\infty} A_i\in M \\称子集系M是空间G中的\sigma 代数。 \\设B为空间G中的某一子集系,空间G中一切含B的\sigma代数的交仍然是\sigma代数。 \\我们称它为B产生的\sigma代数,并记为\sigma(B) 如果A∈M,则AC∈M如果Ai∈M(i=1,2,...),则∪i=1∞Ai∈M,且∩i=1∞Ai∈M称子集系M是空间G中的σ代数。设B为空间G中的某一子集系,空间G中一切含B的σ代数的交仍然是σ代数。我们称它为B产生的σ代数,并记为σ(B) - 设 M 为空间 G 的 σ 代数, X ∈ M , 含于 X 中( A ⊂ X )的 A ∈ M 全体构成空间 X 的 σ 代数,记为 M [ X ] 设M为空间G的\sigma代数,X \in M,含于X中(A \subset X)的A \in M全体构成空间X的\sigma代数,记为M[X] 设M为空间G的σ代数,X∈M,含于X中(A⊂X)的A∈M全体构成空间X的σ代数,记为M[X]
- 空间 G 中的子集系 α 是 π 系,如果满足以下条件: 空间G中的子集系\alpha是\pi系,如果满足以下条件: 空间G中的子集系α是π系,如果满足以下条件:
A 1 , A 2 ∈ α , A 1 A 2 ∈ α ,这里 A 1 A 2 表示 A 1 和 A 2 的交集 A_1,A_2 \in \alpha,A_1A_2 \in \alpha,这里A_1A_2表示A_1和A_2的交集 A1,A2∈α,A1A2∈α,这里A1A2表示A1和A2的交集 - 族 α 是 λ 系,如果满足以下条件: 族\alpha是\lambda系,如果满足以下条件: 族α是λ系,如果满足以下条件:
G ∈ α A 1 A 2 ∈ α 且 A 1 A 2 = ∅ = > A 1 ∪ A 2 ∈ α A 1 A 2 ∈ α 且 A 1 ⊇ A 2 = > A 1 \ A 2 ∈ α A 1 , . . . , A n , . . . ∈ α 且 A n ↑ = A , 则 A ∈ α G \in \alpha \\A_1A_2 \in \alpha且A_1A_2=\emptyset=>A_1\cup A_2 \in \alpha \\A_1A_2 \in \alpha且A_1 \supseteq A_2=>A_1\backslash A_2 \in \alpha \\A_1,...,A_n,...\in \alpha且A_n \uparrow=A,则A \in \alpha G∈αA1A2∈α且A1A2=∅=>A1∪A2∈αA1A2∈α且A1⊇A2=>A1\A2∈αA1,...,An,...∈α且An↑=A,则A∈α - 如果 λ 系 α 包括 π 系 β ,则 α 包含 σ ( β ) 如果\lambda系\alpha 包括\pi系\beta,则\alpha 包含\sigma(\beta) 如果λ系α包括π系β,则α包含σ(β)
- 某集系是 π 系,也是 λ 系,则它是 σ 代数 某集系是\pi系,也是\lambda系,则它是\sigma代数 某集系是π系,也是λ系,则它是σ代数
- 由某集 G 及此集的子集 σ 代数 A 组成的对偶( G , σ )称为可测空间 由某集G及此集的子集\sigma代数A组成的对偶(G,\sigma)称为可测空间 由某集G及此集的子集σ代数A组成的对偶(G,σ)称为可测空间
- 未完,下节继续
理论基础
下面内容是来自文心一言的自动生成
σ代数
在数学中,σ代数(σ-algebra)也被称为σ域、完全加法类、可列加法类或σ加法类,是测度论中的一个基础概念。它主要用于严格地定义所谓的“可测集”,是含有基本空间的σ环,是某个集合X的所有子集的集合(即幂集)的一个子集。这个子集满足对于可数个集合的并集运算和补集运算的封闭性(因此对于交集运算也是封闭的)。
定义
设г是由集合X中一些子集所构成的集合族(也叫做集类),且满足下述条件:
- X∈г(即全集属于г);
- 若A∈г,则A的补集Ac∈г(即任何属于г的集合的补集也属于г);
- 若AN∈г(N=1,2,…,即可数个属于г的集合的并集也属于г)。
我们称г是一个σ代数。
性质
σ代数具有以下几个重要的性质:
- 封闭性:对于可数个集合的并集运算和补集运算封闭,从而对于交集运算也是封闭的。
- 包含全集和空集:由于全集X属于σ代数,且任何集合的补集也属于σ代数,因此空集(全集的补集)也属于σ代数。
- 与布尔代数的关系:虽然σ代数也被称为σ域,但它实际上是布尔代数的一个特例,即满足可列并集和补集运算封闭的布尔代数。
应用
σ代数在测度论中扮演着重要的角色,它是定义可测集的基础。在测度论中,我们经常需要处理大量的集合,并希望这些集合满足某些性质,以便能够定义测度。σ代数正是为了满足这些需求而提出的。
例子
最著名的σ代数是关于实数轴测度的波莱尔σ代数(得名于法国数学家埃米·波莱尔),以及1901年亨利·勒贝格建立的勒贝格σ代数。这些σ代数在实分析、概率论等领域中有着广泛的应用。
总结
σ代数是数学中测度论的一个重要概念,它用于严格地定义可测集。σ代数具有封闭性、包含全集和空集等性质,并且是布尔代数的一个特例。在测度论中,σ代数扮演着重要的角色,是定义测度的基础。
马尔可夫过程概述
Markov Process是一类重要的随机过程,由俄国数学家A.A.马尔可夫于1907年提出。这类过程的核心特性是“无后效性”或“无记忆性”,即系统的未来状态仅与当前状态有关,而与过去的状态无关。以下将详细描述马尔可夫过程的原理、算法过程,并给出一个具体的例子。
一、马尔可夫过程的原理
1. 马尔可夫性
马尔可夫性是指一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态,而与过去状态无关。用数学语言表示,若随机过程{X(t), t∈T}满足对任意的t1<t2<…<tn<t,有
P { X ( t ) ≤ x ∣ X ( t 1 ) = x 1 , X ( t 2 ) = x 2 , . . . , X ( t n ) = x n } = P { X ( t ) ≤ x ∣ X ( t n ) = x n } P\{X(t) \leq x | X(t_1) = x_1, X(t_2) = x_2, ..., X(t_n) = x_n\} = P\{X(t) \leq x | X(t_n) = x_n\} P{X(t)≤x∣X(t1)=x1,X(t2)=x2,...,X(tn)=xn}=P{X(t)≤x∣X(tn)=xn}
则称该过程具有马尔可夫性。
2. 数学定义
若随机过程满足马尔可夫性,则称该过程为马尔可夫过程。马尔可夫过程的数学基础是随机过程理论,它是研究离散事件动态系统状态空间的重要方法。
二、马尔可夫过程的算法过程
马尔可夫过程的算法过程主要涉及状态转移概率的计算、状态概率的预测以及平稳分布的求解等。以下以马尔可夫链为例,说明其算法过程。
1. 状态转移概率矩阵
马尔可夫链的状态转移概率矩阵(也称随机矩阵)是一个重要的工具,用于描述系统从一个状态转移到另一个状态的概率。设系统有n个状态,则状态转移概率矩阵P是一个n×n的矩阵,其中P(i,j)表示从状态i转移到状态j的概率。
2. 状态概率的预测
给定初始状态分布π(0),即系统在初始时刻各状态的概率分布,可以通过状态转移概率矩阵P预测未来任意时刻t的状态分布π(t)。状态分布π(t)是一个n维向量,其中π(t)(i)表示在时刻t系统处于状态i的概率。状态分布的预测可以通过迭代计算实现,即
π ( t ) = π ( t − 1 ) P \pi(t) = \pi(t-1)P π(t)=π(t−1)P
3. 平稳分布
若存在状态分布π,使得π=πP,则称π为马尔可夫链的平稳分布。平稳分布是系统经过长时间运行后,各状态概率趋于稳定的分布。
三、具体例子
以某地区农业收成变化为例,假设有三个状态:丰收(E1)、平收(E2)和欠收(E3)。根据历史数据,可以计算出状态转移概率矩阵P,如
P = ( 0.2 0.4667 0.3333 0.5385 0.1538 0.3077 0.3636 0.4545 0.1818 ) P = \begin{pmatrix} 0.2 & 0.4667 & 0.3333 \\ 0.5385 & 0.1538 & 0.3077 \\ 0.3636 & 0.4545 & 0.1818 \end{pmatrix} P= 0.20.53850.36360.46670.15380.45450.33330.30770.1818
假设初始状态为平收(即π(0)=[0,1,0]),则可以通过迭代计算预测未来各年的状态概率分布。例如,计算1990年的状态概率为
π ( 1990 ) = π ( 1989 ) P = [ 0 , 1 , 0 ] ( 0.2 0.4667 0.3333 0.5385 0.1538 0.3077 0.3636 0.4545 0.1818 ) = [ 0.5385 , 0.1538 , 0.3077 ] \pi(1990) = \pi(1989)P = [0, 1, 0] \begin{pmatrix} 0.2 & 0.4667 & 0.3333 \\ 0.5385 & 0.1538 & 0.3077 \\ 0.3636 & 0.4545 & 0.1818 \end{pmatrix} = [0.5385, 0.1538, 0.3077] π(1990)=π(1989)P=[0,1,0] 0.20.53850.36360.46670.15380.45450.33330.30770.1818 =[0.5385,0.1538,0.3077]
依次类推,可以计算出未来各年的状态概率分布,并观察其是否收敛于平稳分布。
马尔可夫链的状态转移概率矩阵
计算马尔可夫链的状态转移概率矩阵,需要遵循一系列步骤,以确保结果的准确性和有效性。以下是详细的计算过程:
一、确定马尔可夫链的状态空间
首先,需要明确马尔可夫链的所有可能状态,这些状态构成了状态空间。例如,如果研究的是天气变化,状态空间可能包括“晴天”、“阴天”和“雨天”。
二、收集状态转移数据
接下来,需要收集关于每个状态转移到其他各个状态的数据。这些数据可以通过实验观测、历史记录或专家评估等方式获得。数据应详细记录每个状态转移到其他状态的次数或频率。
三、计算转移频率
有了状态转移数据后,可以计算每个状态转移到其他各个状态的频率。具体方法是:将每个状态转移到某个特定状态的次数除以该状态的总转移次数。例如,如果状态A转移到状态B的次数是5次,而状态A的总转移次数是20次,则状态A转移到状态B的频率是5/20=0.25。
四、构建状态转移概率矩阵
最后,将所有状态的转移频率排列成矩阵形式,即得到状态转移概率矩阵。矩阵的行表示当前状态,列表示下一状态,矩阵中的元素(i, j)表示从状态i转移到状态j的概率。
示例
假设一个马尔可夫链有三个状态:A、B和C。经过一段时间的观察,我们得到以下的转移次数:
转移方向 | 次数 |
---|---|
从A到A | 10次 |
从A到B | 5次 |
从A到C | 3次 |
从B到A | 2次 |
从B到B | 8次 |
从B到C | 4次 |
从C到A | 1次 |
从C到B | 6次 |
从C到C | 9次 |
根据上述数据,我们可以计算每个状态的转移频率,并构建状态转移概率矩阵:
- A的状态转移频率为:(5+3+2+1) / (10+5+3+2+8+4+1+6+9) = 0.267
- B的状态转移频率为:(2+8+4) / (2+8+4+1+6+9) = 0.357
- C的状态转移频率为:(4+6+9) / (4+6+9+1+6+9) = 0.571
因此,状态转移概率矩阵为:
P = ( 0.267 0.357 0.571 (此处为示例,实际值需根据A的具体转移频率计算) (同上) (同上) (省略部分,同理计算) (同上) (同上) ) P = \begin{pmatrix} 0.267 & 0.357 & 0.571 \\ \text{(此处为示例,实际值需根据A的具体转移频率计算)} & \text{(同上)} & \text{(同上)} \\ \text{(省略部分,同理计算)} & \text{(同上)} & \text{(同上)} \end{pmatrix} P= 0.267(此处为示例,实际值需根据A的具体转移频率计算)(省略部分,同理计算)0.357(同上)(同上)0.571(同上)(同上)
注意:由于示例中只给出了部分计算过程,实际的状态转移概率矩阵应填满所有元素。但根据给出的数据,我们只能确定第一行的转移概率(即A转移到A、B、C的概率),其余行的转移概率需要按照同样的方法计算得出。
验证
完成状态转移概率矩阵的构建后,需要验证每一行的元素之和是否等于1。这是因为从一个状态出发,转移到所有可能状态的概率之和必须为1,以满足概率的归一化条件。
通过以上步骤,就可以准确地计算出马尔可夫链的状态转移概率矩阵。
实际应用例子:天气预测
当然可以。以下是一个实际应用中马尔可夫链状态转移矩阵的例子,该例子来自天气预测领域。
背景描述
假设我们想要预测一个地区未来几天的天气情况,我们可以将天气简单分为三种状态:晴天(S1)、多云(S2)和雨天(S3)。通过对该地区历史气象数据的统计,我们可以得到从一种天气状态转移到另一种天气状态的概率。
数据收集与统计
通过对历史气象数据的分析,我们得到以下状态转移概率:
当前状态\转移状态 | 晴天(S1) | 多云(S2) | 雨天(S3) |
---|---|---|---|
晴天(S1) | 0.65 | 0.2 | 0.15 |
多云(S2) | 0.25 | 0.25 | 0.5 |
雨天(S3) | 0.25 | 0.15 | 0.6 |
这些概率表示,例如,如果今天是晴天,那么明天有65%的概率还是晴天,20%的概率是多云,15%的概率是雨天。
构建状态转移矩阵
根据上述数据,我们可以构建出天气预测的状态转移矩阵P:
P = ( 0.65 0.2 0.15 0.25 0.25 0.5 0.25 0.15 0.6 ) P = \begin{pmatrix} 0.65 & 0.2 & 0.15 \\ 0.25 & 0.25 & 0.5 \\ 0.25 & 0.15 & 0.6 \end{pmatrix} P= 0.650.250.250.20.250.150.150.50.6
应用状态转移矩阵进行预测
假设今天是晴天(即初始状态向量为[1, 0, 0]),我们可以使用状态转移矩阵P来预测未来几天的天气情况。
-
预测明天的天气:
明天的天气概率 = P × ( 1 0 0 ) = ( 0.65 0.2 0.15 ) \text{明天的天气概率} = P \times \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 0.65 \\ 0.2 \\ 0.15 \end{pmatrix} 明天的天气概率=P× 100 = 0.650.20.15
这表明明天有65%的概率是晴天,20%的概率是多云,15%的概率是雨天。 -
预测后天的天气:
由于马尔可夫链的无记忆性,我们可以继续将状态转移矩阵与明天的天气概率向量相乘,以预测后天的天气。但这里为了简化,我们直接给出结果(实际上应该使用明天的天气概率向量作为新的初始状态向量进行计算)。
后天的天气概率(简化示例) = P 2 × ( 1 0 0 ) \text{后天的天气概率(简化示例)} = P^2 \times \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} 后天的天气概率(简化示例)=P2× 100
注意,这里使用了P的平方,因为我们需要考虑两步转移。实际上,P的k次方表示从当前状态出发,经过k步转移后到达各状态的概率分布。
注意事项
- 在实际应用中,天气预测往往比这个例子复杂得多,可能需要考虑更多的因素(如温度、湿度、气压等)和更精细的状态划分。
- 状态转移矩阵的准确性和可靠性取决于历史数据的完整性和准确性。
- 马尔可夫链模型假设未来的状态仅与当前状态有关,这在实际应用中可能是一个简化的假设。为了提高预测的准确性,有时可能需要考虑更高阶的马尔可夫链模型(即未来的状态不仅与当前状态有关,还与过去的一个或多个状态有关)。
这个例子展示了马尔可夫链状态转移矩阵在天气预测中的实际应用,通过收集和分析历史数据,我们可以构建出状态转移矩阵,并利用该矩阵进行未来天气的预测。
当然,我可以再举一个关于马尔可夫链状态转移矩阵的实际应用例子,这次我们将以金融市场中的股票价格预测为例。
实际应用例子:股票价格预测
背景描述
在金融市场中,股票价格的变化往往受到多种因素的影响,包括市场情绪、公司业绩、宏观经济指标等。然而,在某些情况下,我们可以简化问题,使用马尔可夫链模型来预测股票价格在未来一段时间内的可能走势。这里,我们将股票价格的变化简化为几个离散的状态,如“上涨”、“持平”和“下跌”。
数据收集与状态划分
首先,我们需要收集一段时间内的股票价格数据,并根据这些数据将股票价格的变化划分为不同的状态。例如,我们可以将股票价格的变化划分为以下三个状态:
- 状态S1:股票价格上涨
- 状态S2:股票价格持平
- 状态S3:股票价格下跌
接下来,我们需要统计从一种状态转移到另一种状态的概率。这通常可以通过分析历史数据来实现。
构建状态转移矩阵
假设我们通过分析历史数据得到了以下状态转移概率:
当前状态\转移状态 | S1(上涨) | S2(持平) | S3(下跌) |
---|---|---|---|
S1(上涨) | 0.6 | 0.3 | 0.1 |
S2(持平) | 0.3 | 0.4 | 0.3 |
S3(下跌) | 0.2 | 0.2 | 0.6 |
这些概率表示,例如,如果当前股票价格是上涨的(状态S1),那么明天股票价格继续上涨的概率为0.6,持平的概率为0.3,下跌的概率为0.1。
基于这些概率,我们可以构建出股票价格预测的状态转移矩阵P:
P = ( 0.6 0.3 0.1 0.3 0.4 0.3 0.2 0.2 0.6 ) P = \begin{pmatrix} 0.6 & 0.3 & 0.1 \\ 0.3 & 0.4 & 0.3 \\ 0.2 & 0.2 & 0.6 \end{pmatrix} P= 0.60.30.20.30.40.20.10.30.6
应用状态转移矩阵进行预测
假设当前股票价格是上涨的(即初始状态向量为[1, 0, 0]),我们可以使用状态转移矩阵P来预测未来几天的股票价格走势。
-
预测明天的股票价格走势:
明天的股票价格走势概率 = P × ( 1 0 0 ) = ( 0.6 0.3 0.1 ) \text{明天的股票价格走势概率} = P \times \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 0.6 \\ 0.3 \\ 0.1 \end{pmatrix} 明天的股票价格走势概率=P× 100 = 0.60.30.1
这表明明天股票价格有60%的概率继续上涨,30%的概率持平,10%的概率下跌。 -
预测未来多天的股票价格走势:
为了预测未来多天的股票价格走势,我们需要多次应用状态转移矩阵P。例如,预测后天的股票价格走势,我们可以将明天的股票价格走势概率向量与状态转移矩阵P相乘。然而,需要注意的是,这种方法假设了股票价格的变化是独立的马尔可夫过程,即未来的价格仅与当前价格有关,而与之前的价格无关。在实际应用中,这可能是一个简化的假设。
注意事项
- 马尔可夫链模型在股票价格预测中的应用有其局限性,因为股票价格的变化受到多种复杂因素的影响,而这些因素可能并不完全满足马尔可夫链的无记忆性假设。
- 为了提高预测的准确性,通常需要结合其他预测方法和模型,如时间序列分析、机器学习等。
- 状态划分和状态转移概率的确定对预测结果有很大影响,因此在实际应用中需要谨慎选择。
这个例子展示了马尔可夫链状态转移矩阵在股票价格预测中的潜在应用,尽管其在实际操作中可能需要结合更多的数据和更复杂的模型来提高预测的准确性。
马尔可夫链模型和拉普拉斯修正模型
马尔可夫链模型和拉普拉斯修正模型在统计学和概率论中扮演着不同的角色,它们之间有着显著的区别。以下是两者之间的主要区别:
一、定义与原理
马尔可夫链模型
- 定义:马尔可夫链模型是一个典型的随机过程模型,其中系统的状态转移仅依赖于当前状态,而与过去的状态无关。这种特性被称为“无后效性”或“无记忆性”。
- 原理:马尔可夫链通过状态转移矩阵来描述系统在不同状态之间的转移概率。状态转移矩阵中的每个元素表示从一个状态转移到另一个状态的概率。
拉普拉斯修正模型
- 定义:拉普拉斯修正模型是统计学中用于校正概率估计值的一种方法。它通过在每个样本的计数上加上一个常数(通常为1)来避免零概率的问题,从而提高估计的可靠性。
- 原理:拉普拉斯修正公式的原理在于对概率的分子和分母同时加上一个小的常数(如1),以调整概率估计值,避免在样本数量较少时出现极端情况。
二、应用领域
马尔可夫链模型
- 马尔可夫链模型广泛应用于多个领域,包括自然语言处理、图像处理、金融预测、生物信息学等。它特别适用于描述那些只与当前状态有关,而与过去状态无关的随机过程。
拉普拉斯修正模型
- 拉普拉斯修正模型主要用于概率估计的校正,特别是在样本数量较少或存在零概率问题时。它提高了概率估计的准确性和可靠性,但并非直接用于建模随机过程。
三、数学表达
马尔可夫链模型
- 数学上,马尔可夫链模型通过状态转移矩阵来表示,其中矩阵的每一行代表当前状态,每一列代表下一状态,矩阵中的元素表示状态转移的概率。
拉普拉斯修正模型
- 拉普拉斯修正模型在数学上通过修改概率估计的公式来实现,即在分子和分母上分别加上一个常数(如1),从而得到调整后的概率估计值。
四、总结
综上所述,马尔可夫链模型和拉普拉斯修正模型在定义、原理、应用领域和数学表达等方面都存在明显的区别。马尔可夫链模型是一种用于描述随机过程的模型,其状态转移仅依赖于当前状态;而拉普拉斯修正模型则是一种用于校正概率估计值的方法,通过调整概率估计的公式来提高估计的准确性和可靠性。两者在统计学和概率论中各自扮演着重要的角色,但应用场景和目的有所不同。
参考文献
1.文心一言
2.《邓肯-马尔科夫过程论》
相关文章:
人工智能与机器学习原理精解【4】
文章目录 马尔科夫过程论要点理论基础σ代数定义性质应用例子总结 马尔可夫过程概述一、马尔可夫过程的原理二、马尔可夫过程的算法过程三、具体例子 马尔可夫链的状态转移概率矩阵一、确定马尔可夫链的状态空间二、收集状态转移数据三、计算转移频率四、构建状态转移概率矩阵示…...
Go channel实现原理详解(源码解读)
文章目录 Go channel详解Channel 的发展Channel 的应用场景Channel 基本用法Channel 的实现原理chan 数据结构初始化sendrecvclose使用 Channel 容易犯的错误总结Go channel详解 Channel 是 Go 语言内建的 first-class 类型,也是 Go 语言与众不同的特性之一。Channel 让并发消…...
数据结构-C语言-排序(4)
代码位置: test-c-2024: 对C语言习题代码的练习 (gitee.com) 一、前言: 1.1-排序定义: 排序就是将一组杂乱无章的数据按照一定的规律(升序或降序)组织起来。(注:我们这里的排序采用的都为升序) 1.2-排…...
灰色关联分析【系统分析+综合评价】
系统分析: 判断哪个因素影响最大 基本思想:根据序列曲线几何形状的相似程度来判断其练习是否紧密 绘制统计图并进行分析 确定子序列和母序列 对变量进行预处理(去量纲、缩小变量范围) 熟练使用excel与其公式和固定(…...
linux 部署flask项目
linux python环境安装: https://blog.csdn.net/weixin_41934979/article/details/140528410 1.创建虚拟环境 python3.12 -m venv .venv 2.激活环境 . .venv/bin/activate 3.安装依赖包(pip3.12 install -r requirements.txt) pip3.12 install -r requirements.txt 4.测试启…...
ES6 数值的扩展(十八)
1. 二进制和八进制字面量 特性:可以直接在代码中使用二进制(0b 或 0B)和八进制(0o 或 0O)字面量。 用法:简化二进制和八进制数值的表示。 const binaryNumber 0b1010; // 二进制表示 10 const octalNumb…...
面试知识储备-redis和redission
1.redis的使用 引入依赖,自动注解redistemplate即可使用, 默认的redistemplate存入到redis中是字符流的形式,需要配置redistemplate, 如果不想配置,可以使用stringRedistemplate 可以使用string类型,但是…...
【5本可选】保证知网检索,现在投稿可在8月见刊,对文科领域友好
AEPH出版社旗下有5本学术期刊,专门出版自然科学、社会科学研究与教育领域论文的高影响力期刊,拥有正规ISSN号,出版类型涉及应用和理论方面的原创和未曾公开发表的研究论文,分配独立DOI号。 期刊1 Philosophy and Social Science…...
SpringBoot入门:如何新建SpringBoot项目(保姆级教程)
在本文中,我们将演示如何新建一个基本的 Spring Boot 项目。写这篇文章的时候我还是很惊讶的,因为我发现有些java的初学者,甚至工作10年的老员工居然并不会新建一个SpringBoot项目,所以特别出了一篇文章来教大家新建一个SpringBoo…...
数据恢复篇:适用于 Android 视频恢复的 6 个工具
在智能手机这个动态的世界里,每一刻都被捕捉并以数字方式存储,丢失珍贵的视频可能是一种令人心碎的经历。不必担心,因为 Android 生态系统提供了大量旨在挽救这些珍贵回忆的视频恢复应用程序。 这些应用程序是强大的工具,旨在挽救…...
Android笔试面试题AI答之控件Views(6)
答案来着文心一言,仅供参考 目录 1.简述什么是RemoteViews?使用场景有哪些?RemoteViews的特性使用场景总结 2.获取View宽高的几种方法?1. 在onWindowFocusChanged方法中获取2. 使用ViewTreeObserver.OnGlobalLayoutListener3. 使用ViewTreeObserver.OnPreDrawLi…...
扭蛋机潮玩小程序搭建,扭蛋机行业的创新
在当下潮玩市场中,扭蛋机具有盲盒的未知性和惊喜体验感,商品丰富,并且价格相对低廉,获得了极高的人气。年轻人开始对扭蛋机逐渐“上头”,为了扭到喜欢的商品不断地进行复购下单,在这场随机性的扭蛋游戏中&a…...
supOS赋能千行百业
推进制造业数字化转型是促进数字经济和实体经济深度融合的重点领域。在长期摸索和实践过程中,蓝卓打造了工厂操作系统、行业云操作系统、产业大脑操作系统三大产品,形成了企业侧、行业侧、产业侧的立体化赋能体系,全面赋能工业企业࿰…...
Vue中filter的使用
在 Vue.js 中,filter() 方法用于创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。filter() 不会改变原数组,而是返回一个新的数组。 语法 array.filter(callback(element[, index[, array]])[, thisArg])callback:…...
案例研究|柯尼卡美能达软件开发(大连)有限公司基于DataEase构筑内部数据可视化体系
柯尼卡美能达软件开发(大连)有限公司于2007年5月25日注册成立。公司以“洞悉在工作的人们真实情况,探寻他们的愿望,持续提供使人们更加幸福的服务”为使命,致力于系统品质测试服务、软件开发服务、IT安全服务、高级BPO…...
PHP框架详解- symfony框架
文心一言 Symfony框架是一个用PHP语言编写的开放源代码的Web应用框架,旨在加速Web应用程序的开发过程,提高代码的可维护性和可扩展性。以下是对Symfony框架的详细解析: 一、框架概述 起源与开发者: Symfony由SensioLabs&#…...
springboot系列十一:Thymeleaf
文章目录 官方文档基本介绍Thymeleaf机制说明Thymeleaf语法表达式运算符th属性迭代条件运算使用Thymeleaf th属性需要注意点 Thymeleaf综合案例需求说明思路分析代码实现 作业布置 官方文档 在线文档: https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html 离线…...
51单片机嵌入式开发:12、STC89C52RC 红外解码数码管显示
STC89C52RC 红外解码数码管显示 1 概述2 HX1838原理2.1 原理概述2.2 原理概述 3 HX1838代码实现3.1 工程整理3.2 工程代码3.3 演示 4 HX1838总结 1 概述 HX1838是一种常见的红外接收模块,用于接收和解码红外遥控器发送的红外信号。 HX1838具有以下特点和功能&#…...
数据结构--二叉树详解
一,概念 1,结点的度:一个结点含有子树的个数称为该结点的度 2, 树的度:一棵树中,所有结点度的最大值称为树的度; 3,叶子结点或终端结点:度为0的结点称为叶结点&#x…...
最短路径 | 743. 网络延迟时间之 Dijkstra 算法和 Floyd 算法
目录 1 基于 Dijkstra 算法1.1 代码说明1.2 完整代码 2 基于 Floyd 算法2.1 代码说明2.2 完整代码 前言:我在做「399. 除法求值」时,看到了基于 Floyd 算法的解决方案,突然想起来自己还没有做过最短路径相关的题。因此找来了「743. 网络…...
LLM模型与实践之基于 MindSpore 实现 BERT 对话情绪识别
安装环境 # 该案例在 mindnlp 0.3.1 版本完成适配,如果发现案例跑不通,可以指定mindnlp版本,执行!pip install mindnlp0.3.1 !pip install mindnlp 模型简介 BERT是一种由Google于2018年发布的新型语言模型,它是基于Transforme…...
单例模式学习cpp
现在我们要求定义一个表示总统的类型。presented可以从该类型继承出French present和American present的等类型。这些派生类型都只能产生一个实例 为了设计一个表示总统的类型,并从该类型派生出只能产生一个实例的具体总统(如法国总统和美国总统&#x…...
第5讲:Sysmac Studio中的硬件拓扑
Sysmac Studio软件概述 一、创建项目 在打开的软件中选择新建工程 然后在工程属性中输入工程名称,作者,类型选择“标准工程”即可。 在选择设备处,类型选择“控制器”。 在版本处,可以在NJ控制器的硬件右侧标签处找到这样一个版本号。 我们今天用到的是1.40,所以在软…...
使用GoAccess进行Web日志可视化
运行网站的挑战之一是了解您的 Web 服务器正在做什么。虽然各种监控应用程序可以在您的服务器以高负载或页面响应缓慢运行时提醒您,但要完全了解正在发生的事情,唯一的方法是查看 Web 日志。阅读日志数据页面并了解正在发生的事情可能需要花费大量时间。…...
GD 32 流水灯
前言: 通过后面的学习掌握了一些逻辑架构的知识,通过复习的方式将学到的裸机任务架构的知识运用起来,同时巩固前面学到的知识,GPIO的配置等。 开发板上LED引脚使用示意图 注:此次LED灯的点亮凡是是高电平点亮ÿ…...
数据结构之栈详解
1. 栈的概念以及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈…...
算法:BFS解决 FloodFill 算法
目录 FloodFill 算法 题目一:图像渲染 题目二:岛屿数量 题目三:岛屿的最大面积 题目四:被围绕的区域 FloodFill 算法 在递归搜索回溯中已经说到过 FloodFill 算法了,但是那里是用 dfs 解决的,这里会使…...
Python 中文双引号 “”
Python 中文双引号 “” 1. SyntaxError: invalid character in identifier2. CorrectionReferences 1. SyntaxError: invalid character in identifier print(Albert Einstein once said, “A person who never made a mistake never tried anything new.”) print(Albert Ei…...
以太网(Ethernet)
目录 1. What is Internet?1.1. What is Ethernet?2. TCP/IP3. Physical Layer(PHY)4. Data Link Layer4.1. MAC Sublayer5. Network Layer5.1. IP5.2. ARP6. Transport Layer6.1. UDP6.2. TCP7. Application LayerFPGA实现以太网(一)——以太网简介 网络与路由交换 菜鸟FP…...
Scrcpy adb server version (41) doesn‘t match this client (39); killing...
通过Snap 在Ubuntu上安装 scrcpy之后,启动会导致无法同时 scrcpy和adb logcat 过滤日志 目前最新的安装的platforms-tools下面的adb 版本最新都是 adb 41版本 解决办法: 在这里链接里面 下载 adb 1.0.39 版本,替换 /home/host/Android/Sdk/…...
如何做视频卖给网站/推蛙网络
网站编多了结果scanner忘了。。。记一下 import java.util.Scanner;public class Test{public static void main(String[] args){Scanner s new Scanner(System.in);int n s.nextInt(); s.close;System.out.println(n);} } nextInt,nextString等每次回车或者空格算一次…...
做网站有哪些好处/网站流量监控
在我维护的(遗留)代码中,人们正在使用WindowsError。我可以继续用OSError替换所有出现的情况,但是遗憾的是,winerror属性被使用了,令人高兴的是,只有三种情况下,即123:try:mtime int(os.path.g…...
专业的购物网站建设/网站设计与制作毕业论文范文
越过首页,登录之后就这个页面 首先在路由配置好 然后在登录页面进行判断账号...
有什么好的建站公司/百度竞价排名榜
很不幸我也没有躲过互联网的寒冬,在整体行业经济下滑的大背景下我也加入了投简历面试的大军。在前后面试的一个多月里我感觉自己真的是焦虑和恐慌,每天都茶饭不思。一连几天都是早晨只简单的吃点饭,然后一整天也不觉的饿。眼看着一份份的简历…...
网站交互行为/网站建设合同
如何进行数组的扁平化,比如:# 原始数组 array([[0, 1, 2],[3, 4, 5],[6,...