IRootLab
An Open-Source MATLAB toolbox for vibrational biospectroscopy
clssr_ann Class Reference

Detailed Description

Neural Network Classifier. This is a wrapper to MATLAB's Neural Networks Toolbox.

Check MATLAB's NN toolbox documentation on net.trainParam

This is by default tuned to finished trained mostly when the net overfits:

  • High number of epochs
  • goal is zero (will only stop according to this criterion if reaches 100% classification)
  • min_grad is very small as well (1e-5)

Input weights are initialized to 'midpoint', and layer weights are initialized to zero. This way, the classifier will be deterministic (the default MATLAB "initnw" sounds nice but has randomness in it)

See also
uip_clssr_ann.m

Definition at line 14 of file clssr_ann.m.

+ Inheritance diagram for clssr_ann:
+ Collaboration diagram for clssr_ann:

Public Member Functions

function clssr_ann (in o)
 
function get no_outputs (in o)
 
function boot (in o)
 Resets classlabels and calls clssr::boot() More...
 
function get_classes (in o, in data)
 
function draw_domain (in o, in parameters)
 
function get_grades (in o, in params)
 Abstract. Method to get the per-feature grades. BMTool stuff. More...
 
function get_gradeslegend (in o, in params)
 Abstract. Method to get block title based on passed parameters. BMTool stuff. More...
 
function use (in o, in data)
 Applies block to data. More...
 
function train (in o, in data, in varargin)
 Trains block. More...
 
function get_description (in o, in flag_short)
 
function setbatch (in o, in params)
 Sets several properties of an object at once. More...
 
function get_methodname (in o, in flag_short)
 
function get_report (in o)
 Object reports are plain text. HTML would be cool but c'mon, we don't need that sophistication. More...
 
function get_html (in o, in flag_stylesheet)
 
function get_params (in o, in data)
 Calls Parameters GUI. More...
 
function extract_log (in o)
 
function get_ancestry (in o, in flag_title)
 

Public Attributes

Property flag_class2mo
 whether classes must be converter into multiple-output boolean targets. More...
 
Property hiddens
 = [1]. Number of neurons in each hidden layer. More...
 
Property goal
 
Property epochs
 = 1000 More...
 
Property show
 = 10. More...
 
Property lr
 = 0.05. More...
 
Property max_fail
 = 15 Maximum number of validation increases More...
 
Property flag_show_window
 =0. More...
 
Property flag_weighted
 Whether to weight the observations (for unbalanced classes) More...
 
Property min_grad
 =1e-5. Minimum gradient. More...
 
Property flag_datay
 
Property title
 
Property color
 

Protected Member Functions

function do_boot (in o)
 
function do_train (in o, in data)
 
function do_use (in o, in data)
 
function get_no_outputs (in o)
 
function do_draw_domain (in o, in params)
 
function do_get_report (in o)
 Default report. More...
 
function do_get_html (in o)
 Abstract. HTML inner body. More...
 

Protected Attributes

Property net
 
Property classlabels
 
Property no_outputs
 
Property inputclass
 
Property flag_bootable
 =0. (High-Level setting and internal function) Whether or not the block is bootable. More...
 
Property flag_trainable
 =0. (High-Level + internal function). Whether or not the block can be trained, or completely non-data-based. More...
 
Property flag_incrtrain
 
Property flag_fixednf
 =1. (internal function) If true, dataset number of features will be checked upon training and using. Ignored if o.flag_trainable is 0. More...
 
Property flag_fixedno
 =0. (internal function) If true, dataset number of observations will be checked upon training and using. Ignored if o.flag_trainable is 0. More...
 
Property flag_multiin
 =0. (High-Level setting (gencode)) Whether block allows/expects multiple objects as input. More...
 
Property flag_out
 =1. (High-Level setting (gencode)) Whether the block generates any output at all (counterexample: vis blocks) More...
 
Property flag_train_inliers_only
 
Property flag_train_require_inliers
 
Property nf
 =-1. Number of features. Cleared at boot(), assigned or reinforced at train(). More...
 
Property no
 =-1. Number of observations. More...
 
Property flag_trained
 =0. Set to 1 by train() if training is successful; set back to 0 after booting. More...
 
Property flag_booted
 =0. Set to 1 by boot() after booting the block More...
 
Property time_train
 Trainings time. More...
 
Property time_use
 Use time. More...
 
Property classtitle
 Class Title. Should have a descriptive name, as short as possible. More...
 
