Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Έχω κάποια δεδομένα (μετρήσεις) και θέλω να βγάλω κάποια αποτελέσματα μέσω του WEKA. Το χρησιμοποιώ πρώτη φορά κι είμαι χαμένος.. έχει 1002 μενού και 1002 ρυθμίσεις και παραμέτρους. Τι παίζει; Φαίνεται σαν απλοποιημένο matlab, μα και πάλι δε βλέπω φως.. το'χει δουλέψει κανείς;

Στην ουσία θέλω να κάνω train ένα σύστημα με τα δεδομένα μου, ώστε μετά να του περνάω δεδομένα και να μου δίνει αποτελέσματα βάσει του training που του έχω ήδη κάνει. Αny ideas;; Θέλετε κάτι συγκεκριμένο να σας πω;; Την ουσία του προγράμματος την έχω καταλάβει. Έχω βρει παλαιότερα papers με την ίδια έρευνα, απλά δεν βρίσκω ΠΟΥΘΕΝΑ, τι ακριβώς έκαναν... :(

(Είδα και τα άλλα θέματα για το WEKA αλλά δεν βοήθησαν ιδιαίτερα)

Δημοσ.
Αν έχεις προηγούμενη εμπειρία με machine learning και το σχετικό ecosystem, δεν θα πρέπει να αντιμετωπίσεις πρόβλημα στην χρήση του WEKA, η κάποιου ανάλογου πακέτου (scikit-learn, SAS κλπ).. 

 

Όταν αναφέρεσαι σε training, τι ακριβώς προσπαθείς να λύσεις ; Εύλογες ερωτήσεις που έχουν να κάνουν με τη χρήση αυτών των πακέτων είναι οι παρακάτω:  Χρησιμοποιείς  NN, (supervised or not), GA, markov series, Clusterization classification  η κάτι διαφορετικό?  Χρησιμοποιείς normalized data και αν ναι πως? Μπορείς να λύσεις το πρόβλημα σου με Logistic regression? 

 

Νομίζω ότι με βάση την (ατελή) περιγραφή του προβλήματος σου, κατά πάσα πιθανότητα το WEKA είναι μάλλον overkill και θα μπορούσες να χρησιμοποιήσεις κάτι απλούστερο, όπως πχ http://leenissen.dk/fann/wp/ η http://pybrain.org/..

Δημοσ.

Δεν έχω καμία εμπειρία δυστυχώς και δεν ήταν απόφασή μου να με μπλέξουν με αυτό. Καταλαβαίνω ότι έχει πολλές δυνατότητες μα το'χω ανάγκη.. δεν ξέρω κι αν έχω χρόνο να ασχοληθώ με κάτι άλλο.. π.χ. μου ανέφεραν και την R, μα αυτή θα καλύψει ένα κομμάτι μόνο.. 

αυτό που θέλω είναι το εξής:

Έχω μετρήσεις από επιταχυνσιόμετρο κινητού της μορφής "time,x axis, y axis, z axis" και θέλω α) να "κανονικοποιήσω τα δεδομένα (normalize) και β) με κάποιο αλγόριθμο, να μπορέσω να κάνω feature selection (να μπορώ να πω από τότε έως τότε, ο χρήστης μας περπατούσε/ήταν σε ασανσέρ/ανέβαινε σκάλες). Από παλαιότερα papers είδα ότι πολλοί έκαναν κάτι παρόμοιο με τον ίδιο τρόπο, μα κανείς δεν λέει τι ακριβώς έκανε.. δυστυχώς... γι'αυτό έχω βαλτώσει... :(

εννοείται πως με τα δεδομένα που έχω θα κάνω train το σύστημά μου και μετά, με άλλα δεδομένα, θα τεστάρω αν παίζει.. (αν μπορώ να βρω τι έκανε ο χρήστης)

Δημοσ.

Δεν έχω καμία εμπειρία δυστυχώς και δεν ήταν απόφασή μου να με μπλέξουν με αυτό. Καταλαβαίνω ότι έχει πολλές δυνατότητες μα το'χω ανάγκη.. δεν ξέρω κι αν έχω χρόνο να ασχοληθώ με κάτι άλλο.. π.χ. μου ανέφεραν και την R, μα αυτή θα καλύψει ένα κομμάτι μόνο.. 

αυτό που θέλω είναι το εξής:

Έχω μετρήσεις από επιταχυνσιόμετρο κινητού της μορφής "time,x axis, y axis, z axis" και θέλω α) να "κανονικοποιήσω τα δεδομένα (normalize) και β) με κάποιο αλγόριθμο, να μπορέσω να κάνω feature selection (να μπορώ να πω από τότε έως τότε, ο χρήστης μας περπατούσε/ήταν σε ασανσέρ/ανέβαινε σκάλες). Από παλαιότερα papers είδα ότι πολλοί έκαναν κάτι παρόμοιο με τον ίδιο τρόπο, μα κανείς δεν λέει τι ακριβώς έκανε.. δυστυχώς... γι'αυτό έχω βαλτώσει... :(

εννοείται πως με τα δεδομένα που έχω θα κάνω train το σύστημά μου και μετά, με άλλα δεδομένα, θα τεστάρω αν παίζει.. (αν μπορώ να βρω τι έκανε ο χρήστης)

 

