You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Doc_BoxAlgorithm_VotingClassifier.dox-part 5.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. /**
  2. * \page BoxAlgorithm_VotingClassifier Voting Classifier
  3. __________________________________________________________________
  4. Detailed description
  5. __________________________________________________________________
  6. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Description|
  7. The purpose of this simple classifier is to choose between multiple two class classifiers which
  8. one mostly fits a condition. For example imagine \c n states. Each of those states can be either active
  9. or inactive. Additionally, imagine you want only one active state at a time. Then you can have \c n
  10. two-class classifiers telling for each state if it is active or not, and a following voting classifier
  11. that chooses which of those states is the <em>most active</em>.
  12. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Description|
  13. __________________________________________________________________
  14. Inputs description
  15. __________________________________________________________________
  16. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Inputs|
  17. You can add as many inputs as you need depending on the number of preceeding states.
  18. The inputs of this classifier can be changed to either streamed matrix of stimulations.
  19. In the case you choose stimulations, each active stimulation gives a point
  20. to the preceeding state. Both an inactive and a reject stimulation gives no point.
  21. Any other stimulation is ignored.
  22. After a number of repetitions, the state with the best score is chosen.
  23. In the case you choose streamed matrix, the matrix must have only one
  24. element. This element is used as a score coefficient (in place of the simple 1-0 of the previous
  25. case). After a number of repetitions, the state with the best score is chosen.
  26. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Inputs|
  27. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Input1|
  28. Input stream for the first state.
  29. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Input1|
  30. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Input2|
  31. Input stream for the second state.
  32. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Input2|
  33. __________________________________________________________________
  34. Outputs description
  35. __________________________________________________________________
  36. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Outputs|
  37. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Outputs|
  38. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Output1|
  39. This output sends a new stimulation as soon as the classifier received the correct number of votes
  40. from the preceeding states. The output stimulation is based on the 5th setting of the box. First
  41. state being selected would send exactly this stimulation. Second state would send this
  42. stimulation + 1 etc.
  43. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Output1|
  44. __________________________________________________________________
  45. Settings description
  46. __________________________________________________________________
  47. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Settings|
  48. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Settings|
  49. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Setting1|
  50. This setting tells the box how many votes it needs before choosing. If the box uses stimulations,
  51. it must receive either the target or non target stimulation to consider a state has been voted.
  52. Additionaly, the box waits each state to be voted the correct number of times to take a decision.
  53. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Setting1|
  54. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Setting2|
  55. If the box uses stimulations, this settings tells what stimulation reflects that the state is active.
  56. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Setting2|
  57. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Setting3|
  58. If the box uses stimulations, this settings tells what stimulation reflects that the state is inactive.
  59. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Setting3|
  60. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Setting4|
  61. In case no choice can be made (for example, there are more than one state with the highest score), the
  62. voting classifier can choose to reject the vote and send a specific stimulation for this. This is more
  63. likely to happen when the box works on stimulation better than streamed matrix. You can force this box
  64. to choose using the 6th setting.
  65. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Setting4|
  66. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Setting5|
  67. This stimulation is used as a basis for the stimulations to send when a state is selected. First
  68. state being selected would send exactly this stimulation. Second state would send this
  69. stimulation + 1 etc.
  70. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Setting5|
  71. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Setting6|
  72. This setting can force the box to choose a state even if more than one state have the highest score.
  73. In such case, there won't be any rejection. The way the box decides between the ex-aequo candidates
  74. is undefined.
  75. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Setting6|
  76. __________________________________________________________________
  77. Examples description
  78. __________________________________________________________________
  79. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Examples|
  80. This box is used in the <em>P300 speller</em> and the <em>P300 magic card</em> BCIs. Please see those
  81. scenarios in the sample <em>openvibe-scenarios</em>.
  82. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Examples|
  83. __________________________________________________________________
  84. Miscellaneous description
  85. __________________________________________________________________
  86. * |OVP_DocBegin_BoxAlgorithm_VotingClassifier_Miscellaneous|
  87. * |OVP_DocEnd_BoxAlgorithm_VotingClassifier_Miscellaneous|
  88. */