Probabilistic Machine Learning:Introduction 概率机器学习:简介- 2 概率:一元模型(1)-page61~74/858,2.1简介和2.2随机变量

2.1 简介
在本章中,我们简要介绍概率论的基础知识。有许多更详细的好书,例如 [GS97; BT08; Cha21]。
2.1.1 什么是概率?
概率论不过是常识化为计算。 — Pierre Laplace,1812
我们都习惯性地说,抛一枚(公平的)硬币正面朝上的概率是50%。但这是什么意思呢?实际上,对概率有两种不同的解释。一种被称为频率主义解释。在这个观点中,概率表示可以多次发生的事件的长期频率。例如,上面的说法意味着,如果我们多次抛硬币,我们期望它正面朝上的次数大约是一半。1
另一种解释被称为贝叶斯概率解释。在这个观点中,概率用来量化我们对某事的不确定性或无知;因此,它与信息而不是重复试验基本相关 [Jay03; Lin06]。在贝叶斯观点中,上面的说法意味着我们认为硬币在下一次抛掷时正反面出现的可能性相等。
贝叶斯解释的一个重要优势是,它可以用来对不具有长期频率的一次性事件的不确定性进行建模。例如,我们可能想计算到2030年极地冰盖融化的概率。这个事件将发生零次或一次,但不能重复发生。尽管如此,我们应该能够量化对这一事件的不确定性;基于我们认为这一事件有多大可能性,我们可以决定如何采取最佳行动,如第5章所讨论的。因此,在本书中我们将采用贝叶斯解释。
幸运的是,无论采用哪种解释,概率论的基本规则都是相同的。
2.1.2 不确定性的类型
我们的预测中的不确定性可能有两个根本不同的原因。第一个原因是由于我们对生成数据的潜在隐含原因或机制的无知。这被称为认识论不确定性,因为认识论是用来描述知识研究的哲学术语。然而,这的一个更简单的术语是模型不确定性。第二种不确定性来自固有变异性,即使我们收集更多数据也无法减少。这有时被称为aleatoric不确定性[Hac75; KD09],源自拉丁语中“骰子”的词,尽管一个更简单的术语可能是数据不确定性。作为一个具体的例子,考虑抛掷一枚公平的硬币。我们可能确切地知道正面朝上的概率是 p = 0.5,因此没有认识论不确定性,但我们仍然无法完全预测结果。
这种区别对于主动学习等应用可能很重要。典型的策略是查询 H(p(y|x, D)) 大的示例(其中 H§ 是熵,见第6.1节)。然而,这可能是由于对参数的不确定性,即大的 H(p(θ|D)),或仅仅是由于结果的固有可变性,对应于 p(y|x, θ) 的大熵。在后一种情况下,收集更多样本将没有多大用处,因为我们的不确定性不会减少。有关此观点的进一步讨论,请参见 [Osb16]。

2.1.3 概率作为逻辑的扩展
在本节中,我们按照 [Jay03] 的介绍,将概率视为布尔逻辑的扩展,回顾概率的基本规则。
2.1.3.1 事件的概率
我们将事件表示为二元变量 A,它是世界某种状态的发生或不发生。例如,A 可能是事件“明天会下雨”,或“昨天下雨了”,或“标签是 y = 1”,或“参数 θ 在 1.5 到 2.0 之间”等。表达式 Pr(A) 表示您相信事件 A 为真的概率(或 A 将发生的长期比例)。我们要求 0 ≤ Pr(A) ≤ 1,其中 Pr(A) = 0 表示事件绝对不会发生,而 Pr(A) = 1 表示事件绝对会发生。我们写 Pr(A) 表示事件 A 不发生的概率;定义为 Pr(A) = 1 − Pr(A)。
2.1.3.2 两个事件的联合概率
我们将事件 A 和 B 同时发生的联合概率表示为:
Pr(A ∧ B) = Pr(A, B) (2.1)
如果 A 和 B 是独立事件,我们有
Pr(A, B) = Pr(A) Pr(B) (2.2)
例如,假设 X 和 Y 从集合 X = {1, 2, 3, 4} 中均匀随机选择。设 A 是事件 X ∈ {1, 2},B 是事件 Y ∈ {3}。那么我们有 Pr(A, B) = Pr(A) Pr(B) = 1/2·1/4。
2.1.3.3 两个事件的并的概率
事件 A 或 B 发生的概率由以下公式给出:
Pr(A ∨ B) = Pr(A) + Pr(B) − Pr(A ∧ B) (2.3)

