2017-06-24 3 views
1

Ich bin neu in ML, und ich habe gerade lineare Regression und logistische Regression gelernt. Ich frage mich, wie werden diese Kostenfunktionen entschieden, und wie werden diese abgeleitet? Woher wissen wir, dass diese Kostenfunktionen für bestimmte Probleme geeignet sind?Wie werden Kostenfunktionen in Machine Learning entschieden?

Mit anderen Worten, ich bin nicht sicher, wie diese Kostenfunktionen für bestimmte Probleme genau und angemessen sind. Haben wir manchmal in ML eine eigene Kostenfunktion?

Antwort

3

In einem richtigen Ansatz zu ML beginnen Sie mit dem Problem, das Sie lösen möchten. Sobald Sie ein Problem haben, sollten Sie sich fragen "Was interessiere ich mich wirklich?", "Was ist wirklich meine Aufgabe hier?" und die Antwort darauf wird eine "perfekte" Verlustfunktion bieten. Das Problem ist, dass diese "perfekte" Funktion normalerweise nicht direkt gelernt werden kann. Nehmen wir zum Beispiel die Klassifizierung, wollen Sie ein Modell haben, das Katzen von Hunden unterscheidet. Eine mögliche Formalisierung des "perfekten" Verlustes wäre "minimale Anzahl falscher Antworten". Das Problem ist, dass die Funktion nicht differenzierbar ist. um Parameter zu modellieren (oder es ist differenzierbar, aber bietet 0 Gradient). Folglich sucht man oft nach Surrogaten, die sich ähnlich verhalten, aber besser für die Lernmethoden geeignet sind, die wir haben. Wenn Sie statt "minimale Anzahl falscher Antworten" sagen "mindestens wahrscheinlich mindestens eine falsche Antwort" sagen, dann ist der logarithmische Verlust (der bei der logistischen Regression verwendete) buchstäblich das.

Also kurz gesagt, typischer Pfad ist:

  1. Problem Spezifikation
  2. Definition der perfekten Fehlermaß
  3. Auswahl eines Ersatz Verlust gemäß den obigen und anderen Einschränkungen

Für Bei vielen Problemen gibt es keinen einzigartigen Ersatz für die Auswahl, daher ist die Auswahl (oder das Herausarbeiten des optimalen Verlusts) das riesige Forschungsgebiet für sich.

+0

Vielen Dank. Wenn Sie sagen, dass wir eine Anzahl falscher Antworten finden wollen, um ein Modell zu haben, das Katzen von Hunden unterscheidet, bedeutet das, dass wir zuerst von keinem Ort aus raten und ein Trainingset erstellen müssen, und dann von diesem Punkt aus weitermachen? Ich bekomme hier immer noch keine perfekte Verlustfunktion. – Dukakus17

+0

Ich meinte, dass dies die Aufgabe ist, an der wir interessiert sind. Dann werden wir natürlich Daten, Modelle, Algorithmen usw. brauchen. Trotzdem ist die "perfekte" Fehlerfunktion unabhängig von Daten oder Modell, sie kommt direkt von dem Problem her zu versuchen, zu lösen, alles andere ist nur ein Werkzeug, um dieses Ziel zu erreichen. Diese "Minimierung von falschen Klassifikationen" ist insbesondere äquivalent zur Genauigkeit in ML (die Sie nicht direkt optimieren können), so wählen Sie (zum Beispiel) log loss das ist ein anständiger Ersatz. – lejlot

+0

Können Sie mir den Unterschied zwischen der Kostenfunktion und der Verlustfunktion erklären, die Sie in Ihrer Antwort erwähnen? – Dukakus17