Σχετικως πολυπλοκο το προβλημα αν δεν εχεις σχετικη εμπειρια.

 

Εδω:

 

https://www.amazon.com/Artificial-Intelligence-Modern-Approach-3rd/dp/0136042597

 

μπορεις να βρεις σχετικες αναφορες.  

 

Δες τα παρακατω κεφάλαια

 

15.4 Inference in Multiply Connected Belief Networks
17.5 Dynamic Belief Networks
19 Learning in Neural and Belief Networks 
24 Perception 
Δημοσ.

Το βρήκα το βιβλίο, ίσως το πάρω ακόμα και μέσα στο σ/κ, αλλιώς από Δευτέρα. 

Δυστυχώς δεν έχω πολύ χρόνο, οπότε έψαχνα τη λογική.. όχι για το τι θα κάνω στο περίπου, αλλά στο πώς θα το κάνω στο weka.

Έχω ξεκινήσει τα video αυτού που έφτιαξε το weka και προσπαθώ να καταλάβω τις διάφορες έννοιες.. όσο κι αν ακούγεται πολύπλοκο, αν μπορέσω να βρω πώς θα κάνω train με τα δεδομένα μου, μετά νομίζω θα δουλέψει. Τουλάχιστον κι άλλοι στο παρελθόν το έκαναν κι έπαιξε.. απλά δυστυχώς δεν έχω χρόνο και δεν είναι κ στο χέρι μου..  :fear:

  • Like 1
Δημοσ.

Θα συνιστούσα εφόσον είσαι σε πολύ αρχικό στάδιο να κοιτούσες να έπαιζες με έτοιμα datasets που υπάρχουν ωστε απλά να εξοικειωθείς με το περιβάλλον δες εδώ http://machinelearningmastery.com/how-to-run-your-first-classifier-in-weka/

  • Like 1
Δημοσ.

Ναι, έχω κάνει 1-2 παραδείγματα. Έπαιζα το απόγευμα με το dataset και το άνοιξα να καταλάβω τι είναι κι αν θα μπορούσα να γράψω το δικό μου. 

Π.χ. καταλαβαίνω πως τα attributes για μένα είναι τα 3axis data και τα classes είναι το περπάτημα, η στάση (απλά όρθιος), ανέβασμα σκάλας, κατέβασμα σκάλας και ασανσέρ (πάνω ή κάτω). Εμένα όμως, δεν είναι ΚΑΘΕ γραμμή και διαφορετικό class.. κι επίσης, δεν ξέρω πώς να συνδέσω ομάδα τιμών με τα παραπάνω classes.. 

π.χ. εγώ θέλω να τσεκάρω τιμές για 1-2-4 δευτερόλεπτα και να πω, ΑΥΤΟ είναι περπάτημα, ΑΥΤΟ στάση, ΑΥΤΟ ασανσέρ κλπ.. και μετά να του δώσω 80 τιμές να κάνει train... 

Περιττό να πω πως τα data μου εμένα είναι raw, π.χ. 1-2 λεπτά με κινήσεις μέσα και θα πρέπει 99,9% να τα κόψω σε μικρότερα κομμάτια για να το "ταΐσω" ανάλογα την κάθε κίνηση... 

Δημοσ.
 
 

Δεν έχω καμία εμπειρία δυστυχώς και δεν ήταν απόφασή μου να με μπλέξουν με αυτό. Καταλαβαίνω ότι έχει πολλές δυνατότητες μα το'χω ανάγκη.. δεν ξέρω κι αν έχω χρόνο να ασχοληθώ με κάτι άλλο.. π.χ. μου ανέφεραν και την R, μα αυτή θα καλύψει ένα κομμάτι μόνο.. 

αυτό που θέλω είναι το εξής:

Έχω μετρήσεις από επιταχυνσιόμετρο κινητού της μορφής "time,x axis, y axis, z axis" και θέλω α) να "κανονικοποιήσω τα δεδομένα (normalize) και β) με κάποιο αλγόριθμο, να μπορέσω να κάνω feature selection (να μπορώ να πω από τότε έως τότε, ο χρήστης μας περπατούσε/ήταν σε ασανσέρ/ανέβαινε σκάλες). Από παλαιότερα papers είδα ότι πολλοί έκαναν κάτι παρόμοιο με τον ίδιο τρόπο, μα κανείς δεν λέει τι ακριβώς έκανε.. δυστυχώς... γι'αυτό έχω βαλτώσει... :(

εννοείται πως με τα δεδομένα που έχω θα κάνω train το σύστημά μου και μετά, με άλλα δεδομένα, θα τεστάρω αν παίζει.. (αν μπορώ να βρω τι έκανε ο χρήστης)

 

Νομίζω ότι κάποια πράγματα τα έχεις μπερδέψει. Τι εννοείς "να μπορέσω να κάνω feature selection (να μπορώ να πω από τότε έως τότε, ο χρήστης μας περπατούσε/ήταν σε ασανσέρ/ανέβαινε" ;

Μήπως εννοείς να μπορείς να κάνεις πρόβλεψη με βάση κάποιο train set;

 

