最近爲了找一些如何搞reference point,老闆讓我去看下NSGAIII的paper。老闆說上課的時候講過的,搞得我很慚愧,我當時沒好好聽。並且看了老闆的PPT和論文上說的差別有點大啊。纔拿到這個paper,發現第一塊就不明白了,我打算每看懂一部分就做個記錄,一則加深我的理解,二則在複述的過程中可能會有更多的新發現。
首先NSGAIII面臨的算法就是normalization objectives。其實當看懂這部分之後, 它做的工作的確是normalization的工作。這塊是我在結合了JMetal對應的代碼之後,我纔看懂算法的。並且在IEEE上檢索的到這篇論文其實不如作者主頁提供的那個版本, 在作者提供的版本上有那個ASF的具體的公司,在IEEE提供的版本上面是沒有ASF公式的,肯定是看不懂的。
1:首先是計算在每個目標維度
2:此時可以用一個目標爲2的例子來思考下,就是讓點靠上座標軸,因爲比如在DTLZ1 3目標的問題中,知道TF在三個座標軸上的交點的截距是0.5,但是在未達到收斂之前,可能TF的範圍都還很小,都還沒靠上座標軸,這樣已減去最小值,就可以讓靠上座標軸了。
3:靠上座標軸之後,就要找到這些靠上座標軸的點了,也就是文中算法說的extreme points。文中使用了ASF來找,是分別從每個維度上對
4:找到這種extreme point之後,接下來就找對應座標軸上的截距,其實這個截距就是這個extreme point在對應座標軸上的座標值。我們記錄爲
5:接下來就是歸一化了,也就是
此時完成了objectives 的normalization了。