# HG changeset patch # User Pascal Lamblin # Date 1284748189 14400 # Node ID 3a1225034751dc355d538c0474e3ce930a476750 # Parent 77b6ed85d3f787cb700dfed1e789f879839b79bb# Parent aee22eb2c117478fd7e4bf3254c26db89615e6d8 merge diff -r aee22eb2c117 -r 3a1225034751 doc/v2_planning/API_learner.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/v2_planning/API_learner.txt Fri Sep 17 14:29:49 2010 -0400 @@ -0,0 +1,95 @@ +# A list of "task types" + +''' + List of tasks types: + Attributes + + sequential + spatial + structured + semi-supervised + missing-values + + + Supervised (x,y) + + classification + regression + probabilistic classification + ranking + conditional density estimation + collaborative filtering + ordinal regression ?= ranking + + Unsupervised (x) + + de-noising + feature learning ( transformation ) PCA, DAA + density estimation + inference + + Other + + generation (sampling) + structure learning ??? + + +Notes on metrics & statistics: + - some are applied to an example, others on a batch + - most statistics are on the dataset +''' + + +class Learner(Object): + ''' + Takes data as inputs, and learns a prediction function (or several). + + A learner is parametrized by hyper-parameters, which can be set from the + outside (a "client" from Learner, that can be a HyperLearner, a + Tester,...). + + The data can be given all at a time as a data set, or incrementally. + Some learner need to be fully trained in one step, whereas other can be + trained incrementally. + + The question of statistics collection during training remains open. + ''' + #def use_dataset(dataset) + + # return a dictionary of hyperparameters names(keys) + # and value(values) + def get_hyper_parameters() + def set_hyper_parameters(dictionary) + + + + + # Ver B + def eval(dataset) + def predict(dataset) + + # Trainable + def train(dataset) # train until complition + + # Incremental + def use_dataset(dataset) + def adapt(n_steps =1) + def has_converged() + + # + + +# Some example cases + +class HyperLearner(Learner): + + ### def get_hyper_parameter_distribution(name) + def set_hyper_parameters_distribution(dictionary) + + +def bagging(learner_factory): + for i in range(N): + learner_i = learner_factory.new() + # todo: get dataset_i ?? + learner_i.use_dataset(dataset_i) + learner_i.train() diff -r aee22eb2c117 -r 3a1225034751 doc/v2_planning/learn_meeting.py --- a/doc/v2_planning/learn_meeting.py Fri Sep 17 13:57:27 2010 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ - - -def bagging(learner_factory): - for i in range(N): - learner_i = learner_factory.new() - # todo: get dataset_i ?? - learner_i.use_dataset(dataset_i) - learner_i.train() -''' - List of tasks types: - Attributes - - sequential - spatial - structured - semi-supervised - missing-values - - - Supervised (x,y) - - classification - regression - probabilistic classification - ranking - conditional density estimation - collaborative filtering - ordinal regression ?= ranking - - Unsupervised (x) - - de-noising - feature learning ( transformation ) PCA, DAA - density estimation - inference - - Other - - generation (sampling) - structure learning ??? - - -Notes on metrics & statistics: - - some are applied to an example, others on a batch - - most statistics are on the dataset -''' -class Learner(Object): - - #def use_dataset(dataset) - - # return a dictionary of hyperparameters names(keys) - # and value(values) - def get_hyper_parameters() - def set_hyper_parameters(dictionary) - - - - - # Ver B - def eval(dataset) - def predict(dataset) - - # Trainable - def train(dataset) # train until complition - - # Incremental - def use_dataset(dataset) - def adapt(n_steps =1) - def has_converged() - - # - -class HyperLearner(Learner): - - ### def get_hyper_parameter_distribution(name) - def set_hyper_parameters_distribution(dictionary) diff -r aee22eb2c117 -r 3a1225034751 doc/v2_planning/learner.txt --- a/doc/v2_planning/learner.txt Fri Sep 17 13:57:27 2010 -0400 +++ b/doc/v2_planning/learner.txt Fri Sep 17 14:29:49 2010 -0400 @@ -1,6 +1,6 @@ Comittee: AB, PL, GM, IG, RP, NB, PV -Leader: ? +Leader: PL Discussion of Function Specification for Learner Types ======================================================