如果事件是互斥的(因此它们不能同时发生),我们有
[ \Pr(A \cup B) = \Pr(A) + \Pr(B) ] (2.4)
例如,假设 X 从集合 ( X = {1, 2, 3, 4} ) 中均匀随机选择。设 A 是事件 ( X \in {1, 2} ),B 是事件 ( X \in {3} )。那么我们有 ( \Pr(A \cup B) = \frac{2}{4} + \frac{1}{4} )。
2.1.3.4 给定另一个事件的条件概率
我们定义在事件 A 发生的条件下事件 B 发生的条件概率如下:
[ \Pr(B|A) = \frac{\Pr(A, B)}{\Pr(A)} ] (2.5)
如果 ( \Pr(A) = 0 ),则此值未定义,因为我们不能对不可能发生的事件进行条件推断。
2.1.3.5 事件的独立性
如果
[ \Pr(A, B) = \Pr(A) \Pr(B) ] (2.6)
我们说事件 A 独立于事件 B。
2.1.3.6 事件的条件独立性
如果
[ \Pr(A, B|C) = \Pr(A|C) \Pr(B|C) ] (2.7)
我们说在给定事件 C 的条件下,事件 A 和 B 是条件独立的。这表示为 ( A \perp B|C )。事件通常彼此依赖,但如果我们以相关的中间变量为条件,它们可能变得独立,我们将在本章后面更详细地讨论这一点。
2.2 随机变量
假设 X 代表某个未知的感兴趣的数量,例如当我们掷骰子时它会掷到哪一面,或者你家外面当前的温度。如果 X 的值是未知的和/或可能会变化的,我们称其为随机变量(random variable 或 rv)。可能的值的集合,表示为 X ,称为样本空间或状态空间。事件是来自给定样本空间的一组结果。例如,如果 X 表示掷骰子的面,因此 ( X = {1, 2, …, 6} ),则“看到 1”的事件表示为 ( X = 1 ),“看到奇数”表示为 ( X \in {1, 3, 5} ),“看到 1 到 3 之间的数字”表示为 ( 1 \leq X \leq 3 ),等等。
2.2.1 离散随机变量
如果样本空间 X 是有限或可数无限的,则 X 被称为离散随机变量。在这种情况下,我们用 ( \Pr(X = x) ) 表示 X 取值为 x 的概率。我们定义了
概率质量函数(probability mass function 或 pmf)是一个函数,计算与将随机变量设置为每个可能值相对应的事件的概率:
[ p(x) \equiv \Pr(X = x) ] (2.8)
pmf 满足性质 (0 \leq p(x) \leq 1) 和 ( \sum_{x \in X} p(x) = 1)。
如果 X 有有限数量的值,比如 K,pmf 可以表示为一个包含 K 个数字的列表,我们可以将其绘制为直方图。例如,图2.1显示了在 (X = {1, 2, 3, 4}) 上定义的两个 pmf。在左边,我们有均匀分布,(p(x) = \frac{1}{4}),在右边,我们有退化分布,(p(x) = I(x = 1)),其中 I() 是二进制指示函数。因此,图2.1(b) 中的分布表示 X 总是等于值 1。 (因此我们看到随机变量也可以是常数。)
2.2.2 连续随机变量
如果 X ∈ R 是一个实值数量,它被称为连续随机变量。在这种情况下,我们不能创建一个 X 可以取的有限(或可数)一组不同的可能值。但是,我们可以将实线划分为可数个间隔。如果我们将事件与 X 在这些间隔中的每一个关联起来,我们可以使用上面对于离散随机变量的讨论方法。简而言之,我们可以通过允许间隔的大小收缩为零来表示 X 取特定实值的概率,如下所示。
2.2.2.1 累积分布函数(cdf)
定义事件 A = (X ≤ a),B = (X ≤ b) 和 C = (a < X ≤ b),其中 (a < b)。我们有 (B = A \cup C),由于 A 和 C 是互斥的,和法则给出
[\Pr(B) = \Pr(A) + \Pr© ] (2.9)
因此,落在间隔 C 中的概率由以下公式给出:
[\Pr© = \Pr(B) - \Pr(A) ] (2.10)