Επίσης κάθε γραμμή δεν είναι απαραίτητο να ανήκει σε άλλη class.

 

Το weka έχει κάποια φίλτρα, μέσα από αυτά γίνεται και κανονικοποίηση.

 

Αν θες ανέβασε κάπου το σετ για να καταλάβω και εγώ.

Δημοσ.

Οκ, κατάλαβα αυτό που θέλεις να κάνεις είναι ένα bag of words. Δυστυχώς τα έχεις λίγο μπερδεμένα αλλά δε φταίει το weka για αυτό. Χρειάζεται να κάνεις αρκετά βήματα (προεπεξεργασία) πριν αρχίσεις να χρησιμοποιείς το weka....

 

Κάνω την υπόθεση οτι έχεις μια γραμμές (χρονοσειρές) τύπου: (x_1, y_1, z_1),(x_2, y_2, z_2),...,(x_N, y_N, z_N), ο χρόνος δεν βοηθάει ιδιαίτερα αρκεί που ξέρεις οτι κάθε τριάδα είναι στη σωστή χρονική σειρά. Επίσης τα Ν δεν είναι ανάγκη να είναι ίσα για όλες τις γραμμές. Προφανώς μιας και δεν είναι υποχρεωτικό κάθε μέτρηση να είχε την ίδια χρονική διάρκεια.

 

Βήματα:

1)  Πρέπει και είναι δική σου δουλειά, να κάνεις annotate κάθε γραμμή και να μετασχηματίσεις τα δεδομένα σε σειρές που αντιστοιχούν σε μια κλάση. Δηλαδή πρέπει να σπάσεις μια γραμμή σε αρκετές περισσότερες (εξαρτάται από το πόσες εναλλαγές κλάσεων έχεις). Δυστυχώς αυτό είναι μια επίπονη διαδικασία αλλά κάπως πρέπει να δημιουργήσεις το ground truth, το weka δε το ξέρει από μόνο του. Οπότε αν έχεις μια γραμμή ( για Ν=9 ) καταλήγεις σε κάτι τέτοιο:

 

(x_1, y_1, z_1),(x_2, y_2, z_2),(x_3, y_3, z_3) ---> περπάτημα

(x_4, y_4, z_4),(x_5, y_5, z_5),(x_6, y_6, z_6),(x_7, y_7, z_7)---> ασανσερ

(x_8, y_8, z_8),(x_9, y_9, z_9)---> ανάβαση σκαλιών

 

Αυτό το κάνεις για όλες τις γραμμές οπότε κάθε γραμμή πλέον έχει μια κλάση. Δυστυχώς όμως κάθε γραμμή έχει διαφορετική διάσταση,  στο συγκεκριμένο παράδειγμα  (3,4,2) για περπάτημα/ ασανσερ/ αναβαση σκαλιών

 

2) Κάνεις clustering σε όλες τις τριάδες καταλήγοντας να έχεις κ τριάδες (x,y,z), οπότε φτιάχνεις ένα λεξικό. έστω οτι κ = 5

οπότε έχεις τριάδες (a_1, b_1, c_1),(a_2, b_2, c_2),(a_3, b_3, c_3),(a_4, b_4, c_4),(a_5, b_5, c_5) . Προφανώς τα a,b,c πάλι την ερμηνεία του x,y,z έχουν απλά έβαλα άλλα γράμματα για να μην νομίζεις οτι οι τριάδες είναι ίσες με τα από πάνω.

 

3) δημιουργία ιστογράμματος για κάθε κλάση σου οπότε για το R: (x_8, y_8, z_8),(x_9, y_9, z_9)---> ανάβαση σκαλιών

λές το εξής: υπάρχει η τριάδα (a_1, b_1, c_1) στο  R? Αν ναι 1 αλλιώς 0. Αυτό το κάνεις για όλο το λεξικό σου οπότε το  (x_8, y_8, z_8),(x_9, y_9, z_9) θα μετασχηματιστεί σε (0,1,1,0,0).

 

4) Αν το κάνεις αυτό για όλες τις γραμμές πλέον θα έχεις γραμμές τύπου

(1,1,0,1,0) ---> περπάτημα

(0,0,1,0,1)--> ασανσερ

(0,1,1,0,0) ---> ανάβαση σκαλιών

 

Οπότε πλέον μπορείς να χειριστείς τα δείγματα σου όπως θα τα χειριζόσουν αν έπαιζες με την iris

 

Για το bag of words βήματα (2-4) που μόλις σου περιέγραψα συνοπτικά δεν έτυχε να δουλέψω με το weka και δεν ξέρω αν υπάρχει κάτι έτοιμο αλλά για το 1 βήμα είμαι σχεδόν σίγουρος οτι δεν υπάρχει περίπτωση να βρεις κάτι έτοιμο.

  • Like 2
Δημοσ.

Νομίζω ότι κάποια πράγματα τα έχεις μπερδέψει. Τι εννοείς "να μπορέσω να κάνω feature selection (να μπορώ να πω από τότε έως τότε, ο χρήστης μας περπατούσε/ήταν σε ασανσέρ/ανέβαινε" ;

Μήπως εννοείς να μπορείς να κάνεις πρόβλεψη με βάση κάποιο train set;

 

