0

我在spark上爲合成數據集做LogisticRegressionWithSGD。我已經使用香草梯度下降法計算了matlab上的誤差,R上約爲5%。我的模型中使用了類似的權重,我用它來生成y。數據集使用this示例生成。如何正確使用spark來獲取合成數據集的權重?

雖然我能夠在不同的步長調整以最終獲得非常接近的誤碼率,對於個人特徵的權重是不一樣的。事實上,它變化很大。我嘗試了LBFGS的火花,並且能夠在少量迭代中正確預測錯誤和重量。我的問題是隨着新加坡的火花迴歸邏輯迴歸。

重量我得到:

[0.466521045342,0.699614292387,0.932673108363,0.464446310304,0.231458578991,0.464372487994,0.700369689073,0.928407671516,0.467131704168,0.231629845549,0.46465456877,0.700207596219,0.935570594833,0.465697758292,0.230127949916] 

重量我想:

[2,3,4,2,1,2,3,4,2,1,2,3,4,2,1] 

攔截我越來越:0.2638102010832128 攔截我想:1

Q.1 。這是合成數據集的問題嗎?我曾嘗試用minBatchFraction,stepSize,迭代和攔截進行調優。我無法理解。

Q.2。爲什麼火花給我這個奇怪的重量?希望Spark的模型具有類似的權重會不會是錯誤的?

請讓我知道是否需要額外的細節,回答我的問題。

+0

你爲什麼期望四捨五入的整數權重?至少我可以說這不是一個常見的情況。其次,機器學習不保證給你想要的權重,他們是訓練算法的輸出。 –

+0

我在期待算法學習權重。它不一定是四捨五入的整數,但有些東西很接近。另外,由於合成數據集的創建方式,我期待這一點。我可能是錯的,但由於我能夠在Matlab和R上獲得非常接近我預期的權重的權重,我也試圖從spark的算法中獲得相同的結果。 – Sunil

+0

啊我看到了,有一點你可能要小心的是SGD(隨機梯度下降),它涉及一些隨機性。 –

回答

1

它實際上沒有收斂,你的權重是0和1之間的歸一化,而預期最大值是,乘你從SGD得到了與4的一切,你可以看到甚至截距值的相關性。

相關問題