WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Implementierung von Optigrid

 

VonKrolock
Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 26.03.15
Wohnort: Bochum
Version: ---
     Beitrag Verfasst am: 26.03.2015, 09:58     Titel: Implementierung von Optigrid
  Antworten mit Zitat      
Hallo Leute,
ich bin neu hier und hoffe, dass ich meine Frage in das richtige Forum geschoben habe. Ich bin ein absoluter Programmieranfänger
und soll nun im Rahmen meiner Projektarbeit für die Uni das Clusterverfahren Optigrid auf verschiedene Beispielsortimente anwenden.
Leider scheint dieses Verfahren noch nicht fertig implementiert zu sein.
Ich habe dies zunächst mit R versucht, aber nun festgestellt, dass ich mit Matlab besser klar komme.

Hier ist der Algorithmus aus dem Paper:
OptiGrid(data set D; q; min cut score)
1. Determine a set of contracting projections P ={P0,....,Pk}
2. Calculate all projections of the data set D P0(D),...,Pk(D)
3. Initialize a list of cutting planes BEST_CUT <- leere Menge, CUT <- leere Menge
4. FOR i=0 TO k DO
(a) CUT <- Determine best_local_cuts(Pi(D))
(b) CUT SCORE <- Score best_local_cuts(Pi(D))
(c) Insert all cutting planes with a score > min_cut_score into BEST_CUT
5. IF BEST_CUT = leere Menge THEN RETURN D as a cluster
6. Determine the q cutting planes with highest score from BEST CUT and delete the rest
7. Construct a Multidimensional Grid G defined by the cutting planes in BEST_CUT and insert all data points x € D into G
8. Determine clusters, i.e. determine the highly populated grid cells in G and add them to the set of Cluster C
9. Refine(C)
10. FOREACH Cluster Ci € C DO
OptiGrid(Ci; q; min_cut_score)

Mein Problem: Schritt 1. Zu den nachfolgenden Schritten habe ich schon ein paar Ideen, allerdings nützt mir das ja nichts, wenn ich den 1. Schritt nicht implementiert bekomme.
Die Projektion ist wie folgt definiert: P(x) = Ax mit ||A|| = max(||Ay||/||y||) <= 1 mit y € S

Wer das nochmal nachlesen möchte, hier der Link: http://www.google.de/url?sa=t&r.....1nfad3RY7cBW1QXVNibkxyjcQ

Ich würde mich freuen, wenn es hier jemanden gibt, der mit helfen kann. Falls jemand den fertigen Code hat, würde mich das noch mehr freuen Very Happy
Viele Grüße
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 26.03.2015, 13:08     Titel: Re: Implementierung von Optigrid
  Antworten mit Zitat      
Hallo VonKrolock,

Zitat:
1. Determine a set of contracting projections P ={P0,....,Pk}
Die Projektion ist wie folgt definiert: P(x) = Ax mit ||A|| = max(||Ay||/||y||) <= 1 mit y € S

Das ist eine sehr allegemeine Frage und man kann kaum erraten, welche Art der Implementierung für dich nützlich sein könnte. Selbst wenn jemand fertigen Code hat, wird der wahrscheinlich nicht genau zu Deinem Problem passen.
Es ist grundsätzlich unwahrscheinlich, dass ein Leser im Forum die notwendigen Papers liest. Denn normalerweise habe alle Nutzer des Forums auch ihre eigene Arbeit zu erledigen und kommen kaum damit hinterher alle dafür benötigten Veröffentlichungen zu lesen. Sich dann in das Arbeitsfeld eines anderen einzulesen ist deshalb selten im Rahmen dessen, was man freiwillig als Hilfestellung für anderen zu leisten bereit ist.

Brauchbare Antworten erhält man in einem Forum am wahrscheinlichsten, wenn man den bisherigen Code postet und konkrete Fragen dazu stellt. Für allgemeine Fragen ist eher der Professor/Arbeitsgruppenleiter etc der richtige Ansprechpartner.

Viele Grüße, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
VonKrolock
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 26.03.15
Wohnort: Bochum
Version: ---
     Beitrag Verfasst am: 26.03.2015, 14:21     Titel: Re: Implementierung von Optigrid
  Antworten mit Zitat      
Hallo Jan,

danke für deine schnelle Antwort. Mein Übungsleiter ist leider nicht sehr hilfsbereit und daher habe ich mich an euch gewandt.
Ich versuche mein Problem mal anders auszudrücken, denn einen Code kann ich euch bisher noch nicht zeigen, da ich wie gesagt an Schritt 1 scheiter.

Vereinfacht lautet mein Problem: Ich besitze eine vorgegeben Ursprungmatrix, bspw.
1 2 3
4 5 6
7 8 9
Von dieser Matrix halte ich z.B. die 1. Zeile (1 2 3) fest. Nun projiziere ich die Matrix auf folgende Art und Weise: P(x) = Ax, wobei A eine Matrix ist, die folgende Bedingung erfüllt:
Ich multipliziere die Matrix A (welche ich nicht kenne und welche Matlab mir berechnen soll) mit einer anderen Zeile aus der Ursprungsmatrix, bspw. mit (4 5 6). Darauf wende ich irgendeine Norm an. Dieses Ergebnis teile ich durch die Norm von der Zeile, die ich mit A multipliziert habe.
In diesem Beispiel wäre das (4 5 6). Und das mache ich mit allen Zeilen der Matrix und suche mir das Maximum raus. Daher gilt ||A|| = max (||Ay||/||y||)

Ich weiß leider nicht, wie ich das besser beschreiben soll. Ist das vllt irgendwie verständlich? Mein Problem ist nun: Wie sage ich Matlab: Such dir eine Matrix, die diese Bedingung erfüllt?? Ich will ja nicht für jede vorgegebene Matrix per Hand mein A ausrechnen.
Wenn ich weiß, wie das geht, dann komme ich erstmal selbst wieder mit dem Algorithmus klar.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.