The most underrated BSS algorithm - SOBI-RO
steemstem·@alexs1320·
0.000 HBDThe most underrated BSS algorithm - SOBI-RO
In science, just as in the "general life", marketing is the key for success. If we are speaking about mathematics/ chemometrics, the most striking example is the popularity of the [MCR-ALS](https://mcrals.wordpress.com/download/mcr-als-2-0-toolbox/) algorithm. Ok, it's nice, it has Matlab based GUI and there are countless workshops, conferences and seminars devoted to MCR-ALS. The result? More than **4.000** References!!! The problem is that MCR-ALS is simply not that good in practice. I've tested its performances on many different datasets and it was always "acceptable" and occasionally "good". On the other hand, there is the most under-rated algorithm ever invented. The silent, discrete hero who knows how to save the day - the [**SOBI-RO**](http://www.bsp.brain.riken.jp/ICALAB/ICALABSignalProcDownload.php). This method stood the test of time and solved **everything** I've ever put into as the input. * Sparse signals, like EPR - works perfectly * Strange signals that you can't define by words (yes, FTIR) - works * Multispectral images with some strong noise - no problemo But... [ICALAB](http://www.bsp.brain.riken.jp/ICALAB/ICALABSignalProcDownload.php), Matlab based toolbox is not working on the majority of Matlab versions (yes, you will lose some nerves. Ok, a lot of nerves...). There are no crash courses and the community is as narrow as the laser beam. The result - **66** ScholarGoogle hits. <center>  </center> <center> Forgotten road for the forgotten algorithm. Source, [Pixabay](https://pixabay.com/en/route-66-sign-highway-road-drive-868967/) and Foundry </center> ## The origins --------------- If you are into the field of Image/Signal processing, the name Andrzej Cichocki is probably related to [this book](https://www.amazon.com/exec/obidos/ASIN/0471607916/qid=1023074154/sr=2-1/ref=sr_2_1/104-9994641-1994322). It starts basically as any other BSS (blind source separation) algorithm,  The input (x) is the product of the source components (s) and the mixing matrix (A) + some noise (v). In my previous post, you can read about the [ICA](https://steemit.com/steemstem/@alexs1320/math-from-finland-yes-it-s-fast-fastica). The beginning is the same. Actually, there is the small (t) in the brackets...: > If sources are spatially uncorrelated (less restrictive condition than the statistical independence) but temporally correlated (i.e., each source has non-vanishing temporal correlations), then second-order statistics (SOS) is sufficient to estimate the mixing matrix ##### What on Earth is the "second-order statistics"? ----------------- Actually, this is easy. In statistics, the [L-moments](https://en.wikipedia.org/wiki/L-moment) are describing the distribution. The first moment is mean (not evil...). The second moment is the variance. Then we have skewness and kurtosis. All higher order moments are without the name. If there is no temporal structure, such higher-order statistics is essential (HOS). ##### Why do we need any of these? ----------- The answer is simple - to identify the components with the presumption that those components are independent in statistical meaning. In other words to distinguish the signals from the noise (that is in most cases Gaussian). This is why "correlation hunters" (I just made up this expression) such as PCA/FA based algorithms fail if the signals are too noisy or if there are way too many components or if the mixing matrix is not ideal or... Just don't use them. ICA related algorithms are better in challenging cases. But... In FastICA, you can choose the higher order statistics and sometimes it just gives badly separated components. In practice, it will fail with the signals which are sparse in some regions and "boring" in the other regions. Some artefact will be recognized as the component and the noise will be often joined to the signals. SOBI is the solution for the proper recognition of the noise. ##### What is "RO"? ------------- RO stands for "robust whitening", the pre-processing step that can be found in the variety of methods: > The conventional whitening exploits the equal-time correlation matrix of the data, so that the effect of additive noise can not be removed. The idea of a new whitening method lies in utilizing the time-delayed correlation matrices that are not sensitive to the white noise. A new whitening method is named as a robust whitening, motivated by the fact that it is not sensitive to the white noise Adding even more noise seems to be counterintuitive, but sometimes it's the crucial step for even starting the algorithm. For example, let's assume we have some grey-ish multispectral image. All the channels will be almost the same. If you want to extract 3 new components from them and make some nice RBG composite, many algorithms will give ony 1 or 2 components (and explain all the variance, thus the noise will be the third). But, if you add some artificial noise, the compontns will become just enough different to beeligiblee for the proper extraction. And why you want to use RO instead of just sprinkle the data with some Gaussian noise? It's simple, if you put more Gaussian noise into the present (mostly) Gaussian noise, it will be difficult to remove it later. But if some other type of noise is introduced, it will be much easier to remove it. ## Practical issues: ------- * Download [ICALAB](http://www.bsp.brain.riken.jp/ICALAB/ICALABSignalProcDownload.php) * Try using it with some older versions of Matlab (2007 should be fine) * The highest possible numeber of extrated componts is equal to the number of input spectra * Yes, you can try it for image analysis as well. Just convert them to vectors, and put them into the matrix If you like practical Math, follow @terrylovejoy. There are already 10 posts about astrophotography on a very high level of competence. References: --------- * [Link](http://www.bsp.brain.riken.jp/ICALAB/ICALABSignalProcDownload.php) to ICALAB, with the SOBI-RO included * Dr. Andrzej Cichocki's [List of Publications](http://www.bsp.brain.riken.jp/~cia/publications.html) * Book, Adaptive Blind Signal and Image Processing, [Amazon](https://www.amazon.com/exec/obidos/ASIN/0471607916/qid=1023074154/sr=2-1/ref=sr_2_1/104-9994641-1994322) * Choi, S., Cichocki, A., & Beloucharni, A. (2002). Second order nonstationary source separation. Journal of VLSI signal processing systems for signal, image and video technology, 32(1-2), 93-104. [link](http://www.bsp.brain.riken.jp/publications/2002/seons02.pdf) <center> [](https://steemit.com/trending/steemstem) </center>
👍 alexs1320, ied, scienceangel, bachuslib, dejan.vuckovic, nelkeljdm, smokeynagata, sbi5, shaka, lemouth, planetenamek, sco, monie, doctor-cog-diss, scandinavianlife, vladimir-simovic, aboutcoolscience, accountshop, jasonwhite, auctionhouse, ethercraft, steemit-meemit, livecoinwatch, cryptogrinders, hodlgang, doctorcro, jaca, zoricatech, teamserbia, teofilex11, thewriterguy, peconi, nikolina, ella.fitzgerald, milosm2302, siklosi, laniakea1, bojana.m95, gorangoran, jny.untraveled, nesni996, rifkan, anasav, hidden84, stormlight24, malaana24, srba, milovancevic, vranilo, sasatosevski, vladsphotography, whitewarlike, miroslavrc, laki87, nataschachem, lazarb1, djordjerajic, headmade, mixology, nikolanikola, niknikola, markovicmarko, modern-trojan, katrin7, sanja.jovana, hajdukveljko, nevena, marepzs, stolevole, iamnemanja, clickclack, mandalaflower, nsbachurin, ruth-girl, procrastilearner, svarozich, sriz, yu-stem, deholt,