Επίσης κάθε γραμμή δεν είναι απαραίτητο να ανήκει σε άλλη class.

 

Το weka έχει κάποια φίλτρα, μέσα από αυτά γίνεται και κανονικοποίηση.

 

Αν θες ανέβασε κάπου το σετ για να καταλάβω και εγώ.

Το feature extraction θα είναι το πρώτο μου βήμα, δηλαδή να δώσω το train set αλλά να πω στο σύστημά μου κάπως:

Από τα 2 λεπτά της κάθε μέτρησης, τότε περπατούσα (άρα μάθε περπάτημα), τότε ανέβαινα σκάλα (μάθε ανέβασμα σκαλιών) και τότε μπήκα σε ασανσέρ κ κατέβηκα (μάθε ασανσέρ που πάει κάτω).. 

Μετά, σε επόμενο βήμα, θα του δώσω άλλο set και θα θέλω αν μπορέσει να μου βρει τι έκανα εγώ ή κάποιος άλλος.. αυτός είναι κι ο απώτερος σκοπός.. 

 

 

 

Οκ, κατάλαβα αυτό που θέλεις να κάνεις είναι ένα bag of words. Δυστυχώς τα έχεις λίγο μπερδεμένα αλλά δε φταίει το weka για αυτό. Χρειάζεται να κάνεις αρκετά βήματα (προεπεξεργασία) πριν αρχίσεις να χρησιμοποιείς το weka....

 

Ρε μεγάλε, μίλησες στην ψυχή μου  :-D με κατάλαβες... χαχαχ

Κατάλαβα το 99% αυτών που είπες και νομίζω έχεις καταλάβει κι εσύ το 99% όσων πρέπει να κάνω... (θέλω, αλλά κυρίως πρέπει)

 

Πρώτον, όταν λες bag of words, εννοείς ομάδες μετρήσεων, έτσι ώστε κάθε "ομάδα" να αποτελεί μια κίνηση;; Δηλαδή αυτές οι 10-100-150 μετρήσεις είναι κατέβασμα σκαλιού, οι άλλες είναι όταν κάποιος στέκεται όρθιος και οι άλλες όταν ανεβαίνει με ασανσέρ πχ; Αν εννοείς αυτό, ναι.. πρέπει να βάζω πολλές μετρήσεις γιατί η κάθε μέτρηση έγινε στα 50Hz, που σημαίνει πως έχω τιμές κάθε 20ms. Δεν ξέρω το πώς.. μα θα το βρω.. κάτι λες παρακάτω..

 

Μετά, με βάση τα όσα λες, τα οποία και κατάλαβα (σχεδόν όλα) και κάπως έτσι το'χα στο μυαλό μου, έχω τις εξής απορίες:

1) πρέπει να λέω κάθε γραμμή τι είναι (annotate);; Δεν γίνεται να ομαδοποιώ πολλές τιμές μαζί; Θα καταλάβει το σύστημά μου ότι δεν εννοώ ΜΙΑ γραμμή, αλλά όλες όσες έχω κάνει annotate στο ίδιο class κι είναι συνεχόμενες;;

2) Κάθε γραμμή έχει μια σειρά μετρήσεων, δηλαδή time, x axis, y axis, z axis. Πρέπει να βάλω στην ίδια γραμμή όσες τιμές αποτελούν ένα class;

3) το clustering δεν κατάλαβα τι εξυπηρετεί.. 

4) το ιστόγραμμα πώς θα βγάλει τιμές 1, 0, 0, 1, 1 κλπ; Σε τι θα με βοηθήσει αυτό;

5) τα επόμενα βήματα μετά το πρώτο, πώς έχει τύχει εσύ να τα κάνεις; Με ποιο άλλο πρόγραμμα/μέθοδο;

6) το πρώτο, γίνεται με το "χέρι"; Βλέπω στο menu του explorer, το visualize που φορτώνει τις τιμές και μπορώ να επιλέξω χοντρικά κάποιες τιμές.. δε μπορώ να πω αυτό το τετραγωνάκι είναι ανέβασμα σκάλας;; Έχω βρει σε παλιά papers τρόπο που το έκαναν, π.χ. έβαζαν 150 τιμές μαζί με 50% overlapping ή το έκοβαν σε κομμάτια 0.5, 1, 2 και 4 second και έκαναν training με αυτά τα κομμάτια.. εγώ έχω 80 .txt για training, μα έχουν πολλά class ενδιάμεσα.. οπότε μπορεί να βγάλω πολύ πράγμα για training.. αν πρέπει να το κάνω με το χέρι, έχω πολύ "κοπτοραπτική"... 

 

υ.γ.: βάζω ένα παρακάτω:

 

 

