From d90db29aeb0b3fb44397c32e9df434b51204e5fa Mon Sep 17 00:00:00 2001 From: 15317203520 <> Date: Tue, 30 Apr 2019 01:05:59 +0800 Subject: [PATCH] Site updated: 2019-04-30 01:05:59 --- .../index.html" | 4 +- EM-Algorithm/index.html | 45 ++++++++++------ .../fig1.png | Bin 0 -> 67690 bytes .../index.html | 50 ++++++++++++++++++ .../index.html | 4 +- .../index.html" | 4 +- Messeage/index.html | 2 +- .../index.html" | 4 +- .../index.html | 4 +- .../index.html | 4 +- .../index.html | 4 +- .../index.html | 4 +- .../index.html | 4 +- .../index.html | 4 +- .../index.html | 4 +- .../index.html | 4 +- .../index.html | 4 +- about/index.html | 2 +- archives/2017/07/index.html | 2 +- archives/2017/10/index.html | 2 +- archives/2017/index.html | 2 +- archives/2018/05/index.html | 2 +- archives/2018/06/index.html | 2 +- archives/2018/10/index.html | 2 +- archives/2018/11/index.html | 2 +- archives/2018/12/index.html | 2 +- archives/2018/index.html | 2 +- archives/2018/page/2/index.html | 2 +- archives/2019/01/index.html | 2 +- archives/2019/04/index.html | 1 + archives/2019/index.html | 2 +- archives/index.html | 2 +- archives/page/2/index.html | 2 +- archives/page/3/index.html | 2 +- baidu_verify_IAmPtENQzv.html | 2 +- baidusitemap.xml | 17 ++++++ google9ac2c2824710541a.html | 2 +- guestbook/index.html | 2 +- index.html | 2 +- mongodb-import-complex-txt/index.html | 4 +- .../index.html" | 4 +- .../index.html" | 4 +- .../index.html" | 4 +- page/2/index.html | 2 +- page/3/index.html | 2 +- .../index.html" | 4 +- python-and-opencv-basics/index.html | 4 +- sitemap.xml | 7 +++ tags/DL/index.html | 2 +- tags/DM/index.html | 2 +- tags/ML/index.html | 2 +- tags/Math/index.html | 2 +- tags/Util/index.html | 2 +- tags/cv/index.html | 2 +- tags/gluon/index.html | 2 +- tags/gnn-papers/index.html | 1 + tags/installation/index.html | 2 +- tags/ml-algo/index.html | 2 +- tags/mongodb/index.html | 2 +- tags/mxnet/index.html | 2 +- tags/pyqt/index.html | 2 +- tags/python/index.html | 2 +- tags/rl-papers/index.html | 2 +- .../index.html" | 2 +- .../index.html" | 4 +- .../index.html" | 4 +- .../index.html" | 4 +- .../index.html" | 4 +- 68 files changed, 188 insertions(+), 101 deletions(-) create mode 100644 Hypergraph-Convolution-and-Hyper-Attention/fig1.png create mode 100644 Hypergraph-Convolution-and-Hyper-Attention/index.html create mode 100644 archives/2019/04/index.html create mode 100644 tags/gnn-papers/index.html diff --git "a/DL\345\210\235\347\272\247\346\225\260\345\255\246\345\237\272\347\241\200/index.html" "b/DL\345\210\235\347\272\247\346\225\260\345\255\246\345\237\272\347\241\200/index.html" index e17dca6..bdca5de 100644 --- "a/DL\345\210\235\347\272\247\346\225\260\345\255\246\345\237\272\347\241\200/index.html" +++ "b/DL\345\210\235\347\272\247\346\225\260\345\255\246\345\237\272\347\241\200/index.html" @@ -49,7 +49,7 @@

概率论

优化理论

由于这方面内容确实很多,这里就强推一波 凸优化 (美) 鲍德 (Stephen Boyd) 这本书好了,上学期的凸优化主要也是使用的这本书,感觉是这方面入门比较友善的一本书了。

这方面具体以后应该会根据优化方法详细来写,Mark,之后再填好了。

-Share
MathDL
使用迅雷下载百度云中的文件
Share
MathDL
使用迅雷下载百度云中的文件
\ No newline at end of file diff --git a/EM-Algorithm/index.html b/EM-Algorithm/index.html index ce3cac4..577285d 100644 --- a/EM-Algorithm/index.html +++ b/EM-Algorithm/index.html @@ -1,29 +1,40 @@ -EM Algorithm | Welcome To Oa

EM Algorithm

Abstract

EM is an algorithm that enables parameter estimation in probabilistic models with incomplete data.

-

Introduction

