From b20d1c0644ba9e0031510d3bd775513564cf3cdb Mon Sep 17 00:00:00 2001 From: GaoangLiu Date: Thu, 19 Oct 2023 23:03:34 +0800 Subject: [PATCH] enrich(bp-propagation): add some formula --- _drafts/2023/bp_formula_derivation.md | 9 +++++++++ ...Background-propagation-formula-derivation.md | 9 +++++++++ add_whitespace | Bin 87746 -> 0 bytes assets/progress.json | 2 +- 4 files changed, 19 insertions(+), 1 deletion(-) delete mode 100755 add_whitespace diff --git a/_drafts/2023/bp_formula_derivation.md b/_drafts/2023/bp_formula_derivation.md index 82e577c..337736b 100644 --- a/_drafts/2023/bp_formula_derivation.md +++ b/_drafts/2023/bp_formula_derivation.md @@ -27,6 +27,15 @@ $$\theta = \theta - \eta \frac{\partial J}{\partial \theta}$$ 假定: - 输入层有 $n$ 个神经元,输出层有 $m$ 个神经元,隐藏层有 $h$ 个神经元。 - $x_i^1$ 表示输入的第 $i$ 个特征,$x^1$ 表示输入层的输入,$x^1 = [x_1^1, x_2^1, \cdots, x_n^1]$。 +- $y_i$ 表示输出层的第 $i$ 个输出,$y = [y_1, y_2, \cdots, y_m]$。 +- $w_{jk}^l$ 表示第 $l-1$ 层的第 $k$ 个神经元到第 $l$ 层的第 $j$ 个神经元的权重。 +- $b_j^l$ 表示第 $l$ 层的第 $j$ 个神经元的偏置。 +- $z_j^l$ 表示第 $l$ 层的第 $j$ 个神经元的输入,$z_j^l = \sum_{k=1}^{n} w_{jk}^l a_k^{l-1} + b_j^l$。 +- $a_j^l$ 表示第 $l$ 层的第 $j$ 个神经元的输出,$a_j^l = \sigma(z_j^l)$,其中 $\sigma$ 表示激活函数。 + +为方便起见,用均值平方误差(Mean Squared Error,MSE)作为损失函数,即: $J = \frac{1}{2 \times m} \sum_{i=1}^{m} (y_i - a_i^l)^2$,用 Sigmod 作为激活函数。 + + refer: https://martinlwx.github.io/zh-cn/backpropagation-tutorial/ diff --git a/_posts/2023/2023-01-02-Background-propagation-formula-derivation.md b/_posts/2023/2023-01-02-Background-propagation-formula-derivation.md index dc41d3d..3af26c4 100644 --- a/_posts/2023/2023-01-02-Background-propagation-formula-derivation.md +++ b/_posts/2023/2023-01-02-Background-propagation-formula-derivation.md @@ -33,6 +33,15 @@ $$\theta = \theta - \eta \frac{\partial J}{\partial \theta}$$ 假定: - 输入层有 $$n$$ 个神经元,输出层有 $$m$$ 个神经元,隐藏层有 $$h$$ 个神经元。 - $$x_i^1$$ 表示输入的第 $$i$$ 个特征,$$x^1$$ 表示输入层的输入,$$x^1 = [x_1^1, x_2^1, \cdots, x_n^1]$$。 +- $$y_i$$ 表示输出层的第 $$i$$ 个输出,$$y = [y_1, y_2, \cdots, y_m]$$。 +- $$w_{jk}^l$$ 表示第 $$l-1$$ 层的第 $$k$$ 个神经元到第 $$l$$ 层的第 $$j$$ 个神经元的权重。 +- $$b_j^l$$ 表示第 $$l$$ 层的第 $$j$$ 个神经元的偏置。 +- $$z_j^l$$ 表示第 $$l$$ 层的第 $$j$$ 个神经元的输入,$$z_j^l = \sum_{k=1}^{n} w_{jk}^l a_k^{l-1} + b_j^l$$。 +- $$a_j^l$$ 表示第 $$l$$ 层的第 $$j$$ 个神经元的输出,$$a_j^l = \sigma(z_j^l)$$,其中 $$\sigma$$ 表示激活函数。 + +为方便起见,用均值平方误差(Mean Squared Error,MSE)作为损失函数,即: $$J = \frac{1}{2 \times m} \sum_{i=1}^{m} (y_i - a_i^l)^2$$,用 Sigmod 作为激活函数。 + + refer: https://martinlwx.github.io/zh-cn/backpropagation-tutorial/ diff --git a/add_whitespace b/add_whitespace deleted file mode 100755 index f8165c238c4a25b8fe85688dbfab23e5fcc2afcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87746 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 diff --git a/assets/progress.json b/assets/progress.json index 6cf76d2..c1eefc7 100644 --- a/assets/progress.json +++ b/assets/progress.json @@ -373,6 +373,6 @@ ], [ "2023-10-19", - 284 + 389 ] ] \ No newline at end of file