Regularisierter logistischer Regressionscode in Matlab

8

Ich versuche meine Hand bei regulierten LR, einfach mit diesen Formeln in Matlab:

Die Kostenfunktion:

%Vor%

Der Farbverlauf:

%Vor%

Dies ist nicht Matlab-Code ist nur die Formel.

Bisher habe ich das getan:

%Vor%

Und die Kostenfunktion gibt korrekte Ergebnisse, aber ich habe keine Ahnung, warum der Gradient (ein Schritt) nicht ist, die Kosten geben J = 0.6931 was richtig ist und der Gradient grad = 0.3603 -0.1476 0.0320, was nicht ist, die Kosten beginnen bei 2, weil der Parameter Theta (1) nicht regularisiert werden muss, irgendeine Hilfe? Ich denke, dass etwas mit dem Code nicht stimmt, aber nach 4 Tagen kann ich es nicht sehen. Danke

    
Pedro.Alonso 06.11.2013, 22:34
quelle

3 Antworten

5

Endlich, nachdem ich es zum vierten Mal neu geschrieben habe, ist das der richtige Code:

%Vor%

Wenn es jemandem hilft oder jemand Kommentare dazu hat, wie ich es besser machen kann. :)

    
Pedro.Alonso 07.11.2013, 03:24
quelle
31

vektorisiert:

%Vor%     
Franck Dernoncourt 12.11.2013 19:58
quelle
7

Ich habe mehr Variablen verwendet, damit Sie klar sehen können, was aus der regulären Formel kommt und was aus den "Regularisierungskosten" kommt. Darüber hinaus ist es eine gute Übung, in Matlab / Octave "Vektorisierung" statt Schleifen zu verwenden. Dadurch garantieren Sie eine optimierte Lösung.

%Vor%     
Fernando Cardenas 26.05.2016 17:04
quelle