Property short
 Short for the method name. More...
 
Property flag_params
 
Property flag_ui
 (GUI setting) Whether to "publish" in blockmenu and datatool. Note that a class can be "published" without a GUI (set flag_params=0 in this case, at the class constructor). More...
 
Property moreactions
 (GUI setting) String cell containing names of methods that may be called from the GUIs More...
 

Constructor & Destructor Documentation

function clssr_ann::clssr_ann ( in  o)

Member Function Documentation

function clssr::boot ( in  o)
inherited

Resets classlabels and calls clssr::boot()

function clssr_ann::do_boot ( in  o)
protected
function clssr::do_draw_domain ( in  o,
in  params 
)
protectedinherited
function irobj::do_get_html ( in  o)
protectedinherited

Abstract. HTML inner body.

function irobj::do_get_report ( in  o)
protectedinherited

Default report.

function clssr_ann::do_train ( in  o,
in  data 
)
protected
function clssr_ann::do_use ( in  o,
in  data 
)
protected
function clssr::draw_domain ( in  o,
in  parameters 
)
inherited
function irobj::extract_log ( in  o)
inherited
Parameters
o
Returns
[o, log]
function irobj::get_ancestry ( in  o,
in  flag_title 
)
inherited
Parameters
o
flag_title=1
function clssr::get_classes ( in  o,
in  data 
)
inherited
function irobj::get_description ( in  o,
in  flag_short 
)
inherited

Returns description string

Precedence according with flag_short:

  • 0: title > short > classtitle
  • 1: short > title > classtitle
Parameters
flag_short=0I am sealing this to make sure that no class will try to improvise on this function.
function block::get_grades ( in  o,
in  params 
)
inherited

Abstract. Method to get the per-feature grades. BMTool stuff.

function block::get_gradeslegend ( in  o,
in  params 
)
inherited

Abstract. Method to get block title based on passed parameters. BMTool stuff.

function irobj::get_html ( in  o,
in  flag_stylesheet 
)
inherited
Parameters
flag_stylesheet=1Whether to include the stylesheet in the HTML
function irobj::get_methodname ( in  o,
in  flag_short 
)
inherited

This is used only to compose sequence string e.g. xxx->yyy->zzz

Parameters
flag_short=0
function clssr::get_no_outputs ( in  o)
protectedinherited
function irobj::get_params ( in  o,
in  data 
)
inherited

Calls Parameters GUI.

If flag_params, tries uip_<class>.m. If fails, tries uip_<ancestor>.m and so on

function irobj::get_report ( in  o)
inherited

Object reports are plain text. HTML would be cool but c'mon, we don't need that sophistication.

function get clssr::no_outputs ( in  o)
inherited
function irobj::setbatch ( in  o,
in  params 
)
inherited

Sets several properties of an object at once.

Parameters
o
paramsCell followint the pattern
{'property1', value1, 'property2', value2, ...} 
function block::train ( in  o,
in  data,
in  varargin 
)
inherited

Trains block.

function block::use ( in  o,
in  data 
)
inherited

Applies block to data.

Member Data Documentation

Property clssr::classlabels
protectedinherited

Definition at line 11 of file clssr.m.

Property irobj::classtitle
protectedinherited

Class Title. Should have a descriptive name, as short as possible.

Definition at line 50 of file irobj.m.

Property irobj::color
inherited

=[0, .8, 0]. multipurpose feature, routines may use it for different things. Major use is to change the background of objtool and blockmenu. See also classes_html.m

Definition at line 42 of file irobj.m.

Property clssr_ann::epochs

= 1000

Definition at line 33 of file clssr_ann.m.

Property block::flag_bootable
protectedinherited

=0. (High-Level setting and internal function) Whether or not the block is bootable.

Definition at line 14 of file block.m.

Property block::flag_booted
protectedinherited

=0. Set to 1 by boot() after booting the block

Definition at line 69 of file block.m.

Property clssr_ann::flag_class2mo

whether classes must be converter into multiple-output boolean targets.

Definition at line 20 of file clssr_ann.m.

Property clssr::flag_datay
inherited

Definition at line 23 of file clssr.m.

Property block::flag_fixednf
protectedinherited

=1. (internal function) If true, dataset number of features will be checked upon training and using. Ignored if o.flag_trainable is 0.

Definition at line 28 of file block.m.

Property block::flag_fixedno
protectedinherited