在这里插入图片描述
图2.1:状态空间 (X = {1, 2, 3, 4}) 上的一些离散分布。 (a) 均匀分布,其中 (p(x = k) = \frac{1}{4})。 (b) 一个将其全部质量放在 (x = 1) 上的退化分布(δ函数)。由 discrete_prob_dist_plot.ipynb 生成。

在这里插入图片描述

图2.2:(a) 标准正态分布 (N(0, 1)) 的累积分布函数 (cdf) 绘图。由 gauss_plot.ipynb 生成。 (b) 相应的概率密度函数 (pdf)。阴影区域各包含概率质量的 (\frac{\alpha}{2})。因此,非阴影区域包含概率质量的 (1 - \alpha)。最左侧的截断点是 (\Phi^{-1}(\frac{\alpha}{2})),其中 (\Phi) 是高斯分布的累积分布函数。由对称性,最右侧的截断点是 (\Phi^{-1}(1 - \frac{\alpha}{2}) = -\Phi^{-1}(\frac{\alpha}{2}))。由 quantile_plot.ipynb 生成。

通常,我们定义随机变量 (X) 的累积分布函数(cdf)如下:
[ P(x) = \Pr(X \leq x) ]
(请注意,我们使用大写 P 来表示累积分布函数)。利用这个定义,我们可以计算处于任何区间内的概率,如下所示:
[ \Pr(a < X \leq b) = P(b) - P(a) ]
Cdf 是单调非减函数。请参见图2.2a,其中我们展示了标准正态分布 (N(x|0, 1)) 的累积分布函数示例;详见第2.6节。

2.2.2.2 概率密度函数(pdf)
我们将概率密度函数定义为累积分布函数的导数:
[ p(x) = \frac{d}{dx}P(x) ]
(请注意,这个导数并不总是存在,如果不存在,则概率密度函数未定义。)请参见图2.2b,其中我们展示了一元高斯分布的概率密度函数示例(详见第2.6节)。
给定一个概率密度函数,我们可以计算连续变量在有限区间内的概率,如下所示:
[ \Pr(a < X \leq b) = \int_a^b p(x)dx = P(b) - P(a) ]
当区间的大小变得更小时,我们可以写成
[ \Pr(x < X \leq x + dx) \approx p(x)dx ]
直观地说,这表示 (X) 在 (x) 附近的一个小区间内的概率是该点的密度乘以区间的宽度。

2.2.2.3 分位数
如果累积分布函数 (P) 严格单调递增,它就有一个反函数,称为反累积分布函数,或百分点函数(ppf),或分位数函数。
如果 (P) 是 (X) 的累积分布函数,那么 (P^{-1}(q)) 是值 (x_q),使得 (\Pr(X \leq x_q) = q);这被称为 (P) 的第 (q) 分位数。值 (P^{-1}(0.5)) 是分布的中位数,左侧和右侧各占一半的概率质量。值 (P^{-1}(0.25)) 和 (P^{-1}(0.75)) 分别是下四分位数和上四分位数。
例如,设 (Φ) 是高斯分布 (N(0, 1)) 的累积分布函数,(Φ^{-1}) 是反累积分布函数。那么,位于 (Φ^{-1}(α/2)) 左侧的点包含概率质量的 (α/2),如图2.2b所示。通过对称性,位于 (Φ^{-1}(1 - α/2)) 右侧的点也包含 (α/2) 的质量。因此,中心区间 ((Φ^{-1}(α/2), Φ^{-1}(1 - α/2))) 包含质量的 (1 - α)。如果我们设置 (α = 0.05),中心的95%区间由范围 ((Φ^{-1}(0.025), Φ^{-1}(0.975)) = (-1.96, 1.96)) 覆盖。
如果分布是 (N(µ, σ^2)),则95%区间变为 ((µ - 1.96σ, µ + 1.96σ))。这通常近似为写作 (µ ± 2σ)。

