1. 程式人生 > >L-BFGS(minFunc):Step direction is illegal

L-BFGS(minFunc):Step direction is illegal

在使用minFunc實現的L-BFGS優化方法進行AutoEncoder時,提示Step direction is illegal,解決方法如下:

將影象的標準差歸一化至1,即每個影象減去該影象的均值然後除以該影象的標準差。

即使按上述方式處理後依然提示如下所示的Warning,但是可以運行了。

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate.
RCOND =  1.617658e-20.
> In polyinterp at 88
  In WolfeLineSearch at 118
  In minFunc at 1044
  In stlExercise at 99
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate.
RCOND =  1.179263e-17.
> In polyinterp at 88
  In WolfeLineSearch at 118
  In minFunc at 1044
  In stlExercise at 99