download: 破解 JavaScript 高级玩法,成为精通 JS 的原生专家
在 Web 應用程序開發方面,Vue.js 正快速成爲開發人員的最愛。這個現代、新穎的 JavaScript 庫它在 GitHub 上有超过 123,000 颗星,關於開發人員來說是一個引人瞩目的選择,由於它很容易集成到現有項目中。它的速度很快,它非常強大。妳能夠用它從頭開端樹立一個動態的、可擴展的、可維護的單頁面應用程序。
作爲一個 JavaScript 框架,Vue.js 允許您輕鬆地將動態數據渲染到 DOM,將數據绑定到 DOM 元素,以及治理 / 維護應用程序的狀態(本地存儲),而無需用戶从新加载阅讀器。它是首選,由於它是輕量級的,模塊化的,需要起码的配置。它的速度也非常快,文件大小也很低。開發人員能夠很容易地把它放入任何項目或現有的框架中。
隨著 Vue.js 逐渐成爲更多開發者的首選框架,這里有 8 個值得關注的 UI 組件,心愿能在 2019 年整合到妳的項目中。在每個組件的开端,我都增加了該組件 GitHub 倉庫账戶的链接,以讓妳能夠做出奉獻。
word embedding 有一个乏味的个性,就是它可能帮忙实现类比推理。
举个栗子
在这里咱们仍旧应用上一节用到的这个例子表格:
Man (5391) Woman (9853) King (4914) Queen (7157) Apple (456) Orange (6257) Gender −11−0.950.970.000.01 Royal 0.010.020.930.95−0.010.00 Age 0.030.020.70.690.03−0.02 Food 0.040.010.020.010.950.97 … ………………\begin{array}{c|cccccc} & \begin{array}{c} \text {Man} \ (5391) \end{array} & \begin{array}{c} \text {Woman} \ (9853) \end{array} & \begin{array}{c} \text {King} \ (4914) \end{array} & \begin{array}{c} \text {Queen} \ (7157) \end{array} & \begin{array}{c} \text {Apple} \ (456) \end{array} & \begin{array}{c} \text {Orange} \ (6257) \end{array} \ \hline \text {Gender} & -1 & 1 & -0.95 & 0.97 & 0.00 & 0.01 \ \text {Royal} & 0.01 & 0.02 & 0.93 & 0.95 & -0.01 & 0.00 \ \text {Age} & 0.03 & 0.02 & 0.7 & 0.69 & 0.03 & -0.02 \ \text {Food} & 0.04 & 0.01 & 0.02 & 0.01 & 0.95 & 0.97\ \text {…} & … & … & … & … & … & … \end{array} Gender Royal Age Food … Man (5391)−10.010.030.04… Woman (9853)10.020.020.01… King (4914)−0.950.930.70.02… Queen (7157)0.970.950.690.01… Apple (456)0.00−0.010.030.95… Orange (6257)0.010.00−0.020.97…
当初咱们提出一个问题:
man 对应于 woman。那么 king 应该对应于什么?
讲道理咱们应该晓得答案:
Queen
应用 word embedding 就能够实现主动的推理。
上一节咱们说的是提取了 300 个特色,在这里咱们仍旧只用前 4 个特色。
Man:
e5391=[−10.010.030.09]e_{5391} = \left[\begin{array}{c}-1\0.01\0.03\0.09 \end{array}\right]e5391=⎣⎢⎢⎢⎡−10.010.030.09⎦⎥⎥⎥⎤
Woman:
e9853=[10.020.020.01]e_{9853} = \left[\begin{array}{c}1\0.02\0.02\0.01 \end{array}\right]e9853=⎣⎢⎢⎢⎡10.020.020.01⎦⎥⎥⎥⎤
King:
e4914=[−0.950.930.700.02]e_{4914}= \left[\begin{array}{c}-0.95\0.93\0.70\0.02 \end{array}\right]e4914=⎣⎢⎢⎢⎡−0.950.930.700.02⎦⎥⎥⎥⎤
Queen:
e7157=[0.970.950.690.01]e_{7157}= \left[\begin{array}{c}0.97\0.95\0.69\0.01 \end{array}\right]e7157=⎣⎢⎢⎢⎡0.970.950.690.01⎦⎥⎥⎥⎤
当初对其做减法咱们能够发现一个乏味的事件:
eman−ewoman=e5391−e9853=[−10.010.030.09]−[10.020.020.01]≈[−2000]e_{man}-e_{woman} = e_{5391}-e_{9853} = \left[\begin{array}{c}-1\0.01\0.03\0.09 \end{array}\right] – \left[\begin{array}{c}1\0.02\0.02\0.01 \end{array}\right] \approx \left[\begin{array}{c} -2 \0\0\0 \end{array}\right]eman−ewoman=e5391−e9853=⎣⎢⎢⎢⎡−10.010.030.09⎦⎥⎥⎥⎤−⎣⎢⎢⎢⎡10.020.020.01⎦⎥⎥⎥⎤≈⎣⎢⎢⎢⎡−2000⎦⎥⎥⎥⎤
同样:
eking−equeen=e4914−e7157=[−0.950.930.700.02]−[0.970.950.690.01]≈[−2000]e_{king}-e_{queen} = e_{4914}-e_{7157} = \left[\begin{array}{c}-0.95\0.93\0.70\0.02 \end{array}\right] -\left[\begin{array}{c}0.97\0.95\0.69\0.01 \end{array}\right] \approx \left[\begin{array}{c} -2 \0\0\0 \end{array}\right]eking−equeen=e4914−e7157=⎣⎢⎢⎢⎡−0.950.930.700.02⎦⎥⎥⎥⎤−⎣⎢⎢⎢⎡0.970.950.690.01⎦⎥⎥⎥⎤≈⎣⎢⎢⎢⎡−2000⎦⎥⎥⎥⎤
此外:
eapple−eorange=e456−e6257=[0.00−0.010.030.95]−[0.010.00−0.020.97]≈[0000]e_{apple}-e_{orange} = e_{456}-e_{6257} = \left[\begin{array}{c}0.00\-0.01\0.03\0.95 \end{array}\right] -\left[\begin{array}{c}0.01\0.00\-0.02\0.97 \end{array}\right] \approx \left[\begin{array}{c} 0 \0\0\0 \end{array}\right]eapple−eorange=e456−e6257=⎣⎢⎢⎢⎡0.00−0.010.030.95⎦⎥⎥⎥⎤−⎣⎢⎢⎢⎡0.010.00−0.020.97⎦⎥⎥⎥⎤≈⎣⎢⎢⎢⎡0000⎦⎥⎥⎥⎤
从下面这个三个式子中咱们能够得出 man
和 woman 的次要区别在性(gender)这一项上。King 和 queen 的区别也次要是在性别这一项上。在这 4 个特色上都没有什么区别。因为他们无所谓性别、权力、年龄,并且他们都是食物。
算法
“man 对应于 woman。那么 king 应该对应于什么?”
对于下面这个问题,咱们如何将其利用到算法之中呢。
eman−ewoman≈eking−e?e_{man}-e_{woman} \approx e_{king}-e_{?}eman−ewoman≈eking−e?