13:00:41.000,0.058,1.117,9.983
13:00:41.020,0.137,1.47,9.787
13:00:41.040,0.156,1.412,9.885
13:00:41.060,0.215,1.431,9.885
13:00:41.080,0.176,1.431,9.904
13:00:41.100,0.176,1.294,10.002
13:00:41.120,0.117,1.372,9.904
13:00:41.140,0.156,1.412,9.826
13:00:41.160,0.176,1.47,9.767
13:00:41.180,0.137,1.451,9.787
13:00:41.200,0.215,1.49,9.806
13:00:41.220,0.137,1.529,9.806
13:00:41.240,0.176,1.49,9.826
13:00:41.260,0.156,1.49,9.747
13:00:41.280,0.196,1.49,9.728
13:00:41.300,0.235,1.549,9.708
13:00:41.320,0.313,1.49,9.61
13:00:41.340,0.235,1.569,9.59
13:00:41.360,0.215,1.569,9.806
13:00:41.380,0.137,1.529,9.806
13:00:41.400,0.137,1.49,9.787
13:00:41.420,0.137,1.529,9.806
13:00:41.440,0.098,1.529,10.022
13:00:41.460,0.156,1.569,10.081
13:00:41.480,0.058,1.549,10.022
13:00:41.500,0.078,1.529,9.845
13:00:41.520,0.156,1.529,9.963
13:00:41.540,0.098,1.627,10.473
13:00:41.560,0.0,1.706,10.708
13:00:41.580,0.039,1.706,10.473
13:00:41.600,0.274,1.863,10.532
13:00:41.620,0.333,2.137,10.532
13:00:41.640,0.313,2.02,10.532
13:00:41.660,0.47,2.098,10.493
13:00:41.680,0.549,2.49,10.179
13:00:41.700,0.627,2.785,9.806
13:00:41.720,0.647,2.981,10.14
13:00:41.740,0.49,3.196,9.414
13:00:41.760,0.686,3.314,9.787
13:00:41.780,0.647,3.53,9.512
13:00:41.800,0.666,3.569,9.12
13:00:41.820,0.608,3.726,8.825
13:00:41.840,0.529,3.942,8.688
13:00:41.860,0.47,3.961,8.08
13:00:41.880,0.156,4.53,7.982
13:00:41.900,-0.254,4.805,8.551
13:00:41.920,-0.294,5.021,9.1
13:00:41.940,-0.509,5.354,9.649
13:00:41.960,-0.529,5.354,9.61
13:00:41.980,-0.843,5.138,9.394
13:00:42.000,-0.804,5.217,9.394
13:00:42.020,-0.647,5.275,8.512
13:00:42.040,-0.764,5.04,8.139
13:00:42.060,-0.784,5.589,7.962
13:00:42.080,-0.058,6.197,7.825
13:00:42.100,-0.333,6.648,7.296
13:00:42.120,-0.725,7.1,7.178
13:00:42.140,-0.804,7.08,7.08
13:00:42.160,-0.647,7.198,6.55
13:00:42.180,-0.823,7.335,6.001
13:00:42.200,-0.49,7.315,5.256
13:00:42.220,-0.353,7.688,5.06
13:00:42.240,-0.47,8.198,4.766
13:00:42.260,-0.549,8.61,4.609
13:00:42.280,-0.098,8.551,4.256
13:00:42.300,-0.98,9.316,3.569
13:00:42.320,-0.627,9.551,1.804
13:00:42.340,-0.431,8.688,1.274
13:00:42.360,-0.47,7.531,1.47
13:00:42.380,0.274,7.06,1.647
13:00:42.400,0.647,7.413,0.392
13:00:42.420,1.157,8.414,-0.568
13:00:42.440,1.294,8.629,-0.686
13:00:42.460,1.294,8.688,-0.588
13:00:42.480,1.314,8.394,-0.431
13:00:42.500,0.98,9.375,-0.039
13:00:42.520,0.98,9.375,-0.039
13:00:42.540,0.568,12.022,-0.215
13:00:42.560,1.039,11.297,-0.745
13:00:42.580,0.549,10.159,0.353
13:00:42.600,-0.215,10.316,0.725
13:00:42.620,-0.137,10.336,1.216
13:00:42.640,-0.568,10.846,1.137
13:00:42.660,-0.568,10.728,0.725
13:00:42.680,-0.627,10.238,0.706
13:00:42.700,-0.509,9.845,0.647
13:00:42.720,-0.353,8.845,0.666
13:00:42.740,0.235,8.237,0.686
13:00:42.760,0.274,8.904,0.137
13:00:42.780,0.294,9.688,-0.137
13:00:42.800,-0.019,10.983,-0.862
13:00:42.820,-0.196,10.846,-1.686
13:00:42.840,-1.451,11.199,-0.274
13:00:42.860,-1.804,12.238,0.039
13:00:42.880,-1.255,10.944,0.333
13:00:42.900,-1.117,10.532,0.902
13:00:42.920,-1.039,10.257,1.667
13:00:42.940,-0.921,10.14,1.686
13:00:42.960,-1.157,10.022,1.059
13:00:42.980,-0.98,9.904,1.196
13:00:43.000,-1.098,9.904,1.784
13:00:43.020,-1.078,9.767,1.49
13:00:43.040,-0.784,8.453,-1.294
13:00:43.060,-0.961,7.747,-1.569
13:00:43.080,-1.392,6.04,-0.294
13:00:43.100,-2.412,4.981,0.902
13:00:43.120,-0.745,4.844,-1.0
13:00:43.140,0.137,9.139,-3.138
13:00:43.160,-0.862,12.042,-1.725
13:00:43.180,-1.549,13.278,-1.863
13:00:43.200,-2.353,11.022,-2.02
13:00:43.220,-1.569,8.453,-0.843
13:00:43.240,-0.921,9.1,-1.392
13:00:43.260,-0.843,11.061,-1.255
13:00:43.280,-0.941,11.964,-1.059
13:00:43.300,-0.921,11.375,-1.059
13:00:43.320,-1.098,10.414,-0.784
13:00:43.340,-1.117,9.865,-0.804
13:00:43.360,-1.451,9.983,-0.706
13:00:43.380,-1.784,9.924,-0.372
13:00:43.400,-2.0,10.218,-0.961
13:00:43.420,-1.647,10.1,-0.666
13:00:43.440,-1.804,10.022,-1.0
13:00:43.460,-2.059,9.845,-1.078
13:00:43.480,-1.745,9.532,-0.843
13:00:43.500,-1.549,9.335,-1.098
13:00:43.520,-1.627,9.708,-1.039
13:00:43.540,-1.529,10.238,-0.961
13:00:43.560,-1.078,10.944,-0.98
13:00:43.580,-1.137,10.414,-0.921
13:00:43.600,-0.666,10.434,-1.0
13:00:43.620,-0.529,10.689,-0.725
13:00:43.640,-0.588,9.787,-0.941
13:00:43.660,-0.588,9.767,-0.882
13:00:43.680,-0.392,9.845,-1.039
13:00:43.700,-0.588,9.983,-1.51
13:00:43.720,-1.824,13.121,0.431
13:00:43.740,-1.902,10.885,-0.49
13:00:43.760,-1.804,10.277,-0.294
13:00:43.780,-1.098,10.473,-0.313
13:00:43.800,-0.686,10.571,-0.254
13:00:43.820,-0.058,11.003,0.058
13:00:43.840,-0.058,10.924,0.137
13:00:43.860,0.078,10.748,0.019
13:00:43.880,-0.196,10.591,-0.49
13:00:43.900,-2.118,10.159,-4.962
13:00:43.920,-1.667,9.375,-1.392
13:00:43.940,-1.412,9.237,-0.823
13:00:43.960,-1.078,9.708,-0.49
13:00:43.980,-0.902,9.904,-0.392
13:00:44.000,-0.98,9.943,-0.392
13:00:44.020,-0.843,9.885,-0.372
13:00:44.040,-0.961,9.983,-0.392
13:00:44.060,-0.823,10.042,-0.313
13:00:44.080,-0.823,10.1,-0.313
13:00:44.100,-0.647,10.1,-0.156
13:00:44.120,-0.686,10.061,-0.196
13:00:44.140,-0.745,10.042,-0.431
13:00:44.160,-0.647,10.002,-0.353
13:00:44.180,-0.647,9.983,-0.313
13:00:44.200,-0.666,10.042,-0.313
13:00:44.220,-0.686,10.042,-0.294
13:00:44.240,-0.608,9.904,-0.215
13:00:44.260,-0.627,9.943,-0.196
13:00:44.280,-0.549,9.963,-0.313
13:00:44.300,-0.568,10.12,-0.431
13:00:44.320,-0.745,10.179,-0.588
13:00:44.340,-0.823,10.1,-0.608
13:00:44.360,-0.804,10.042,-0.529
13:00:44.380,-0.882,10.042,-0.451
13:00:44.400,-0.98,9.963,-0.431
13:00:44.420,-1.176,9.943,-0.372
13:00:44.440,-1.294,9.963,-0.353
13:00:44.460,-1.451,9.943,-0.294
13:00:44.480,-1.353,9.845,-0.235
13:00:44.500,-1.314,9.924,-0.215
13:00:44.520,-1.274,9.924,-0.176
13:00:44.540,-1.255,9.983,-0.176
13:00:44.560,-1.314,10.081,-0.274
13:00:44.580,-1.294,10.1,-0.254
13:00:44.600,-1.255,10.081,-0.274
13:00:44.620,-1.255,10.1,-0.313
13:00:44.640,-1.098,10.1,-0.294
13:00:44.660,-0.882,10.061,-0.294
13:00:44.680,-0.706,10.022,-0.235
13:00:44.700,-0.666,9.943,-0.254
13:00:44.720,-0.706,9.826,-0.294
13:00:44.740,-0.862,9.904,-0.215
13:00:44.760,-0.941,9.963,-0.078
13:00:44.780,-0.862,10.081,-0.137
13:00:44.800,-0.921,9.963,-0.156
13:00:44.820,-0.98,9.885,-0.294
13:00:44.840,-0.902,9.924,-0.254
13:00:44.860,-0.843,9.904,-0.254
13:00:44.880,-0.882,9.943,-0.254
13:00:44.900,-0.882,9.865,-0.215
13:00:44.920,-0.961,9.806,-0.274
13:00:44.940,-1.0,9.865,-0.333
13:00:44.960,-1.039,9.865,-0.215
13:00:44.980,-1.078,9.806,-0.058
13:00:45.000,-1.059,9.845,0.0
13:00:45.020,-0.902,10.002,-0.039
13:00:45.040,-0.941,9.983,0.0
13:00:45.060,-0.961,9.983,0.137
13:00:45.080,-0.921,10.002,0.313
13:00:45.100,-0.921,9.963,0.313
13:00:45.120,-0.941,10.022,0.411
13:00:45.140,-0.921,10.061,0.47
13:00:45.160,-0.882,10.12,0.431
13:00:45.180,-1.039,10.257,0.392
13:00:45.200,-1.274,10.473,0.392
13:00:45.220,-1.392,10.885,0.47
13:00:45.240,-1.588,10.63,0.451
13:00:45.260,-1.608,10.669,0.235
13:00:45.280,-1.569,11.003,0.078
13:00:45.300,-1.274,11.395,0.078
13:00:45.320,-0.627,11.709,0.098
13:00:45.340,0.019,11.807,0.156
13:00:45.360,0.666,11.611,0.254
13:00:45.380,1.098,11.061,0.294
13:00:45.400,1.392,10.414,0.196
13:00:45.420,1.706,9.885,0.078
13:00:45.440,1.667,9.885,0.078
13:00:45.460,1.706,9.688,-0.058
13:00:45.480,1.686,9.826,-0.215
13:00:45.500,1.529,9.983,-0.313
13:00:45.520,1.451,10.238,-0.196
13:00:45.540,1.431,10.375,0.0
13:00:45.560,1.765,10.395,0.196
13:00:45.580,1.784,10.081,-0.058
13:00:45.600,1.706,9.826,-0.372
13:00:45.620,1.431,9.669,-0.549
13:00:45.640,1.176,9.708,-0.627
13:00:45.660,1.117,9.747,-0.549
13:00:45.680,1.255,9.669,-0.608
13:00:45.700,1.627,9.63,-0.882
13:00:45.720,2.216,9.885,-1.059
13:00:45.740,2.588,10.257,-1.294
13:00:45.760,2.294,10.336,-1.137
13:00:45.780,2.118,10.238,-0.882
13:00:45.800,1.98,10.002,-0.843
13:00:45.820,1.824,9.747,-1.117
13:00:45.840,1.686,9.453,-1.372
13:00:45.860,1.647,9.041,-1.784
13:00:45.880,1.549,9.61,-1.804
13:00:45.900,1.216,9.826,-2.353
13:00:45.920,1.059,9.571,-2.667
13:00:45.940,1.019,9.296,-2.981
13:00:45.960,1.019,9.198,-3.393
13:00:45.980,0.941,9.139,-3.55
13:00:46.000,0.902,9.12,-3.765
13:00:46.020,0.941,9.041,-4.197
13:00:46.040,0.941,8.924,-4.609
13:00:46.060,1.353,8.747,-4.589
13:00:46.080,1.863,8.708,-4.569
13:00:46.100,2.118,8.551,-4.922
13:00:46.120,2.0,8.257,-5.158
13:00:46.140,2.02,8.237,-5.354
13:00:46.160,2.275,8.316,-5.177

 

 

 