Background

    -
  • maximum-likelihood estimation(MLE): $argmax\theta L(\theta)=argmax\theta \prod_{i=1}^n p(x_i;\theta_i)$
  • +EM Algorithm | Welcome To Oa

    EM Algorithm

    Abstract

    +

    EM is an algorithm that enables parameter estimation in probabilistic models with incomplete data.

    +

    Introduction

    +

    Background

    +
      +
    • maximum-likelihood estimation(MLE): $argmax_\theta L(\theta)=argmax_\theta \prod_{i=1}^n p(x_i;\theta_i)$
    • Jesen-inequality: for a concave function f(x), $f(E(x))>=E(f(x))$;equal when x is a constant
    • -
    • GMM:$ p ( \mathrm { x } ) = \sum { i = 1 } ^ { k } w { i } N { i } \left( \mathrm { x } ; \mu { i } , \Sigma { i } \right )$ s.t. $\sum { i = 1 } ^ { k } w _ { i } = 1$
    • +
    • GMM:$ p ( \mathrm { x } ) = \sum _ { i = 1 } ^ { k } w _ { i } N _ { i } \left( \mathrm { x } ; \mu _ { i } , \Sigma _ { i } \right )$ s.t. $\sum _ { i = 1 } ^ { k } w _ { i } = 1$
    -

    Problem Settings

    We have a distribution $p(x;\theta)$, then sample from it, get ($x_i,z_i$);$x$ is observable variable, while $y$ is hidden variable which can not be observed.Our task is estimating the $\theta$ from samples ${x_i}$.Use MLE construct log-likelihood function:

    -

    But the problem is we cannot observe hidden variable $z_i$.

    -

    Algorithm

    If $z_i \thicksim Q_i$, then

    -

    Then,

    -

    So we get the lower bound of log-likelihood function which can be easily diffrentiated.This means we can maxmize the lower bound easily.

    -

    Details

    while $\Delta >\epsilon${

    -
    # E-Step
    +

    Problem Settings

    +

    We have a distribution $p(x;\theta)$, then sample from it, get ($x_i,z_i$);$x$ is observable variable, while $y$ is hidden variable which can not be observed.Our task is estimating the $\theta$ from samples ${x_i}$.Use MLE construct log-likelihood function: +$$\begin{aligned} L ( \boldsymbol { \theta } ) & = \sum _ { i = 1 } ^ { 1 } \ln p \left( \mathbf { x } _ { i } ; \boldsymbol { \theta } \right ) \ & = \sum _ { i = 1 } ^ { 1 } \ln \sum _ { z } p \left( \mathbf { x } _ { i } , z _ { i } ; \boldsymbol { \theta } \right ) \end{aligned}$$ +But the problem is we cannot observe hidden variable $z_i$.

    +

    Algorithm

    +

    If $z_i \thicksim Q_i$, then +$$\begin{array} { l } { \sum _ { z } p ( z ) = 1 } \ { p ( z ) \geq 0 } \end{array}$$

    +

    Then, +$$\begin{aligned} \sum _ { i = 1 } ^ { l } \ln p \left( \mathbf { x } _ { i } ; \mathbf { \theta } \right ) = & \sum _ { i = 1 } ^ { l } \ln \sum _ { z _ { i } } p \left( \mathbf { x } _ { i } , z _ { i } ; \boldsymbol { \theta } \right ) \ & = \sum _ { i = 1 } ^ { l } \ln \sum _ { z _ { i } } Q _ { i } \left( z _ { i } \right ) \frac { p \left( \mathbf { x } _ { i } , z _ { i } ; \boldsymbol { \theta } \right ) } { Q _ { i } \left( z _ { i } \right ) } \ & \geq \sum _ { i = 1 } ^ { l } \sum _ { z _ { i } } Q _ { i } \left( z _ { i } \right ) \ln \frac { p \left( \mathbf { x } _ { i } , z _ { i } ; \boldsymbol { \theta } \right ) } { Q _ { i } \left( z _ { i } \right ) } \end{aligned}$$

    +

    So we get the lower bound of log-likelihood function which can be easily diffrentiated.This means we can maxmize the lower bound easily.

    +

    Details

    +

    while $\Delta >\epsilon${ +# E-Step $Q _ { i } \left( z _ { i } \right ) = p \left( z _ { i } | \mathrm { x } _ { i } ; \boldsymbol { \theta } \right )=\frac { p \left( \mathbf { x } _ { i } , z _ { i } ; \boldsymbol { \theta } \right ) } { \sum _ { z } p \left( \mathbf { x } _ { i } , z ; \mathbf { \theta } \right ) }$ # M-Step $L(\theta)=\sum _ { i } \sum _ { z _ { i } } Q _ { i } \left( z _ { i } \right ) \ln \frac { p \left( \mathbf { x } _ { i } , z _ { i } ; \theta \right ) } { Q _ { i } \left( z _ { i } \right ) }$ $\theta^{t+1} = \arg \max _ { \theta }L(\theta)$ $\Delta= L(\theta^{t+1})-L(\theta^t)$ -

    }

    -

    Coin-filpping experiment

    +}

    +

    Coin-filpping experiment

    +

    Fristly, we assign $\theta_A$ and $\theta_B$, then calculate the hidden variable distribution based on $\theta_A$, $theta_B$ and the samples.After that we maximize the lower bound of log-likelihood function, get new $\theta_A$ and $\theta_B$. After 10 runs, $\theta_A=0.80$ and $\theta_B=0.58$

    -

    References

    Share
    Share
    Hypergraph Convolution and Hyper Attention
\ No newline at end of file diff --git a/Hypergraph-Convolution-and-Hyper-Attention/fig1.png b/Hypergraph-Convolution-and-Hyper-Attention/fig1.png new file mode 100644 index 0000000000000000000000000000000000000000..c9ed021fcb995ee052ac016490aa419aefccd5c4 GIT binary patch literal 67690 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

