automatic commit
[folded-ctf.git] / loss_machine.cc
index 6ff78d5..63a65cc 100644 (file)
@@ -12,7 +12,9 @@
 // You should have received a copy of the GNU General Public License     //
 // along with this program. If not, see <http://www.gnu.org/licenses/>.  //
 //                                                                       //
-// Written by Francois Fleuret, (C) IDIAP                                //
+// Written by Francois Fleuret                                           //
+// (C) Idiap Research Institute                                          //
+//                                                                       //
 // Contact <francois.fleuret@idiap.ch> for comments & bug reports        //
 ///////////////////////////////////////////////////////////////////////////
 
@@ -38,47 +40,6 @@ void LossMachine::get_loss_derivatives(SampleSet *samples,
     }
     break;
 
-  case LOSS_EV_REGULARIZED:
-    {
-      scalar_t sum_pos = 0, sum_sq_pos = 0, nb_pos = 0, m_pos, v_pos;
-      scalar_t sum_neg = 0, sum_sq_neg = 0, nb_neg = 0, m_neg, v_neg;
-
-      for(int n = 0; n < samples->nb_samples(); n++) {
-        if(samples->label(n) > 0) {
-          sum_pos += responses[n];
-          sum_sq_pos += sq(responses[n]);
-          nb_pos += 1.0;
-        }
-        else if(samples->label(n) < 0) {
-          sum_neg += responses[n];
-          sum_sq_neg += sq(responses[n]);
-          nb_neg += 1.0;
-        }
-      }
-
-      m_pos = sum_pos / nb_pos;
-      v_pos = sum_sq_pos/(nb_pos - 1) - sq(sum_pos)/(nb_pos * (nb_pos - 1));
-
-      scalar_t loss_pos = nb_pos * exp(v_pos/2 - m_pos);
-
-      m_neg = sum_neg / nb_neg;
-      v_neg = sum_sq_neg/(nb_neg - 1) - sq(sum_neg)/(nb_neg * (nb_neg - 1));
-
-      scalar_t loss_neg = nb_neg * exp(v_neg/2 + m_neg);
-
-      for(int n = 0; n < samples->nb_samples(); n++) {
-        if(samples->label(n) > 0) {
-          derivatives[n] =
-            ( - 1/nb_pos + (responses[n] - m_pos)/(nb_pos - 1)) * loss_pos;
-        } else if(samples->label(n) < 0) {
-          derivatives[n] =
-            (   1/nb_neg + (responses[n] - m_neg)/(nb_neg - 1)) * loss_neg;
-        }
-      }
-    }
-
-    break;
-
   case LOSS_HINGE:
     {
       for(int n = 0; n < samples->nb_samples(); n++) {