Я собираюсь написать небольшое приложение для распознавания жеста (на данный момент с помощью мыши).
Теперь запишите координаты мыши в массиве массива объекта Point (простой класс с атрибутами x и y).).для тренировки моей системы (на основе HMM) мне нужен (я думаю ...) некоторый образец нормализованной длины одной и той же длины в одном и том же диапазоне.
Скажем, например, что мне нужен массив длиной 8 элементовдля моего обучения и для моего классификатора.И я только что записал a1 (элемент 5-len) и a2 (элемент 9-len).Как достичь len (a1) == len (a2) == 8?
EDIT : я нашел сайт, который объясняет мою проблему: http://www.creativedistraction.com/demos/gesture-recognition-kinect-with-hidden-markov-models-hmms/ он использует k-средство для уменьшения элемента в кластере 8 ..
РЕШЕНИЕ : у меня есть несколько разбросанных точек (я не знаю, сколько), и я хочу уменьшить его до 8 значащих точек.одна из техник, которые я могу использовать, - это кластеризовать их с помощью некоторых кластерных алгоритмов.KMeans может быть одной из возможностей.в scipy с этим кодом: из scipy.cluster.vq import kmeans2
def clusterize(numpy_array, n_cluster):
centroids, labels = kmeans2(numpy_array, n_cluster)
#print centroids, labels
return centroids
примечание: если размер numpy_array меньше, чем n_cluster, я заметил, что решения не хороши, но в моем реальном случае после некоторых испытаний язаметил, что у меня больше (размер numpy_array> = 60, n_cluster = 8).это вполне логично: k-means не является детерминистическим алгоритмом, но это итеративный процесс, который включает некоторую случайную инициализацию, потому что не существует аналитически хорошего решения для такого рода проблемы (если я правильно понял).
наверняка есть математическое понимание, в которое я не хочу углубляться.это делает работу.