=0. (internal function) If true, dataset number of observations will be checked upon training and using. Ignored if o.flag_trainable is 0.

Definition at line 31 of file block.m.

Property block::flag_incrtrain
protectedinherited

=0. (internal function). Whether or not the block accepts incremental training. The meaning is:

  • If YES, it means that the block can adapt/evolve everytime its train() method is called
  • If NO, the block can be trained only once, and calling its train() method many times can lead to unpredictable results

Definition at line 23 of file block.m.

Property block::flag_multiin
protectedinherited

=0. (High-Level setting (gencode)) Whether block allows/expects multiple objects as input.

Definition at line 35 of file block.m.

Property block::flag_out
protectedinherited

=1. (High-Level setting (gencode)) Whether the block generates any output at all (counterexample: vis blocks)

Definition at line 38 of file block.m.

Property irobj::flag_params
protectedinherited

=1. (GUI setting) Whether to call a GUI when the block is selected in blockmenu.m . If true, a routine called "uip_"<class name> will be called.

Definition at line 57 of file irobj.m.

Property clssr_ann::flag_show_window

=0.

Definition at line 45 of file clssr_ann.m.

Property block::flag_train_inliers_only
protectedinherited

If true, train() will pass on to do_train() a dataset with inliers only. If this flag is true, flag_train_require_inliers will be ignored, because flag_train_inliers_only being true is one way to solve the "inliers requirement".

Definition at line 46 of file block.m.

Property block::flag_train_require_inliers
protectedinherited

=1. If true, train() will give an error if the dataset has outliers. This is true by default, because the developer should be aware of outliers being inputted into a training algorithm.

Definition at line 51 of file block.m.

Property block::flag_trainable
protectedinherited

=0. (High-Level + internal function). Whether or not the block can be trained, or completely non-data-based.

Definition at line 17 of file block.m.

Property block::flag_trained
protectedinherited

=0. Set to 1 by train() if training is successful; set back to 0 after booting.

Definition at line 66 of file block.m.

Property irobj::flag_ui
protectedinherited

(GUI setting) Whether to "publish" in blockmenu and datatool. Note that a class can be "published" without a GUI (set flag_params=0 in this case, at the class constructor).

Definition at line 60 of file irobj.m.

Property clssr_ann::flag_weighted

Whether to weight the observations (for unbalanced classes)

Definition at line 48 of file clssr_ann.m.

Property clssr_ann::goal

=0. Stands for the goal MSE (Mean Squared Error). Training stops when achieving this error. We don't know what to expect, so it is fair to expect 0 error (100 classification).

Definition at line 30 of file clssr_ann.m.

Property clssr_ann::hiddens

= [1]. Number of neurons in each hidden layer.

Definition at line 23 of file clssr_ann.m.

Property block::inputclass
protectedinherited

='irdata'. (High-Level setting) Class or classes (can be string or cell of strings) that the block can deal with. Allows for objtool and datatool to know (when appropriate) which blocks are applicable to the selected object(s).

Definition at line 11 of file block.m.

Property clssr_ann::lr

= 0.05.

Definition at line 39 of file clssr_ann.m.

Property clssr_ann::max_fail

= 15 Maximum number of validation increases

Definition at line 42 of file clssr_ann.m.

Property clssr_ann::min_grad

=1e-5. Minimum gradient.

Definition at line 51 of file clssr_ann.m.

Property irobj::moreactions
protectedinherited

(GUI setting) String cell containing names of methods that may be called from the GUIs

Definition at line 63 of file irobj.m.

Property clssr_ann::net
protected

Definition at line 56 of file clssr_ann.m.

Property block::nf
protectedinherited

=-1. Number of features. Cleared at boot(), assigned or reinforced at train().

Definition at line 60 of file block.m.

Property block::no
protectedinherited

=-1. Number of observations.

Definition at line 63 of file block.m.

Property clssr::no_outputs
protectedinherited

Definition at line 16 of file clssr.m.

Property irobj::short
protectedinherited

Short for the method name.

Definition at line 53 of file irobj.m.

Property clssr_ann::show

= 10.

Definition at line 36 of file clssr_ann.m.

Property block::time_train
protectedinherited

Trainings time.

Definition at line 73 of file block.m.

Property block::time_use
protectedinherited

Use time.

Definition at line 76 of file block.m.

Property irobj::title
inherited

Definition at line 38 of file irobj.m.


The documentation for this class was generated from the following file: