Exemple #1
0
 IVector _Derivative(IVector th, float lambda)
 {
     using (var p0 = _feature.Multiply(th))
         using (var p1 = p0.Column(0))
             using (var p = p1.Sigmoid())
                 using (var e0 = p.Subtract(_target))
                     using (var e = e0.ToRowMatrix())
                         using (var e2 = e.Multiply(_feature)) {
                             e2.Multiply(1f / _feature.RowCount);
                             var ret = e2.Row(0);
                             if (lambda != 0)
                             {
                                 using (var reg = _lap.CreateIndexable(th.Count))
                                     using (var thi = th.AsIndexable()) {
                                         var term = lambda / _feature.RowCount;
                                         for (var i = 1; i < th.Count; i++)
                                         {
                                             reg[i] = thi[i] * term;
                                         }
                                         using (var reg2 = _lap.Create(reg))
                                             ret.Add(reg2);
                                     }
                             }
                             return(ret);
                         }
 }
Exemple #2
0
 public IIndexableVector CreateIndexable(int length)
 {
     return(_numerics.CreateIndexable(length));
 }