2.2.3 一组相关随机变量
在本节中,我们讨论与一组相关随机变量相关的分布。
首先,假设我们有两个随机变量 (X) 和 (Y)。我们可以使用 (p(x, y) = p(X = x, Y = y)) 定义两个随机变量的联合分布,其中 (X) 和 (Y) 的所有可能值都适用。如果两个变量都具有有限的基数,我们可以将联合分布表示为一个所有条目之和为1的二维表。例如,考虑以下具有两个二进制变量的示例:
[ \begin{array}{ccc} p(X, Y) & Y = 0 & Y = 1 \ X = 0 & 0.2 & 0.3 \ X = 1 & 0.3 & 0.2 \end{array} ]
如果两个变量是独立的,我们可以将联合分布表示为两个边际的乘积。如果两个变量都具有有限的基数,我们可以将二维联合表分解为两个一维向量的乘积,如图2.3所示。
给定一个联合分布,我们如下定义一个随机变量的边际分布:
[ p(X = x) = \sum_y p(X = x, Y = y) ]
其中我们对 (Y) 的所有可能状态求和。这有时被称为求和规则或总概率规则。我们类似地定义 (p(Y = y))。例如,从上述二维表中,我们看到 (p(X = 0) = 0.2 + 0.3 = 0.5) 和 (p(Y = 0) = 0.2 + 0.3 = 0.5)。 (术语“边际”来自会计实践,即在表的一侧或边际上写入行和列的总和。)
我们使用以下方式定义随机变量的条件分布:
[ p(Y = y|X = x) = \frac{p(X = x, Y = y)}{p(X = x)} ]
我们可以重新排列这个方程得到
[ p(x, y) = p(x)p(y|x) ]

在这里插入图片描述
图2.3:计算 (p(x, y) = p(x)p(y)),其中 (X ⊥ Y)。这里 (X) 和 (Y) 是离散随机变量;(X) 有6个可能的状态(值),而 (Y) 有5个可能的状态。两个这样变量上的一般联合分布需要(6 × 5) - 1 = 29个参数来定义它(我们减去1是因为有总和为1的约束)。通过假设(无条件的)独立性,我们只需要(6 - 1) + (5 - 1) = 9个参数来定义 (p(x, y))。

这被称为乘法规则。通过将乘法规则扩展到D个变量,我们得到了概率的链式法则:

[ p(x_{1:D}) = p(x_1) \cdot p(x_2 | x_1) \cdot p(x_3 | x_1, x_2) \cdot p(x_4 | x_1, x_2, x_3) \cdots p(x_D | x_{1:D-1}) ]

这提供了一种从一组条件分布创建高维联合分布的方法。我们在第3.6节中会更详细地讨论这一点。

2.2.4 独立性和条件独立性
如果我们可以将联合分布表示为两个边缘分布的乘积(参见图2.3),即

[ X \perp Y \Leftrightarrow p(X, Y) = p(X)p(Y) ]

则我们说X和Y在无条件下是独立的或边缘独立的。

一般来说,如果联合分布对于所有子集({X_1, …, X_m} \subseteq {X_1, …, X_n})都可以写成边缘的乘积,则我们说一组变量(X_1, …, X_n)是(相互)独立的,即

[ p(X_1, …, X_m) = \prod_{i=1}^{m} p(X_i) ]

