Ich habe eine Matrix von m Vektoren (Samples) von n Werten (Features), wobei m ~ 10^6, n = 20 und Alle Funktionen haben einen Wert in [0,1].Abtastung eines Satzes von Merkmalsvektoren, um "einheitliche" Histogramme für jedes Merkmal zu erhalten
Wenn ich Histogramme für jedes der Features berechnen, sind diese ziemlich unterschiedlich. Ich berechne ein einfaches 10-Bins-Histogramm, und ich kann sehen, dass für einige Histogramme nur ein paar Bins (sogar zwei) alle Proben enthalten, einige sind schief Gaussian und einige andere sind ungefähr gleichförmig.
Ich möchte eine Teilmenge dieser Vektoren probieren, um eine "einheitliche" Verteilung für alle Features zu haben. Dies bedeutet im Grunde genommen, dass ich für jedes Bin, das nicht bereits leer ist, ungefähr die gleiche Anzahl von Elementen haben möchte. Ein vernünftiges Minimum an Elementen für diese Untermenge wäre ~ 100.
Meine Sprache der Wahl ist MATLAB, aber ich bin mehr interessiert zu wissen, ob es einen Algorithmus gibt, den ich verwenden könnte, als zu tatsächlichem Code (an dem ich selbst arbeiten kann).
Meine übliche Herangehensweise mit Problemen, die ich kenne, wird schwierig sein und würde eine Optimierung erfordern, ist es, sie auf eine direkte Weise zu kodieren und erst dann zu versuchen, zu optimieren. Sie könnten beginnen, das Problem besser zu verstehen, einen anderen Ansatz zu finden, zu teilen und zu erobern. Vielleicht beginnen Sie mit 'h = Histogramm (...)', h enthält einige gute Informationen. – mpaskov