x=9`sZx{pDZn^}Q& zf^xeTa7!zw-FO^bXMG-H;vL+?be2_M%QF@0_{3YXjn2PVt-FPr)0YrWH#@FZ9uSZ~ zv_wmYrQ{;8R&(x|c7k|KC5&xhzi7>@f!KQuhd|fSud06E!n9X``cnPW6d@3gvC{nv zNP=%`bC~Oa0O6_W2;KT{58wjZP53}8b-{J_sxQT9D$pf>1>CFb`khV(89E4inx*C0 zS6ue1eRBKpdAM_>$Z9i;AO|2DoetRJ&rSG?V77J_YosEd!Hl8YoA)pE@lj;iI{dul z)@~>o5Jb-g-NL8#EeNeHOeY-W0RF4+MMJ}j5f#z37QZrOg)&DJ9viZ!_mD$16EbO4C#?>+tdEv-F#q~*TQ?sJ=oglCHZ<$|tf_WZ4yZ-xL7@GH$j)naih(XJ^ z4IB=ZpuC3DkS&O^tB`oiaZ07Xbqgd;eFB4FR(~EZ){yDRa^=Oy?ect-yOOgRW7`8$X9 z+CU*-)N^SP%t{u27;jsQ^=mf*7?LAwI{CyYdRw_X_2j+b8mp|2tR#+4kZR_o{G z6!t&}2G#g8pXEEy$OBSi*^i!W=@*o&A@Y^GTBUZQIF{NAn&H*c3N~&TL)4l9SBIDS zx$;FxX&DWo(;g&A;7-`7r-{fF@w!zZb~j90R*K5oBZTl2=JspnEJmIpXByo}9_@-@ zyyYC=`8^1!SL^V(KpjP%-Uskey+^6HCwmv_j#_JC;d`*r_s(oj?;k|9VC7UIU(WsWC1M-HW=Qjdgd5ctQ9Tx6+T| zNYCurw84<7k8f8VRMo!uolq(okr$p#tO4})G+=pGXgysb+BI1>jNwq|;^tJd&&*0w zliJhbY^fro%4c2K+Vqxip5<&(V^hw zt;G^JlG~sA>&k#}^9nQB9l*=Z!7NuHeb6WamuL3VJ3f`pEzbkj?=hZc_Py8}()X)c zmuC5Q@+Q=O`$QHQuPm$Ajfv8)Z!WH#s($mX|5A#hWUl~l3@@kLSZ@_tme^^*EfIoZ zh{T&=hUV=P@~O|uZR>Ww-Ylx_6Y%pVXC^qa3W)4IZi$GvI`odhOFn-er1 zhu>kSqyKg@-Sm=Q^1}9B$lp`+|JJhd*HSX_;vq5;%BXn{Z)p=<=}ErsI?c?+ubiT< zKO#7n`^u%>Pg}592ksqeNhyN3roLEW)MUpuduY+xjA>f>Irs#WoX(r9-Txnyon>58 zeH`|OAR*uY=^7G((p{qrQY2JTK&729kQy+$y991P=~7ChBu9sI2-0k$b3=v6VE1$G zr(QqLdp;Z6&iS8TT-WzHl6VbosxsW+_x5G@^qWe4>eBzJTwVE+d!dVISEn~X{C5GP zJfr>HrmlQ@?$FyJ;TC*-Ei0;k~DrNqVa_JO|C;d z&`YaTAUwCT3@W$o6&iLLY;k-YV|E}9Tl)gU3-4h3dQM{3Z*(YQ|2B@p3<;TDfI-DK zYtq@Pd^I-fp$2s3Z>52o@-ulsUZ8umi`$FV;c%>5`9d;W;G@ttMmy4+S0%@C#%|4PZyA)`iz1@{DsAwur z`Z6(}#tN!W(*gCzZ^tlU|3Ux^eIyToO&sU` z$<9HrGBEez(e{NvTU641O<>nwzD(Ht4B9ZJ(!(j9rQ(K$g1iQo*kXQve4t;@-Ij9Z zxWCU>{bb>WOpmdw6z%LbXs0PKzw@&pK#EnVW|iGHeA_<8+ATLxn6%8C_AM-<@ttQB zMJjlc?QqWr|AV9$Jlkg1L#xIi2^n1YY7kO8qPSQBjZETic`8sZAedfA_s)p?V0}^J zED!HIu$Z$)^7S-#tKxvMDU%0DO+G0Au;MwZ8)~0J}j`<{v>>S+ybSlr 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 aQ+x87E0?eEAfwU$WG(-{{!9MP!v6xe1&nwA literal 0 HcmV?d00001 diff --git a/Hypergraph-Convolution-and-Hyper-Attention/index.html b/Hypergraph-Convolution-and-Hyper-Attention/index.html new file mode 100644 index 0000000..1f3ccd7 --- /dev/null +++ b/Hypergraph-Convolution-and-Hyper-Attention/index.html @@ -0,0 +1,50 @@ +Hypergraph Convolution and Hyper Attention | Welcome To Oa

Hypergraph Convolution and Hyper Attention

Introduction

+
    +
  • Author: Oxford
  • +
  • contribution: proposed end to end tranable conv and attention for hypergraph.
  • +
  • paper
  • +
+

What is Hypergraph

+

A simple graph's edge connect two vertices, while hypergraph's edge connects more than two vertices.As shown in fig1: +

+

Let $\mathcal { G } = ( V , E )$ be vera hypergraph with $N$ vertices and $M$ hyperedges. Each hyperedge $\epsilon \in E$ is assigned with a positive weight $W _ { \epsilon \epsilon }$, with all the weights stored in a diagonal matrix $\mathbf { W } \in \mathbb { R } ^ { M \times M }$.This

+

Different from simple graph which has an adjacency matrix, hypergraph use incidence matrix $\mathbf { H } \in \mathbb { R } ^ { N \times M }$ to represent graph's connections. If $v_i$ is connected by $\epsilon$, the $H_{i\epsilon}=1$,otherwise 0.Then the vertex degree is +$$D _ { i i } = \sum _ { \epsilon = 1 } ^ { M } W _ { \epsilon \epsilon } H _ { i \epsilon }$$ +and the hyperedge degree is +$$B _ { \epsilon \epsilon } = \sum _ { i = 1 } ^ { N } H _ { i \epsilon }$$ +and the vertices' feature is $X$

+

Hyper Conv

+

Assumtions:

+
    +
  1. more propagaions should be done between those vertices connected by a common hyperedge
  2. +
  3. the hyperedges with larger weights deserve more confidence in propagations.
  4. +
+

So one step conv can be: +$$x _ { i } ^ { ( l + 1 ) } = \sigma \left( \sum _ { j = 1 } ^ { N } \sum _ { \epsilon = 1 } ^ { M } H _ { i \epsilon } H _ { j \epsilon } W _ { \epsilon \epsilon } x _ { j } ^ { ( l ) } \mathbf { P } \right)$$

+

Written in matrix form: +$$\mathbf { X } ^ { ( l + 1 ) } = \sigma \left( \mathbf { H } \mathbf { W } \mathbf { H } ^ { \mathrm { T } } \mathbf { X } ^ { ( l ) } \mathbf { P } \right)$$

+

However $\mathbf { H } \mathbf { W } \mathbf { H } ^ { \mathrm { T } } $ does not hold a constrainted spectal radius, which means the scale of $X^l$ (here means distribution in my thoughts) will be changed.This will lead to numerical instabilities and increase the risk of exploding/vanishing gradients when stack multi hpyer conv layer together. So the author impose normalization here: +$$\mathbf { X } ^ { ( l + 1 ) } = \sigma \left( \mathbf { D } ^ { - 1 / 2 } \mathbf { H } \mathbf { W } \mathbf { B } ^ { - 1 } \mathbf { H } ^ { \mathrm { T } } \mathbf { D } ^ { - 1 / 2 } \mathbf { X } ^ { ( l ) } \mathbf { P } \right)$$

+

Hyper Attention

+

The incidence matrix $\mathbf{H}$ can be thought some kind of Attention matrix, but it was not learnable and trainable after defined before.

+

So here the author proposed Hyper Attention.However hypergraph attention is only feasible when the vertex set and the hyperedge set are from (or can be projected to) the same homogeneous domain, since only in this case, the similarities between vertices and hyperedges are directly comparable.Then the author choose a simple way: each vertex collects its K-nearest neighbors to form a hyper-edge.Then the attention score can be: +$$H _ { i j } = \frac { \exp \left( \sigma \left( \operatorname { sim } \left( x _ { i } \mathbf { P } , x _ { j } \mathbf { P } \right) \right) \right) } { \sum _ { k \in \mathcal { N } _ { i } } \exp \left( \sigma \left( \operatorname { sim } \left( x _ { i } \mathbf { P } , x _ { k } \mathbf { P } \right) \right) \right) }$$ +and \sin ( \cdot ) is a similarity function that computes the pairwise similarities between two verticies.

+

More have not been done

+
    +
  1. Hyper Attention on heterogeneous domain.
  2. +
  3. Why not treat the hyperedge as fully connected subgraph? better or worse than GCN+Polling or HGN?
  4. +
+
Share
\ No newline at end of file diff --git a/Install-tensorflow-gpu-with-CUDA10-0-Guide/index.html b/Install-tensorflow-gpu-with-CUDA10-0-Guide/index.html index 0a97e97..a2d3862 100644 --- a/Install-tensorflow-gpu-with-CUDA10-0-Guide/index.html +++ b/Install-tensorflow-gpu-with-CUDA10-0-Guide/index.html @@ -1,6 +1,6 @@ Install tensorflow-gpu with CUDA10.0 Guide | Welcome To Oa

Install tensorflow-gpu with CUDA10.0 Guide

Here is the guides I followed when install the tensorflow-gpu.

How to install Tensorflow GPU with CUDA 10.0 for python on Ubuntu

-
Share
Summary: ACM: Learning Dynamic Multi-agent Cooperation via Attentional Commmunication Model(ICANN 2018)
Share
Summary: ACM: Learning Dynamic Multi-agent Cooperation via Attentional Commmunication Model(ICANN 2018)
\ No newline at end of file +gitment.render('container')
\ No newline at end of file diff --git "a/MarkDown\350\257\255\346\263\225\350\256\260\345\275\225/index.html" "b/MarkDown\350\257\255\346\263\225\350\256\260\345\275\225/index.html" index 30f66f9..8538337 100644 --- "a/MarkDown\350\257\255\346\263\225\350\256\260\345\275\225/index.html" +++ "b/MarkDown\350\257\255\346\263\225\350\256\260\345\275\225/index.html" @@ -238,7 +238,7 @@

希腊字母

其他字符

内容包括关系运算符,集合运算符,对数,三角以及微积分运算符。
Markdown中写数学公式

-Share
共轭梯度法&QR分解法
Share
共轭梯度法&QR分解法
\ No newline at end of file diff --git a/Messeage/index.html b/Messeage/index.html index d318f11..c76ecee 100644 --- a/Messeage/index.html +++ b/Messeage/index.html @@ -7,4 +7,4 @@ client_secret: 'fed7dc675f5293f90d56d4055654fb89db9003a8', }, }) -gitment.render('container')
\ No newline at end of file +gitment.render('container')
\ No newline at end of file diff --git "a/Summary-ACCNet-Actor-Coordinator-Critic-Net-for-\342\200\234Learning-to-Communicate\342\200\235-with-Deep-Multi-agent-Reinforcement-Learning/index.html" "b/Summary-ACCNet-Actor-Coordinator-Critic-Net-for-\342\200\234Learning-to-Communicate\342\200\235-with-Deep-Multi-agent-Reinforcement-Learning/index.html" index 18fb7db..3e0e396 100644 --- "a/Summary-ACCNet-Actor-Coordinator-Critic-Net-for-\342\200\234Learning-to-Communicate\342\200\235-with-Deep-Multi-agent-Reinforcement-Learning/index.html" +++ "b/Summary-ACCNet-Actor-Coordinator-Critic-Net-for-\342\200\234Learning-to-Communicate\342\200\235-with-Deep-Multi-agent-Reinforcement-Learning/index.html" @@ -47,7 +47,7 @@

Notes

  • encode both action and state to message when learning can generate better policy .
  • PCA can be used to inteprete message .
  • -Share
    Summary: Mean Field Multi-Agent Reinforcement Learning. ICML(2018)
    Share
    Summary: Mean Field Multi-Agent Reinforcement Learning. ICML(2018)
    \ No newline at end of file diff --git a/Summary-ACM-Learning-Dynamic-Multi-agent-Cooperation-via-Attentional-Commmunication-Model/index.html b/Summary-ACM-Learning-Dynamic-Multi-agent-Cooperation-via-Attentional-Commmunication-Model/index.html index 4988301..86f77b1 100644 --- a/Summary-ACM-Learning-Dynamic-Multi-agent-Cooperation-via-Attentional-Commmunication-Model/index.html +++ b/Summary-ACM-Learning-Dynamic-Multi-agent-Cooperation-via-Attentional-Commmunication-Model/index.html @@ -34,7 +34,7 @@

    Notes

  • It is helpful to distill the information when state space is complex .
  • the code is not released,but i think it is two stage iteratively trained.policy->CAN->policy
  • -Share
    Summary: Learning Attentional Communication for Multi-Agent Cooperation
    Share
    Summary: Learning Attentional Communication for Multi-Agent Cooperation
    \ No newline at end of file diff --git a/Summary-Actor-Attention-Critic-For-Multi-Agent-Reinforcement-Learning/index.html b/Summary-Actor-Attention-Critic-For-Multi-Agent-Reinforcement-Learning/index.html index 35e3b3a..b387fe1 100644 --- a/Summary-Actor-Attention-Critic-For-Multi-Agent-Reinforcement-Learning/index.html +++ b/Summary-Actor-Attention-Critic-For-Multi-Agent-Reinforcement-Learning/index.html @@ -35,7 +35,7 @@

    Notes

    • compared with MADDPG,MAAC use Attention to extract infos do good to scale to more agents scene,but still face themany agent problem.
    -Share
    Summary: Intrinsic Social Motivation Via Causal Influence In Multi-Agent RL
    Share
    Summary: Intrinsic Social Motivation Via Causal Influence In Multi-Agent RL
    \ No newline at end of file diff --git a/Summary-Emergence-of-Grounded-Compositional-Language-in-Multi-Agent-Populations/index.html b/Summary-Emergence-of-Grounded-Compositional-Language-in-Multi-Agent-Populations/index.html index 86edb00..4679dc0 100644 --- a/Summary-Emergence-of-Grounded-Compositional-Language-in-Multi-Agent-Populations/index.html +++ b/Summary-Emergence-of-Grounded-Compositional-Language-in-Multi-Agent-Populations/index.html @@ -49,7 +49,7 @@

    Notes

    • limitation: use landmark denote target ,but doesn't learn to abstract target position (i.e. south-east)
    -Share
    Summary: ACCNet: Actor-Coordinator-Critic Net for “Learning-to-Communicate” with Deep Multi-agent Reinforcement Learning
    Share
    Summary: ACCNet: Actor-Coordinator-Critic Net for “Learning-to-Communicate” with Deep Multi-agent Reinforcement Learning
    \ No newline at end of file diff --git a/Summary-Intrinsic-Social-Motivation-Via-Causal-Influence-In-Multi-Agent-RL/index.html b/Summary-Intrinsic-Social-Motivation-Via-Causal-Influence-In-Multi-Agent-RL/index.html index 8ef29d3..094561d 100644 --- a/Summary-Intrinsic-Social-Motivation-Via-Causal-Influence-In-Multi-Agent-RL/index.html +++ b/Summary-Intrinsic-Social-Motivation-Via-Causal-Influence-In-Multi-Agent-RL/index.html @@ -48,7 +48,7 @@

    Thoughts

  • what the result will be when it running on particle-worlds?
  • ...
  • -Share
    Summary: TarMAC:Targeted Multi-Agent Communication
    Share
    Summary: TarMAC:Targeted Multi-Agent Communication
    \ No newline at end of file diff --git a/Summary-Learning-Attentional-Communication-for-Multi-Agent-Cooperation/index.html b/Summary-Learning-Attentional-Communication-for-Multi-Agent-Cooperation/index.html index d333b1a..6d2b1aa 100644 --- a/Summary-Learning-Attentional-Communication-for-Multi-Agent-Cooperation/index.html +++ b/Summary-Learning-Attentional-Communication-for-Multi-Agent-Cooperation/index.html @@ -50,7 +50,7 @@

    Thoughts

  • MADDPG train policy for every agent which was hard to applied to many agent scene.
  • Code hasn't been released yet
  • -Share
    Summary: Actor-Attention-Critic For Multi-Agent Reinforcement Learning
    Share
    Summary: Actor-Attention-Critic For Multi-Agent Reinforcement Learning
    \ No newline at end of file diff --git a/Summary-Learning-Multiagent-Communication-with-Backpropagation/index.html b/Summary-Learning-Multiagent-Communication-with-Backpropagation/index.html index 29bcd4f..d200ed8 100644 --- a/Summary-Learning-Multiagent-Communication-with-Backpropagation/index.html +++ b/Summary-Learning-Multiagent-Communication-with-Backpropagation/index.html @@ -38,7 +38,7 @@

    Notes

  • Agents prefer not to communicate unless necessary
  • single network with a communication channel at each layer is not easy to scale up
  • -Share
    Summary: Emergence of Grounded Compositional Language in Multi-Agent Populations(AAAI 2018)
    Share
    Summary: Emergence of Grounded Compositional Language in Multi-Agent Populations(AAAI 2018)
    \ No newline at end of file diff --git a/Summary-Learning-to-Communicate-with-Deep-Multi-Agent-Reinforcement-Learning/index.html b/Summary-Learning-to-Communicate-with-Deep-Multi-Agent-Reinforcement-Learning/index.html index 629c7db..92554eb 100644 --- a/Summary-Learning-to-Communicate-with-Deep-Multi-Agent-Reinforcement-Learning/index.html +++ b/Summary-Learning-to-Communicate-with-Deep-Multi-Agent-Reinforcement-Learning/index.html @@ -50,7 +50,7 @@

    Notes

  • Add impact of message can lead to faster learning
  • Message is delayed for one time-stamp and the env will be unstationary
  • -Share
    Summary: Learning Multiagent Communication with Backpropagation(Nips 2016)
    Share
    Summary: Learning Multiagent Communication with Backpropagation(Nips 2016)
    \ No newline at end of file diff --git a/Summary-Mean-Field-Multi-Agent-Reinforcement-Learning/index.html b/Summary-Mean-Field-Multi-Agent-Reinforcement-Learning/index.html index 71a5ef2..720fde0 100644 --- a/Summary-Mean-Field-Multi-Agent-Reinforcement-Learning/index.html +++ b/Summary-Mean-Field-Multi-Agent-Reinforcement-Learning/index.html @@ -57,7 +57,7 @@

    Results

    Conclusion

    Transform many-body problem into two-body problem using mean field theory enable the scalability in MARL.

    -Share
    EM Algorithm
    Share
    EM Algorithm
    \ No newline at end of file diff --git a/Summary-TarMAC-Targeted-Multi-Agent-Communication/index.html b/Summary-TarMAC-Targeted-Multi-Agent-Communication/index.html index 433abc6..b302037 100644 --- a/Summary-TarMAC-Targeted-Multi-Agent-Communication/index.html +++ b/Summary-TarMAC-Targeted-Multi-Agent-Communication/index.html @@ -28,7 +28,7 @@

    Confused

  • It's still transmit all the info to all others,that seems like didn't match the paper's intitution s
  • -Share
    Summary: Learning to Communicate with Deep Multi-Agent Reinforcement Learning(Nips 2016)
    Share
    Summary: Learning to Communicate with Deep Multi-Agent Reinforcement Learning(Nips 2016)
    \ No newline at end of file diff --git a/about/index.html b/about/index.html index d9950c3..339783c 100644 --- a/about/index.html +++ b/about/index.html @@ -1,4 +1,4 @@ about | Welcome To Oa \ No newline at end of file +
    \ No newline at end of file diff --git a/archives/2017/07/index.html b/archives/2017/07/index.html index 4ed764b..98ab55a 100644 --- a/archives/2017/07/index.html +++ b/archives/2017/07/index.html @@ -1 +1 @@ -Archive | Welcome To Oa \ No newline at end of file +Archive | Welcome To Oa \ No newline at end of file diff --git a/archives/2017/10/index.html b/archives/2017/10/index.html index 62749d1..7b6b1c8 100644 --- a/archives/2017/10/index.html +++ b/archives/2017/10/index.html @@ -1 +1 @@ -Archive | Welcome To Oa \ No newline at end of file +Archive | Welcome To Oa \ No newline at end of file diff --git a/archives/2017/index.html b/archives/2017/index.html index 56a3d37..1f4c8eb 100644 --- a/archives/2017/index.html +++ b/archives/2017/index.html @@ -1 +1 @@ -Archive | Welcome To Oa \ No newline at end of file +Archive | Welcome To Oa \ No newline at end of file diff --git a/archives/2018/05/index.html b/archives/2018/05/index.html index 03109c6..084372b 100644 --- a/archives/2018/05/index.html +++ b/archives/2018/05/index.html @@ -1 +1 @@ -Archive | Welcome To Oa \ No newline at end of file +Archive | Welcome To Oa \ No newline at end of file diff --git a/archives/2018/06/index.html b/archives/2018/06/index.html index 7d64d13..ec10dc7 100644 --- a/archives/2018/06/index.html +++ b/archives/2018/06/index.html @@ -1 +1 @@ -Archive | Welcome To Oa \ No newline at end of file +Archive | Welcome To Oa \ No newline at end of file diff --git a/archives/2018/10/index.html b/archives/2018/10/index.html index f85e137..446cf4a 100644 --- a/archives/2018/10/index.html +++ b/archives/2018/10/index.html @@ -1 +1 @@ -Archive | Welcome To Oa \ No newline at end of file +Archive | Welcome To Oa \ No newline at end of file diff --git a/archives/2018/11/index.html b/archives/2018/11/index.html index df08c06..1ce550b 100644 --- a/archives/2018/11/index.html +++ b/archives/2018/11/index.html @@ -1 +1 @@ -Archive | Welcome To Oa
    \ No newline at end of file +Archive | Welcome To Oa
    \ No newline at end of file diff --git a/archives/2018/12/index.html b/archives/2018/12/index.html index 0a56b03..e7a35d6 100644 --- a/archives/2018/12/index.html +++ b/archives/2018/12/index.html @@ -1 +1 @@ -Archive | Welcome To Oa \ No newline at end of file +Archive | Welcome To Oa \ No newline at end of file diff --git a/archives/2018/index.html b/archives/2018/index.html index 1a4c73b..402a27e 100644 --- a/archives/2018/index.html +++ b/archives/2018/index.html @@ -1 +1 @@ -Archive | Welcome To Oa
    \ No newline at end of file +Archive | Welcome To Oa
    \ No newline at end of file diff --git a/archives/2018/page/2/index.html b/archives/2018/page/2/index.html index 50cfa38..ff689f9 100644 --- a/archives/2018/page/2/index.html +++ b/archives/2018/page/2/index.html @@ -1 +1 @@ -Archive | Welcome To Oa \ No newline at end of file +Archive | Welcome To Oa \ No newline at end of file diff --git a/archives/2019/01/index.html b/archives/2019/01/index.html index d2aadc0..c457e82 100644 --- a/archives/2019/01/index.html +++ b/archives/2019/01/index.html @@ -1 +1 @@ -Archive | Welcome To Oa \ No newline at end of file +Archive | Welcome To Oa \ No newline at end of file diff --git a/archives/2019/04/index.html b/archives/2019/04/index.html new file mode 100644 index 0000000..0d4df2d --- /dev/null +++ b/archives/2019/04/index.html @@ -0,0 +1 @@ +Archive | Welcome To Oa \ No newline at end of file diff --git a/archives/2019/index.html b/archives/2019/index.html index d2aadc0..48d2465 100644 --- a/archives/2019/index.html +++ b/archives/2019/index.html @@ -1 +1 @@ -Archive | Welcome To Oa \ No newline at end of file +Archive | Welcome To Oa \ No newline at end of file diff --git a/archives/index.html b/archives/index.html index cc1b22f..f1dc7c6 100644 --- a/archives/index.html +++ b/archives/index.html @@ -1 +1 @@ -Archive | Welcome To Oa
    \ No newline at end of file +Archive | Welcome To Oa
    \ No newline at end of file diff --git a/archives/page/2/index.html b/archives/page/2/index.html index c82a707..949137a 100644 --- a/archives/page/2/index.html +++ b/archives/page/2/index.html @@ -1 +1 @@ -Archive | Welcome To Oa \ No newline at end of file +Archive | Welcome To Oa \ No newline at end of file diff --git a/archives/page/3/index.html b/archives/page/3/index.html index 75c89c6..c4e9f5d 100644 --- a/archives/page/3/index.html +++ b/archives/page/3/index.html @@ -1 +1 @@ -Archive | Welcome To Oa \ No newline at end of file +Archive | Welcome To Oa \ No newline at end of file diff --git a/baidu_verify_IAmPtENQzv.html b/baidu_verify_IAmPtENQzv.html index 56d64ff..1cf694d 100644 --- a/baidu_verify_IAmPtENQzv.html +++ b/baidu_verify_IAmPtENQzv.html @@ -7,4 +7,4 @@ client_secret: 'fed7dc675f5293f90d56d4055654fb89db9003a8', }, }) -gitment.render('container')
    \ No newline at end of file +gitment.render('container')
    \ No newline at end of file diff --git a/baidusitemap.xml b/baidusitemap.xml index 28bfc9e..327e788 100644 --- a/baidusitemap.xml +++ b/baidusitemap.xml @@ -3,6 +3,23 @@ + + https://jarvis.world/Hypergraph-Convolution-and-Hyper-Attention/ + 2019-04-29T17:05:32.504Z + + + Hypergraph Convolution and Hyper Attention + 2019-04-29T14:40:15.000Z + + gnn-papers + + + + + + + + https://jarvis.world/EM-Algorithm/ 2019-02-01T16:16:37.076Z diff --git a/google9ac2c2824710541a.html b/google9ac2c2824710541a.html index e776127..97ce953 100644 --- a/google9ac2c2824710541a.html +++ b/google9ac2c2824710541a.html @@ -7,4 +7,4 @@ client_secret: 'fed7dc675f5293f90d56d4055654fb89db9003a8', }, }) -gitment.render('container')
    \ No newline at end of file +gitment.render('container')
    \ No newline at end of file diff --git a/guestbook/index.html b/guestbook/index.html index 483b390..23a923c 100644 --- a/guestbook/index.html +++ b/guestbook/index.html @@ -7,4 +7,4 @@ client_secret: 'fed7dc675f5293f90d56d4055654fb89db9003a8', }, }) -gitment.render('container')
    \ No newline at end of file +gitment.render('container')
    \ No newline at end of file diff --git a/index.html b/index.html index 04eee90..61ac5bb 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Welcome To Oa
    \ No newline at end of file +Welcome To Oa
    \ No newline at end of file diff --git a/mongodb-import-complex-txt/index.html b/mongodb-import-complex-txt/index.html index 2e152db..b73ab3c 100644 --- a/mongodb-import-complex-txt/index.html +++ b/mongodb-import-complex-txt/index.html @@ -8,7 +8,7 @@

    python encode txt to json

    import into mongodb

    这步就直接使用mongoimport就可以了

    mongoimport --db ccir --collection training_set --file training_set.txt

    -Share
    mxnet与gluon初级使用
    Share
    mxnet与gluon初级使用
    \ No newline at end of file diff --git "a/mongodb-\346\270\205\351\231\244\347\243\201\347\233\230\345\215\240\347\224\250/index.html" "b/mongodb-\346\270\205\351\231\244\347\243\201\347\233\230\345\215\240\347\224\250/index.html" index 2f0d67c..76be7ab 100644 --- "a/mongodb-\346\270\205\351\231\244\347\243\201\347\233\230\345\215\240\347\224\250/index.html" +++ "b/mongodb-\346\270\205\351\231\244\347\243\201\347\233\230\345\215\240\347\224\250/index.html" @@ -9,7 +9,7 @@

    Reference

  • codeQ&A
  • DZone
  • -Share
    Install tensorflow-gpu with CUDA10.0 Guide
    Share
    Install tensorflow-gpu with CUDA10.0 Guide
    \ No newline at end of file diff --git "a/mongodb\344\275\277\347\224\250join\345\271\266\347\256\200\345\215\225\345\244\204\347\220\206\346\225\260\346\215\256/index.html" "b/mongodb\344\275\277\347\224\250join\345\271\266\347\256\200\345\215\225\345\244\204\347\220\206\346\225\260\346\215\256/index.html" index d9719a3..9dd4445 100644 --- "a/mongodb\344\275\277\347\224\250join\345\271\266\347\256\200\345\215\225\345\244\204\347\220\206\346\225\260\346\215\256/index.html" +++ "b/mongodb\344\275\277\347\224\250join\345\271\266\347\256\200\345\215\225\345\244\204\347\220\206\346\225\260\346\215\256/index.html" @@ -35,7 +35,7 @@

    Reference

  • 在MongoDB中使用JOIN操作
  • MongoDB Manual Contents
  • -Share
    mongodb 清除磁盘占用
    Share
    mongodb 清除磁盘占用
    \ No newline at end of file diff --git "a/mxnet\344\270\216gluon\345\210\235\347\272\247\344\275\277\347\224\250/index.html" "b/mxnet\344\270\216gluon\345\210\235\347\272\247\344\275\277\347\224\250/index.html" index ec35c10..77fb3cb 100644 --- "a/mxnet\344\270\216gluon\345\210\235\347\272\247\344\275\277\347\224\250/index.html" +++ "b/mxnet\344\270\216gluon\345\210\235\347\272\247\344\275\277\347\224\250/index.html" @@ -52,7 +52,7 @@

    train

    在trainer中我们先收集参数,再定义优化方法为sgd,并设置lr,而在训练时设置网络结构,训练集,测试集,loss,迭代次数,批大小,以及训练器。

    Conclusion

    一般处理的过程也是读取数据,定义网络结构,初始化参数,设置损失函数,训练这样的流程了。后面将会以多种CNN网络为例子详细介绍。

    -Share
    python opencv 基础
    Share
    python opencv 基础
    \ No newline at end of file diff --git a/page/2/index.html b/page/2/index.html index 19243ee..91342a3 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -1 +1 @@ -Welcome To Oa

    Summary: ACM: Learning Dynamic Multi-agent Cooperation via Attentional Commmunication Model(ICANN 2018)

    ACM summary by Jarvis

    Read More

    Install tensorflow-gpu with CUDA10.0 Guide

    a detailed guide to install tensorflow-gpu with cuda10

    Read More

    mongodb 清除磁盘占用

    mongodb drop collections 后磁盘空间不自动回收解决。

    Read More

    mongodb使用join并简单处理数据

    mongodb 3.2使用join并clean数据

    Read More

    pyqt更新UI卡死解决

    使用QRunnable解决更新UI卡死

    Read More

    python opencv 基础

    记录python opencv的基础操作

    Read More

    mxnet与gluon初级使用

    记录下mxnet与gluon的使用

    Read More

    mongodb import complex txt

    use python encode txt to json then import to mongodb

    Read More

    神经网络和机器学习基础

    神经网络和机器学习基础(参考深度学习与计算机视觉)

    Read More

    使用迅雷下载百度云中的文件

    下载百度云文件的小trick

    Read More

    \ No newline at end of file +Welcome To Oa

    Summary: Learning Attentional Communication for Multi-Agent Cooperation

    ATOC summary by Jarvis

    Read More

    Summary: ACM: Learning Dynamic Multi-agent Cooperation via Attentional Commmunication Model(ICANN 2018)

    ACM summary by Jarvis

    Read More

    Install tensorflow-gpu with CUDA10.0 Guide

    a detailed guide to install tensorflow-gpu with cuda10

    Read More

    mongodb 清除磁盘占用

    mongodb drop collections 后磁盘空间不自动回收解决。

    Read More

    mongodb使用join并简单处理数据

    mongodb 3.2使用join并clean数据

    Read More

    pyqt更新UI卡死解决

    使用QRunnable解决更新UI卡死

    Read More

    python opencv 基础

    记录python opencv的基础操作

    Read More

    mxnet与gluon初级使用

    记录下mxnet与gluon的使用

    Read More

    mongodb import complex txt

    use python encode txt to json then import to mongodb

    Read More

    神经网络和机器学习基础

    神经网络和机器学习基础(参考深度学习与计算机视觉)

    Read More

    \ No newline at end of file diff --git a/page/3/index.html b/page/3/index.html index 0341c80..2302dea 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -1 +1 @@ -Welcome To Oa \ No newline at end of file +Welcome To Oa \ No newline at end of file diff --git "a/pyqt\346\233\264\346\226\260UI\345\215\241\346\255\273\350\247\243\345\206\263/index.html" "b/pyqt\346\233\264\346\226\260UI\345\215\241\346\255\273\350\247\243\345\206\263/index.html" index 4d5e9d7..e305357 100644 --- "a/pyqt\346\233\264\346\226\260UI\345\215\241\346\255\273\350\247\243\345\206\263/index.html" +++ "b/pyqt\346\233\264\346\226\260UI\345\215\241\346\255\273\350\247\243\345\206\263/index.html" @@ -7,7 +7,7 @@

    问题解决

    每次按refresh按钮,则重新加载图片。实现的逻辑见代码注释,我们在按下按钮时emit一个信号,然后这个信号的响应函数中开启一个新的线程来更新imagelabel。完成。

    结语

    其实这个问题在逻辑上是很容易理解的,但由于之前接触UI相关的较少,没注意到UI线程与逻辑线程互相阻塞的问题,解决还是花了些时间的,打扰打扰。

    -Share
    mongodb使用join并简单处理数据
    Share
    mongodb使用join并简单处理数据
    \ No newline at end of file +gitment.render('container')
    \ No newline at end of file diff --git a/python-and-opencv-basics/index.html b/python-and-opencv-basics/index.html index e3790f3..2893be0 100644 --- a/python-and-opencv-basics/index.html +++ b/python-and-opencv-basics/index.html @@ -55,7 +55,7 @@

    bilateral Filter

    1
    2
    # filter space diameter is 9,color space sigmma is 75,sigmaSpace sigmma is 75
    cv2.bilateralFilter(img,9,75,75)

    Edge detection

    好长啊。。。。。。感觉还有好多没写啊。。。。。算了。。。。。明日再接着写

    -Share
    pyqt更新UI卡死解决
    Share
    pyqt更新UI卡死解决
    \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 0b2ff59..ebc7632 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,6 +1,13 @@ + + https://jarvis.world/Hypergraph-Convolution-and-Hyper-Attention/ + + 2019-04-29T17:05:32.504Z + + + https://jarvis.world/EM-Algorithm/ diff --git a/tags/DL/index.html b/tags/DL/index.html index 048caa8..07ee5a7 100644 --- a/tags/DL/index.html +++ b/tags/DL/index.html @@ -1 +1 @@ -DL | Welcome To Oa \ No newline at end of file +DL | Welcome To Oa \ No newline at end of file diff --git a/tags/DM/index.html b/tags/DM/index.html index 5183c5e..f12ded5 100644 --- a/tags/DM/index.html +++ b/tags/DM/index.html @@ -1 +1 @@ -DM | Welcome To Oa \ No newline at end of file +DM | Welcome To Oa \ No newline at end of file diff --git a/tags/ML/index.html b/tags/ML/index.html index d0ea368..f6307b1 100644 --- a/tags/ML/index.html +++ b/tags/ML/index.html @@ -1 +1 @@ -ML | Welcome To Oa \ No newline at end of file +ML | Welcome To Oa \ No newline at end of file diff --git a/tags/Math/index.html b/tags/Math/index.html index 9ca40f4..329ec2e 100644 --- a/tags/Math/index.html +++ b/tags/Math/index.html @@ -1 +1 @@ -Math | Welcome To Oa \ No newline at end of file +Math | Welcome To Oa \ No newline at end of file diff --git a/tags/Util/index.html b/tags/Util/index.html index 75cfd42..00ae3e5 100644 --- a/tags/Util/index.html +++ b/tags/Util/index.html @@ -1 +1 @@ -util | Welcome To Oa \ No newline at end of file +util | Welcome To Oa \ No newline at end of file diff --git a/tags/cv/index.html b/tags/cv/index.html index 6ec4010..5690a9a 100644 --- a/tags/cv/index.html +++ b/tags/cv/index.html @@ -1 +1 @@ -cv | Welcome To Oa \ No newline at end of file +cv | Welcome To Oa \ No newline at end of file diff --git a/tags/gluon/index.html b/tags/gluon/index.html index ff7ff44..40f10ba 100644 --- a/tags/gluon/index.html +++ b/tags/gluon/index.html @@ -1 +1 @@ -gluon | Welcome To Oa \ No newline at end of file +gluon | Welcome To Oa \ No newline at end of file diff --git a/tags/gnn-papers/index.html b/tags/gnn-papers/index.html new file mode 100644 index 0000000..818447e --- /dev/null +++ b/tags/gnn-papers/index.html @@ -0,0 +1 @@ +gnn-papers | Welcome To Oa \ No newline at end of file diff --git a/tags/installation/index.html b/tags/installation/index.html index 768a58a..e4f3e45 100644 --- a/tags/installation/index.html +++ b/tags/installation/index.html @@ -1 +1 @@ -installation | Welcome To Oa \ No newline at end of file +installation | Welcome To Oa \ No newline at end of file diff --git a/tags/ml-algo/index.html b/tags/ml-algo/index.html index 968b7e6..c452643 100644 --- a/tags/ml-algo/index.html +++ b/tags/ml-algo/index.html @@ -1 +1 @@ -ml-algo | Welcome To Oa \ No newline at end of file +ml-algo | Welcome To Oa \ No newline at end of file diff --git a/tags/mongodb/index.html b/tags/mongodb/index.html index 0fb4cfb..8a69c80 100644 --- a/tags/mongodb/index.html +++ b/tags/mongodb/index.html @@ -1 +1 @@ -mongodb | Welcome To Oa \ No newline at end of file +mongodb | Welcome To Oa \ No newline at end of file diff --git a/tags/mxnet/index.html b/tags/mxnet/index.html index 2f434af..f6c318c 100644 --- a/tags/mxnet/index.html +++ b/tags/mxnet/index.html @@ -1 +1 @@ -mxnet | Welcome To Oa \ No newline at end of file +mxnet | Welcome To Oa \ No newline at end of file diff --git a/tags/pyqt/index.html b/tags/pyqt/index.html index 46c7d75..91393b4 100644 --- a/tags/pyqt/index.html +++ b/tags/pyqt/index.html @@ -1 +1 @@ -pyqt | Welcome To Oa \ No newline at end of file +pyqt | Welcome To Oa \ No newline at end of file diff --git a/tags/python/index.html b/tags/python/index.html index b54331c..94f35e9 100644 --- a/tags/python/index.html +++ b/tags/python/index.html @@ -1 +1 @@ -python | Welcome To Oa \ No newline at end of file +python | Welcome To Oa \ No newline at end of file diff --git a/tags/rl-papers/index.html b/tags/rl-papers/index.html index 193abcd..d06c902 100644 --- a/tags/rl-papers/index.html +++ b/tags/rl-papers/index.html @@ -1 +1 @@ -rl-papers | Welcome To Oa
    \ No newline at end of file +rl-papers | Welcome To Oa
    \ No newline at end of file diff --git "a/tags/\346\225\260\345\200\274\350\256\241\347\256\227\344\270\216\344\274\230\345\214\226/index.html" "b/tags/\346\225\260\345\200\274\350\256\241\347\256\227\344\270\216\344\274\230\345\214\226/index.html" index fc7b97e..5de2922 100644 --- "a/tags/\346\225\260\345\200\274\350\256\241\347\256\227\344\270\216\344\274\230\345\214\226/index.html" +++ "b/tags/\346\225\260\345\200\274\350\256\241\347\256\227\344\270\216\344\274\230\345\214\226/index.html" @@ -1 +1 @@ -数值计算与优化 | Welcome To Oa \ No newline at end of file +数值计算与优化 | Welcome To Oa \ No newline at end of file diff --git "a/\344\275\277\347\224\250\350\277\205\351\233\267\344\270\213\350\275\275\347\231\276\345\272\246\344\272\221\344\270\255\347\232\204\346\226\207\344\273\266/index.html" "b/\344\275\277\347\224\250\350\277\205\351\233\267\344\270\213\350\275\275\347\231\276\345\272\246\344\272\221\344\270\255\347\232\204\346\226\207\344\273\266/index.html" index ba97adc..b1d5065 100644 --- "a/\344\275\277\347\224\250\350\277\205\351\233\267\344\270\213\350\275\275\347\231\276\345\272\246\344\272\221\344\270\255\347\232\204\346\226\207\344\273\266/index.html" +++ "b/\344\275\277\347\224\250\350\277\205\351\233\267\344\270\213\350\275\275\347\231\276\345\272\246\344\272\221\344\270\255\347\232\204\346\226\207\344\273\266/index.html" @@ -6,7 +6,7 @@

    流程

  • 在chrome中打开百度云链接,选中文件直接获取下载链接
  • 将链接复制到迅雷中下载。DONE!
  • -Share
    神经网络和机器学习基础
    Share
    神经网络和机器学习基础
    \ No newline at end of file +gitment.render('container')
    \ No newline at end of file diff --git "a/\345\205\261\350\275\255\346\242\257\345\272\246\346\263\225-QR\345\210\206\350\247\243\346\263\225/index.html" "b/\345\205\261\350\275\255\346\242\257\345\272\246\346\263\225-QR\345\210\206\350\247\243\346\263\225/index.html" index 3173431..79c0f3b 100644 --- "a/\345\205\261\350\275\255\346\242\257\345\272\246\346\263\225-QR\345\210\206\350\247\243\346\263\225/index.html" +++ "b/\345\205\261\350\275\255\346\242\257\345\272\246\346\263\225-QR\345\210\206\350\247\243\346\263\225/index.html" @@ -26,7 +26,7 @@

    结果分析

    Householder 0.0368831157684 QR 1 time : 0.0372591018677 所以共轭梯度法的速度远远高于QR法,且他们都获得的是真实解,而在QR分解上Gram_Schmidt优于Householder

    -Share
    迭代法解线性方程组
    Share
    迭代法解线性方程组
    \ No newline at end of file diff --git "a/\347\245\236\347\273\217\347\275\221\347\273\234\345\222\214\346\234\272\345\231\250\345\255\246\344\271\240\345\237\272\347\241\200/index.html" "b/\347\245\236\347\273\217\347\275\221\347\273\234\345\222\214\346\234\272\345\231\250\345\255\246\344\271\240\345\237\272\347\241\200/index.html" index 26e2e48..7e2822d 100644 --- "a/\347\245\236\347\273\217\347\275\221\347\273\234\345\222\214\346\234\272\345\231\250\345\255\246\344\271\240\345\237\272\347\241\200/index.html" +++ "b/\347\245\236\347\273\217\347\275\221\347\273\234\345\222\214\346\234\272\345\231\250\345\255\246\344\271\240\345\237\272\347\241\200/index.html" @@ -47,7 +47,7 @@

    机器学习基础

  • 集成学习,综合多个模型结果
  • 随机失活(Dropout),降低特征间关联,增强泛化能力
  • -Share
    mongodb import complex txt
    Share
    mongodb import complex txt
    \ No newline at end of file diff --git "a/\350\277\255\344\273\243\346\263\225\350\247\243\347\272\277\346\200\247\346\226\271\347\250\213\347\273\204/index.html" "b/\350\277\255\344\273\243\346\263\225\350\247\243\347\272\277\346\200\247\346\226\271\347\250\213\347\273\204/index.html" index b4dc431..21a4857 100644 --- "a/\350\277\255\344\273\243\346\263\225\350\247\243\347\272\277\346\200\247\346\226\271\347\250\213\347\273\204/index.html" +++ "b/\350\277\255\344\273\243\346\263\225\350\247\243\347\272\277\346\200\247\346\226\271\347\250\213\347\273\204/index.html" @@ -31,7 +31,7 @@

    结果分析

    GaussSeidel 1.40041995049 SOR 0.781527996063 都收敛到了目的值附近,但3个收敛速度不同,其中SOR收敛最快,应对大型稀疏矩阵更加适用

    -Share
    DL初级数学基础整理
    Share
    DL初级数学基础整理
    \ No newline at end of file