當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JSMA算法笔记
JSMA算法筆記
- JSMA算法的代碼和作者解讀(這是一個超鏈接)
- 在上述文章中解釋了JSMA算法的作用和原理,這里簡單說一下代碼的運行過程
- 第一步:求jacobian矩陣
- 第二步:求出alpha矩陣和beta矩陣
- 第三步:根據(jù)公式求解最大值
- 第四步:在找到的點上加上擾動和判斷類型,失敗則繼續(xù)迭代
- 沒說到的地方:
JSMA算法的代碼和作者解讀(這是一個超鏈接)
在上述文章中解釋了JSMA算法的作用和原理,這里簡單說一下代碼的運行過程
input:
output:
基本公式:
前向?qū)?shù),描述了i輸入分量對于j分類分值的影響
第一步:求jacobian矩陣
矩陣中的(i,j)是第i個分類對input的x(i)的偏導
第二步:求出alpha矩陣和beta矩陣
通過對jacobian矩陣進行操作可以得到alpha和beta矩陣
第三步:根據(jù)公式求解最大值
求解最大值的過程中,作者發(fā)現(xiàn)如果根據(jù)上述公式尋找合適的一個點,這個點可能不存在或者很難找到。所以作者決定采用下述公式,同時尋找一對點:
同時在圖中出現(xiàn)的限制條件,采用mask矩陣的方式,不符合條件的則在該位置置為0,最后mask矩陣和alpha,beta矩陣相乘得到Map。
第四步:在找到的點上加上擾動和判斷類型,失敗則繼續(xù)迭代
沒說到的地方:
在代碼中存在一些調(diào)整,比如說對于該位置達到修改值上限(下限)的話則不在搜索該位置,該位置在mask中也會置為0.存在正負擾動值,但兩者邏輯都差不多。
總結(jié)
- 上一篇: 如何快速理解读懂他人代码(下)——技巧学
- 下一篇: 深入浅出etcd系列 – 心跳和选举