Δημοσ.

 Ρε μεγάλε, μίλησες στην ψυχή μου  :-D με κατάλαβες... χαχαχ

Κατάλαβα το 99% αυτών που είπες και νομίζω έχεις καταλάβει κι εσύ το 99% όσων πρέπει να κάνω... (θέλω, αλλά κυρίως πρέπει)

 

Πρώτον, όταν λες bag of words, εννοείς ομάδες μετρήσεων, έτσι ώστε κάθε "ομάδα" να αποτελεί μια κίνηση;;

 

Δηλαδή αυτές οι 10-100-150 μετρήσεις είναι κατέβασμα σκαλιού, οι άλλες είναι όταν κάποιος στέκεται όρθιος και οι άλλες όταν ανεβαίνει με ασανσέρ πχ; Αν εννοείς αυτό, ναι.. πρέπει να βάζω πολλές μετρήσεις γιατί η κάθε μέτρηση έγινε στα 50Hz, που σημαίνει πως έχω τιμές κάθε 20ms. Δεν ξέρω το πώς.. μα θα το βρω.. κάτι λες παρακάτω..

 

Μετά, με βάση τα όσα λες, τα οποία και κατάλαβα (σχεδόν όλα) και κάπως έτσι το'χα στο μυαλό μου, έχω τις εξής απορίες:

1) πρέπει να λέω κάθε γραμμή τι είναι (annotate);; Δεν γίνεται να ομαδοποιώ πολλές τιμές μαζί; Θα καταλάβει το σύστημά μου ότι δεν εννοώ ΜΙΑ γραμμή, αλλά όλες όσες έχω κάνει annotate στο ίδιο class κι είναι συνεχόμενες;;

2) Κάθε γραμμή έχει μια σειρά μετρήσεων, δηλαδή time, x axis, y axis, z axis. Πρέπει να βάλω στην ίδια γραμμή όσες τιμές αποτελούν ένα class;

3) το clustering δεν κατάλαβα τι εξυπηρετεί.. 

4) το ιστόγραμμα πώς θα βγάλει τιμές 1, 0, 0, 1, 1 κλπ; Σε τι θα με βοηθήσει αυτό;

5) τα επόμενα βήματα μετά το πρώτο, πώς έχει τύχει εσύ να τα κάνεις; Με ποιο άλλο πρόγραμμα/μέθοδο;

6) το πρώτο, γίνεται με το "χέρι"; Βλέπω στο menu του explorer, το visualize που φορτώνει τις τιμές και μπορώ να επιλέξω χοντρικά κάποιες τιμές.. δε μπορώ να πω αυτό το τετραγωνάκι είναι ανέβασμα σκάλας;; Έχω βρει σε παλιά papers τρόπο που το έκαναν, π.χ. έβαζαν 150 τιμές μαζί με 50% overlapping ή το έκοβαν σε κομμάτια 0.5, 1, 2 και 4 second και έκαναν training με αυτά τα κομμάτια.. εγώ έχω 80 .txt για training, μα έχουν πολλά class ενδιάμεσα.. οπότε μπορεί να βγάλω πολύ πράγμα για training.. αν πρέπει να το κάνω με το χέρι, έχω πολύ "κοπτοραπτική"... 

 

 

Όταν λέμε bag-of-words (BoW) είναι οτι σου δίνω ένα keyword για να το ψάξεις στο internet και να μάθεις παραπάνω για το literature: http://www.cs.ucf.edu/~mtappen/cap5415/lecs/lec17.pdf

δεν είπα κάτι για ομάδες. Rephrase: Αυτό το πρόβλημα που έχεις προσεγγίζεται με bag-of-words,

 

Annotate σημαίνει οτι κάποιος άνθρωπος πρέπει να κάτσει και να αντιστοιχίσει ένα label για μια σειρά απο τριάδες. Το αν θέλεις να το κάνεις ομαδοποιημένα είναι δικό σου θέμα, εγώ σου περιγράφω τι πρέπει να κάνεις, το πως είναι δικό σου θέμα. Και ναι λογικό είναι οι τριάδες να είναι πάρα πολλές εγώ έγραψα για 9 χρονικές περιόδους για να το περιγράψω έυκολα, Προφανώς θα έχεις χιλιάδες. 

 

Όλα τα υπόλοιπα που μου λες έχουν να κάνουν με το BoW, please διαβασε το, αν δεν καταλαβαίνεις κάτι ξαναρώτα.

 

Επειδή προσωπικά ήθελα να κάνω μια παραλαγή του BoW είχα δουλέψει πάνω στο matlab, το weka έχει περισσότερο έτοιμα πράγματα. ίσως να έχει ίσως όχι, google is your friend. Απο την άλλη το BoW δεν είναι κάτι ιδιαίτερο, όλα τα βήματα είναι πολύ εύκολα . Απλά έχει μια συγκεκριμένη σειρά πραγμάτων που πρέπει να ακολουθήσεις για να φτάσεις στο στόχο.

 

Απο περιέργεια στείλε κανα paper, γιατί μου φαίνεται περίεργο να μην αναφέρουν το BoW...

Δημοσ.

Λοιπόν έριξα μια ματιά στα paper: Διάβασε το Activity Recognition from Accelerometer Data.pdf

 

Ίσως τελικά το BoW να είναι overkill αλλά σε άλλες περιοχές αυτό γίνεται, δυστυχώς αυτό κάνετε οπότε δεν θα σου μάθω να το κάνετε καλύτερα αλλιώς αμα είναι το γράφω εγώ το paper. 

 

Κυριολεκτικά το πρόβλημα που λύνετε είναι αναγνώριση κατανομής μιας κίνησης, με ότι προβλήματα συνεπάγεται αυτό... (Oh boy I can talk all day... ) 

 

Οπότε:

 

Από αυτό:

 

(x_1, y_1, z_1),(x_2, y_2, z_2),(x_3, y_3, z_3) ---> περπάτημα

(x_4, y_4, z_4),(x_5, y_5, z_5),(x_6, y_6, z_6),(x_7, y_7, z_7)---> ασανσερ

(x_8, y_8, z_8),(x_9, y_9, z_9)---> ανάβαση σκαλιών

 

Πρέπει να πας σε:

 

(m_1,s_1,h_1,c_1) ---> περπάτημα

(m_2,s_2,h_1,c_2) ---> ασανσερ

 

(m_3,s_3,h_1,c_3) ---> ανάβαση σκαλιών

 

Πάρα πολύ εύκολο απλά πάρε mean, stdev, energy, correlation.

Δημοσ.

Βρήκα κι άλλες πληροφορίες. Μία διάλεξη από μάθημα πανεπιστημίου που κάνουν αυτό ακριβώς που κάνω και ένα paper που κάποιοι βασίστηκαν στην διάλεξη κι έκαναν μια εφαρμογή που κάνει αυτό που θέλω.

http://www.cs.dartmouth.edu/~campbell/cs65/lecture22/lecture22.html

https://courses.cs.washington.edu/courses/cse573/12au/projects/ActivityRec/ActivityRec_report.pdf

 

Κανένας όμως δεν εξηγεί ακριβώς τι και πώς. Κάνουν ό,τι θέλω να κάνω, μα δεν λένε βήμα βήμα πώς το έκαναν.. προφανώς δεν θα το έλεγαν, μα αυτό με έχει φέρει στη πηγή και δε μπορώ να πιω νερό.. έχω και τα δεδομένα και δεν μπορώ παρά να κάνω αλχημείες και δοκιμές..  :-(

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...