Zusammenfassung der Rechenkomplexität von acht gängigen Algorithmen für maschinelles Lernen

王林
Freigeben: 2023-05-15 21:19:04
nach vorne
835 Leute haben es durchsucht

Rechenkomplexität ist ein Maß für die Rechenressourcen (Zeit und Raum), die ein bestimmter Algorithmus bei der Ausführung verbraucht.

Rechenkomplexität wird in zwei Kategorien unterteilt:

1. Zeitkomplexität

Zeitkomplexität ist kein Maß für die Leistung eines Algorithmus oder eines Die Zeit, die zum Ausführen auf einer Maschine oder Bedingung benötigt wird. Zeitkomplexität bezieht sich im Allgemeinen auf Zeitkomplexität, eine Funktion, die die Laufzeit des Algorithmus qualitativ beschreibt und es uns ermöglicht, verschiedene Algorithmen zu vergleichen, ohne sie auszuführen. Beispielsweise wird ein Algorithmus mit O(n) immer eine bessere Leistung als O(n²) erbringen, da seine Wachstumsrate geringer als die von O(n²) ist.

Zusammenfassung der Rechenkomplexität von acht gängigen Algorithmen für maschinelles Lernen

2. Raumkomplexität

So wie Zeitkomplexität eine Funktion ist, ist auch Raumkomplexität eine Funktion. Vom Konzept her ist es dasselbe wie Zeitkomplexität, ersetzen Sie einfach Zeit durch Raum. Wikipedia definiert Raumkomplexität als:

Die Raumkomplexität eines Algorithmus oder Computerprogramms ist die Menge an Speicherplatz, die erforderlich ist, um eine Instanz eines Rechenproblems als Funktion der Anzahl der eingegebenen Features zu lösen.

Nachfolgend haben wir die Rechenkomplexität einiger gängiger Algorithmen für maschinelles Lernen zusammengestellt.

1. Lineare Regression

  • n= Anzahl der Trainingsbeispiele, f = Anzahl der Features
  • Trainingszeitkomplexität: O( f²n +f³)
  • Vorhersagezeitkomplexität: O(f)
  • Laufzeitraumkomplexität: O(f)

2. Logistische Regression:

  • n=Anzahl der Trainingsbeispiele, f = Anzahl der Features
  • Trainingszeitkomplexität: O(f*n)
  • # 🎜🎜#Vorhersagezeitkomplexität: O(f)
  • Laufzeitraumkomplexität: O(f)
3. Unterstützungsvektormaschine: # 🎜🎜## 🎜🎜#

n= Anzahl der Trainingsbeispiele, f = Anzahl der Features, s= Anzahl der Unterstützungsvektoren

    Trainingszeitkomplexität: O(n²) bis O(n³), das Training Die Zeitkomplexität variiert je nach Kernel.
  • Vorhersagezeitkomplexität: O(f) bis O(s*f): Der lineare Kern ist O(f), RBF und das Polynom ist O(s*f)
  • #🎜🎜 # Laufzeitkomplexität: O(s)
  • 4. Naive Bayes:
n= Anzahl der Trainingsbeispiele, f = Anzahl der Merkmale, c = Anzahl der Klassifizierungskategorien

Trainingszeitkomplexität: O(n*f*c)
  • Vorhersagezeitkomplexität: O(c*f)# 🎜🎜#
  • Laufzeitraumkomplexität: O(c*f)
  • 5, Entscheidungsbaum:
  • n= Anzahl der Trainingsbeispiele, f = Anzahl der Features, d = Tiefe des Baums, p = Anzahl der Knoten

Trainingszeitkomplexität: O(n*log(n)*f)

#🎜🎜 #Vorhersagezeit Komplexität: O(d)
  • Laufzeitraumkomplexität: O(p)
  • 6, Random Forest:
  • # 🎜🎜##🎜🎜 #n= Anzahl der Trainingsbeispiele, f = Anzahl der Features, k = Anzahl der Bäume, p = Anzahl der Knoten im Baum, d = Tiefe des Baumes
  • Trainingszeitkomplexität: O(n *log(n)*f*k)
Vorhersagezeitkomplexität: O(d*k)

Laufzeitraumkomplexität: O(p* k)
  • 7, K nächster Nachbar:
  • n= Anzahl der Trainingsbeispiele, f = Anzahl der Features, k= Anzahl der nächsten Nachbarn
  • Brute :
Trainingszeitkomplexität: O(1)

Vorhersagezeitkomplexität: O(n*f+k*f)

#🎜🎜 #Laufzeit-Raumkomplexität: O(n*f)

kd-tree:
  • Trainingszeitkomplexität: O (f*n* log(n))
  • Vorhersagezeitkomplexität: O(k*log(n))
  • Laufzeitraumkomplexität: O(n* f)
#🎜 🎜#

8, K-bedeutet Clustering:

  • n= Anzahl der Trainingsbeispiele, f = Anzahl der Features, k= Anzahl der Cluster, i = Anzahl der Iterationen# 🎜🎜#
  • Trainingszeitkomplexität: O(n*f*k*i)
  • Laufzeitraumkomplexität: O(n*f+k*f)
  • #🎜🎜 #

Das obige ist der detaillierte Inhalt vonZusammenfassung der Rechenkomplexität von acht gängigen Algorithmen für maschinelles Lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!