Cytoscape Diffusion Algorithm - plugins

Can anyone tell me what diffusion algorithm is used by the tool diffusion in Cytoscape? Also, I found a plugin genemania in Cytoscape, does it do the same thing? I wish to get heat scores for the proteins in my network by providing a subset of proteins from this network as the positive set to genemania.
Thank you

The diffusion algorithm is described in the paper: Carlin DE, Demchak B, Pratt D, Sage E, Ideker T. Network propagation in the cytoscape cyberinfrastructure. PLoS Comput Biol. 2017 Oct;13(10):e1005598. doi: 10.1371/journal.pcbi.1005598. eCollection 2017 Oct. PubMed PMID: 29023449; PubMed Central PMCID: PMC5638226. GeneMANIA uses a different algorithm completely which you can read about here: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2447538/
-- scooter

Related

How to convert a system of non-linear XOR equations to CNF

I'm trying to analyse phase shift fault analysis in trivium and came across a system of non-linear equations to solve. I read about sat-solvers and Gaussian elimination but unfortunately, none of the articles I found on the internet shows how to tackle a non-linear system of equations with a large number of variables (here trivium gives 288 variables). So I'm pretty much stuck now on how to solve for these variables.
You could express your problem as a network of Boolean gates - a netlist - and use bc2cnf to translate it to CNF. You can instruct bc2cnf to output XOR clauses in XCNF format, an extended CNF format with "x" clauses denoting XOR clauses.
SAT solvers like cryptominisat are capable of reading XCNF and/or detecting the contained XOR gates and performing Gaussian elimination. Cryptominisat reportedly has been used several times to attack the Trivium stream cipher.
I'd recommend taking a look at an SMT solver, e.g. Z3. With SMT you can express Boolean equations and inequalities in a natural way instead of bit-blasting everything down to a SAT instance. There's plenty of documentation online to get you started.

Difference between i-vector and d-vector

could someone please explain the difference between i-vector and d-vector? All I know about them is that they are widely used in speaker/speech recognition systems and they are kind of templates for representing speaker information, but I don't know the main differences.
I-vector is a feature that represents the idiosyncratic characteristics of the frame-level features' distributive pattern. I-vector extraction is essentially a dimensionality reduction of the GMM supervector (although the GMM supervector is not extracted when computing the i-vector). It's extracted in a similar manner with the eigenvoice adaptation scheme or the JFA technique, but is extracted per sentence (or input speech sample).
On the other hand, d-vector is extracted using DNN. To extract a d-vector, a DNN model that takes stacked filterbank features (similar to the DNN acoustic model used in ASR) and generates the one-hot speaker label (or the speaker probability) on the output is trained. D-vector is the averaged activation from the last hidden layer of this DNN. So unlike the i-vector framework, this doesn't have any assumptions about the feature's distribution (the i-vector framework assumes that the i-vector, or the latent variable has a Gaussian distribution).
So in conclusion, these are two distinct features extracted from totally different methods or assumptions. I recommend you reading these papers:
N. Dehak, P. Kenny, R. Dehak, P. Dumouchel, and P. Ouellet, "Front-end factor analysis for speaker verification," IEEE Transactions on Audio, Speech, and Language Processing, vol. 19, no. 4, pp. 788-798, 2011.
E. Variani, X. Lei, E. McDermott, I. L. Moreno, and J. G-Dominguez, "Deep neural networks for small footprint text-dependent speaker verification," in Proc. ICASSP, 2014, pp. 4080-4084.
I don't know how to properly characterize the d-vector in plain language, but I can help a little.
The identity vector, or i-vector, Is a spectral signature for a particular slice of speech, usually a sliver of a phoneme, rarely (as far as I can see) as large as the entire phoneme. Basically, it's a discrete spectrogram expressed in a form isomorphic to the Gaussian mixture of the time slice.
EDIT
Thanks to those who provided comments and a superior answer. I updated this only to replace the incorrect information from my original attempt.
A d-vector is extracted from a Deep NN, the mean of the feature vectors in the DNN's final hidden layer. This becomes the model for the speaker, used to compare against other speech samples for identification.

Conjugate Gradient with a noisy function

OK, so I'm doing RMS prop or SGD to get a neural network to learn it's parameters. But, after a while, both training and validation errors appear to have stagnated (outside of random fluctuations: I'm using dropout)..
So, I decided, to try to use conjugate gradient to refine the values. I still obviously don't want it to overfit, so I was keeping the dropout... But, of course, this makes the optimization function be noisy. So, I guess my question is: Does Conjugate Gradient (or L-BFGS or etc.) require noiseless functions? Or can they work in the presence of noise?
Thanks!
Gradient-based optimization algorithms are highly sensitive to noise. This is because the derivative calculation gets affected due to the discontinuities caused by the noise across the function domain.
To optimize noisy objective functions it is better to use heuristic algorithms: Genetic Algorithms, Simulated Annealing, Ant Colony, Particle Swarm... They Are not based on gradients and therefore they do not present the same weakness.
You can read more about these algorithms in the book:
Duc Pham, D. Karaboga, Intelligent Optimisation Techniques. London, United Kingdom: Springer-Verlag London, 2000.
If you are interested in Simulated Annealing, you can also read:
Peter Rossmanith, “Simulated Annealing” in Algorithms Unplugged, Vöcking, B., Alt, H., Dietzfelbinger, M., Reischuk, R., Scheideler, C., Vollmer, H., Wagner, D., Ed. Berlin, Germany: Springer-Verlag Berlin Heidelberg, 2011, ch. 41, pp. 393-400.

Estimate poisson noise in matlab

I have an image with Poisson noise, I need to estimate the noise level in this image(average and variance)
Is anyone know a known algorithm that does this,
Personally, I have not found.
I would be grateful if you answer me.
I am no expert in scintigraphic images, but I presume that you want to estimate the density of the source which are emitting radioactive signals with Poisson statistics.
Note that for Poisson observation, mean and variance are equal.
Estimating the intensity of an inhomogeneous Poisson observation is a well known problem. I recommend Bayesian methods. Here are some pointers:
Miller MI, Roysam B. Bayesian image reconstruction for emission tomography incorporating Good's roughness prior on massively parallel processors. Proc Natl Acad Sci U S A. 1991 Apr 15;88(8):3223-7. http://www.ncbi.nlm.nih.gov/pubmed/2014243
Nguyen MK, Guillemin H, Duvaut P. Bayesian MAP restoration of scintigraphic images. ICASSP 1999 http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=757577

CCA for Feature Fusion

In some of the multi-modal recognition methods, they are using Canonical Correlation Analysis (CCA) to fuse the two input feature vectors into a single and also a low dimension one.
Matlab has already the code for CCA which is:
[A,B,r,U,V] = canoncorr(X,Y);
See: http://www.mathworks.com/help/stats/canoncorr.html
I wonder how I can reach the final (fused) feature vector using this function.
Can someone explain the steps or suggest a reference, please?
I found out how to perform the feature fusion using CCA. I wrote a Matlab code to do it and shared the code in MATLAB Central.
Detailed descriptions can be found in this paper:
M. Haghighat, M. Abdel-Mottaleb, W. Alhalabi, "Fully Automatic Face Normalization and Single Sample Face Recognition in Unconstrained Environments," Expert Systems With Applications, vol. 47, pp. 23-34, April 2016.