例如,我们说(X_1, X_2, X_3)在以下条件下是相互独立的:[ p(X_1, X_2, X_3) = p(X_1)p(X_2)p(X_3), p(X_1, X_2) = p(X_1)p(X_2), p(X_2, X_3) = p(X_2)p(X_3), \text{和} p(X_1, X_3) = p(X_1)p(X_3) \。

不幸的是,无条件独立性是罕见的,因为大多数变量可以影响大多数其他变量。但是,通常这种影响是通过其他变量中介而不是直接的。因此,我们说在给定Z的情况下,X和Y是条件独立的,如果条件联合分布可以写成条件边缘的乘积:

[ X \perp Y | Z \Leftrightarrow p(X, Y | Z) = p(X | Z) p(Y | Z) ]

我们可以将这个假设表示为一个图 (X - Z - Y),它捕捉了所有 (X) 和 (Y) 之间的依赖关系都通过 (Z) 中介的直观理解。通过使用更大的图,我们可以定义复杂的联合分布;这些被称为图模型,并在第3.6节中讨论。

2.2.5 分布的矩
在这一部分,我们描述可以从概率分布(pdf或pmf)中推导出的各种摘要统计量。

2.2.5.1 分布的均值
分布最熟悉的属性是其均值或期望值,通常用符号 (\mu) 表示。对于连续随机变量,均值定义如下:

[ E[X] = \int_{X} x p(x)dx ]

如果积分不是有限的,那么均值是没有定义的;我们稍后将看到一些这方面的例子。对于离散随机变量,均值定义如下:

[ E[X] = \sum_{x \in X} x p(x) ]

但是,只有在某种方式对 (x) 的值进行排序的情况下(例如,如果它们表示整数计数),这才是有意义的。

由于均值是一个线性算子,我们有:

[ E[aX + b] = aE[X] + b ]

这被称为期望的线性性质。对于一组 (n) 个随机变量,可以证明它们的和的期望如下:

[ E\left[\sum_{i=1}^{n} X_i\right] = \sum_{i=1}^{n} E[X_i] ]

如果它们是独立的,它们的乘积的期望为:

[ E\left[\prod_{i=1}^{n} X_i\right] = \prod_{i=1}^{n} E[X_i] ]

2.2.5.2 分布的方差
方差是分布“扩展”的度量,通常用符号 (\sigma^2) 表示。它的定义如下:

[ V[X] = E \left( X - \mu \right)^2 = \int \left( x - \mu \right)^2 p(x)dx ]

[ = \int x^2 p(x)dx + \mu^2 \int p(x)dx - 2\mu \int xp(x)dx = E[X^2] - \mu^2 ]

其中,(\mu) 是均值。

从中我们得到一个有用的结果:

[ E[X^2] = \sigma^2 + \mu^2 ]

标准差定义为:

[ \text{std}[X] = \sqrt{V[X]} = \sigma ]

这很有用,因为它与 (X) 本身具有相同的单位。

随机变量的平移和缩放版本的方差由以下公式给出:

[ V[aX + b] = a^2 V[X] ]

如果我们有一组 (n) 个独立的随机变量,它们的和的方差由它们的方差之和给出:

[ V\left(\sum_{i=1}^{n} X_i\right) = \sum_{i=1}^{n} V[X_i] ]

它们的乘积的方差也可以推导出来:

[ V\left(\prod_{i=1}^{n} X_i\right) = \prod_{i=1}^{n} (\sigma_i^2 + \mu_i^2) - \prod_{i=1}^{n} \mu_i^2 ]

2.2.5.3 分布的众数
分布的众数是具有最高概率质量或概率密度的值:

[ x^* = \arg \max_x p(x) ]

如果分布是多峰的,这可能不是唯一的,如图2.4所示。此外,即使有一个唯一的众数,这个点可能不是分布的良好摘要。

2.2.5.4 条件矩
当我们有两个或更多相关的随机变量时,我们可以在给定其中一个的情况下计算另一个的矩。例如,迭代期望定理,也称为总体期望定理,告诉我们:

[ E[X] = E_Y[E[X|Y]] ]

在这里插入图片描述
Figure 2.4: 两个一维高斯分布的混合的示例,其中 ( p(x) = 0.5N(x|0, 0.5) + 0.5N(x|2, 0.5) )。生成自 bimodal_dist_plot.ipynb。

为了证明这一点,让我们假设,为了简单起见,X和Y都是离散随机变量。那么我们有:

[ E_Y[E[X|Y]] = E_Y \left[ \sum_{x} x \cdot p(X=x|Y) \right] ]

[ = \sum_{y} \sum_{x} x \cdot p(X=x|Y=y) \cdot p(Y=y) ]

[ = \sum_{x,y} x \cdot p(X=x, Y=y) = E[X] ]

为了更直观地解释这一点,考虑以下简单的例子。假设X是一只灯泡的寿命,Y是生产该灯泡的工厂。假设 (E[X|Y=1] = 5000) 并且 (E[X|Y=2] = 4000),表示工厂1生产的灯泡寿命更长。假设工厂1供应60%的灯泡,因此 (p(Y=1) = 0.6) 并且 (p(Y=2) = 0.4)。那么随机灯泡的预期寿命为:

[ E[X] = E[X|Y=1] \cdot p(Y=1) + E[X|Y=2] \cdot p(Y=2) = 5000 \times 0.6 + 4000 \times 0.4 = 4600 ]

方差也有类似的公式。特别是总方差定理,也称为条件方差公式,告诉我们:

[ V[X] = E_Y[V[X|Y]] + V_Y[E[X|Y]] ]

为了证明这一点,我们定义条件矩 ( \mu_{X|Y} = E[X|Y] ), ( s_{X|Y} = E[X^2|Y] ) 和 ( \sigma_{X|Y}^2 = V[X|Y] = s_{X|Y} - \mu_{X|Y}^2 ),它们是Y的函数(因此是随机量)。然后我们有:

[ V[X] = E[X^2] - (E[X])^2 = E_Y[s_{X|Y}] - E_Y[\mu_{X|Y}]^2 ]

为了对这些公式有一些直观理解,考虑一个包含K个一元高斯分布的混合分布。设Y是一个隐藏的指示变量,指定我们使用的混合分量,令 (X = \sum_{y=1}^{K} \pi_y N(X | \mu_y, \sigma_y))。在图2.4中,我们有 ( \pi_1 = \pi_2 = 0.5, \mu_1 = 0, \mu_2 = 2, \sigma_1 = \sigma_2 = 0.5)。因此:

[ E[V[X|Y]] = \pi_1 \sigma_1^2 + \pi_2 \sigma_2^2 = 0.25 ]

[ V[E[X|Y]] = \pi_1 (\mu_1 - \mu)^2 + \pi_2 (\mu_2 - \mu)^2 = 0.5(0 - 1)^2 + 0.5(2 - 1)^2 = 0.5 + 0.5 = 1 ]

因此,我们得到一个直观的结果,即X的方差主要取决于它是从哪个中心点绘制的(即,均值之间的差异),而不是每个中心点周围的局部方差。

在这里插入图片描述
图2.5:安斯库姆四重奏的示例。所有这些数据集具有相同的低阶摘要统计信息。由 anscombes_quartet.ipynb 生成。

2.2.6 摘要统计的局限性*

尽管通常使用简单的统计量(例如均值和方差)来总结概率分布(或从分布中抽取的点),但这样做可能会丢失大量信息。一个引人注目的例子是安斯库姆的四重奏[Ans73],如图2.5所示。它展示了四个不同的数据集,每个数据集都包含(x,y)对,它们的均值、方差和相关系数 ρ(在第3.1.2节中定义)都是相同的:E [x] = 9,V [x] = 11,E [y] = 7.50,V [y] = 4.12,ρ = 0.816。4 然而,这些点的抽样联合分布 p(x, y) 显然是非常不同的。安斯库姆发明了这些数据集,每个数据集包含10个数据点,以反驳统计学家对数值摘要优于数据可视化的印象[Ans73]。

这种现象的更引人注目的例子是在图2.6中展示的。它包含一个看起来像是一只恐龙的数据集5,以及其他11个数据集,所有这些数据集的低阶统计量都是相同的。这组数据集被称为“Datasaurus Dozen”[MF17]。(x,y)点的确切值可在网上找到6。它们是使用模拟退火计算的,这是一种我们将在本书后续部分中讨论的无导数优化方法[Mur23]。(目标函数包括一种与恐龙形状相似的噪声项)。

被优化的函数测量与原始恐龙目标摘要统计信息的偏差,以及与特定目标形状的距离。(目标函数包括一种与恐龙形状相似的噪声项。)

同样的模拟退火方法可以应用于1D数据集,如图2.7所示。我们可以看到所有的数据集都是相当不同的,但它们的中值和四分位距都相同,正如中间的箱线图的阴影部分所示。更好的可视化称为小提琴图,如右图所示。它在垂直轴上显示了分布的(两份)1D核密度估计(第16.3节),以及中位数和IQR标记。这种可视化更能够区分分布之间的差异。然而,这种技术仅限于1D数据。
在这里插入图片描述
图2.6:Datasaurus十二的示意图。所有这些数据集都具有相同的低阶摘要统计信息。改编自[MF17]的图1。由datasaurus_dozen.ipynb生成。

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王知为

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值