2014-02-25 7:52 GMT+01:00 Gael Varoquaux <gael.varoqu...@normalesup.org>:
>> Extreme learning machine: theory and applications has 1285 citations
>> and it got published in 2006; a  large number of citations for a fairly
>> recent article. I believe scikit-learn could add such an interesting
>> learning algorithm along with its variations (weighted ELMs, sequential
>> ELMS, etc.)
>
> It does sound like a possible candidate for inclusion.

We have a PR that implements them, but in too convoluted a way. My
personal choice for implementing these would be a transformer doing a
random projection + nonlinear activation. That way, you can stack any
linear model on top (think SGDClassifier for large-scale work) and get
a basic ELM. I've toyed with this variant before (typing this from
memory):

class RandomHiddenLayer(BaseEstimator, TransformerMixin):
    def __init__(self, n_components=100, random_state=None):
        self.n_components = n_components
        self.random_state = random_state
    def fit(self, X, y=None):
        random_state = check_random_state(self.random_state)
        self.components_ = random_state.randn(n_components, X.shape[1])
        return self
    def transform(self, X):
        return np.tanh(safe_sparse_dot(X, self.components_.T))

Now, make_pipeline(RandomHiddenLayer(), SGDClassifier()) is an ELM
except with regularized hinge loss instead of least squares. I guess
LDA can be used to get the "real" ELM.

I recently implemented baseline RBF networks in pretty much the same
way: k-means + RBF kernel + linear classifier. I didn't submit a PR
because it's just a pipeline of existing components.

>> Chances are the Multi-layer perceptron PR would be completed before the
>> summer, so it won't be included in the GSoC proposal.
>
>> In order not to get into a scope creep, I compiled the following list of
>> algorithms to be proposed for the GSoC 2014,
>
>> 1) Extreme Learning Machines  
>> (http://sentic.net/extreme-learning-machines.pdf)
>>     1a) Weighted Extreme Learning Machines
>>     1b) Sequential Extreme Learning machines

Does sequential mean for sequence data?

------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

Reply via email to