Jump to content
F4EYQ

[CRX] Mise à jour du 02/02/2019 - Machine learning dxspots/noaa - optimisation.

Recommended Posts

F4EYQ

Bonsoir à tous,

J'ai mis à jour le site CRX-HAM , cette mise à jour n'est pas directement visible mais elle permet de diviser par 5 environ le temps d'entrainement de l’intelligence artificielle pour prédire la propagation ( cette phase prend actuellement 48H ).

Pour rappel cette IA se base sur les données des DXCLUSTERS et aussi celles de NOAA.

Pour ceux qui s'y connaissent en DEV, le code est open source est disponible ici : 
https://git.crx.cloud/crx-php/crx-cloud-ham

Bon weekend à tous,
Bastien F4EYQ

https://ham.crx.cloud/

  • Message intéressant 1
  • Merci ! 2

Share this post


Link to post
F4HTQ

Bonsoir Bastien,

Tu as vu le message que je t'ai laissé sur la publication facebook ?

David.

 

  • Merci ! 1

Share this post


Link to post
F4EYQ

Bonjour David, 

Bien vu pour ton message, le principe du machine learning ici est : 

=> un apprentissage des spots/valeurs des indices Kp/SF par continent.

=> Ensuite on peut interroger l'IA avec un continent source et destination,

Celle ci va alors donner un pourcentage de spots ce qui indique ce qui va indiquer suivant les horaires ce qu'il est possible de faire. 

Côté carto, ce n'est pas la même chose, je pense que c'est beaucoup plus précis, 

ils doivent combiner leur radar iono. + l'algorithme de MUF voir les données NOAA pour ensuite faire une simulation. 

Ici je ne combine pas l'algo MUF, il est disponible à part sur CRX.

 

Bon dimanche,

73 

Edited by F4EYQ
  • Message intéressant 1

Share this post


Link to post
F1NQP

Merci pour ton travail Bastien.

73

  • Merci ! 1

Share this post


Link to post
F6GMQ

Beau travail et bel esprit OM ! Merci Bastien !

  • Merci ! 1

Share this post


Link to post
F4EYQ

Merci pour vos messages, Pour info, je compte améliorer l’algorithme et aussi l'efficacité de l'IA,  
l'idée est simple je vais générer lors de l'apprentissage 2 types de stats que je vais additionner :  

1.   Nombre de dxspots "humain" ce que je fais déjà avec la table spots de CRX relié au réseau mondial DX CLUSTER.
2.   Nombre de dxspots "humain" MAIS postés automatiquement en reliant CRX à la http://www.reversebeacon.net/ autrement dit des "skimmers". 

C'est l'auteur de DXWATCH qui m'a soumis l'idée et je dois dire que cela va permettre d'avoir plus de spots,
et donc une IA plus précise. 

Côté mathématique :

j'utilise pour l'instant un algorithme de ML par défaut à savoir : 

- Une classification non linéaire SVM (support vector classification) avec un kernel RBF.
- J'ai également ajouté dans la liste des algorithmes, l'algorithme KNN que je ne détaillerait pas ici,
  car il ne m'a pas donné les meilleurs résultats. 

Côté données : 

- Toutes les 3H : je récupère les données Kp, Ap, SF depuis le FTP NOAA. 
- Toutes les 48H : je génère un fichier d'apprentissage pour chaque combinaison à savoir : 
   =>   { Continent source - Continent destination - Bande amateur } ( soit au final 500 fichiers environ ). 

Ensuite quand vous cliquez sur le bouton prédire dans l'application "météo" : 

- cela va utiliser ce fameux fichier pré calculé. 
  
  En plus de cela vous allez lancer une simulation avec : 
    -> les dernières valeurs NOAA existantes ( maximum il y a 3H ). 
    -> Ces données de propagation vont ensuite être utilisées avec un modèle SVM/RBF. 
    -> Le résultat de l'IA pour la partie propagation et ensuite injectée dans l'autre  modèle SVM/RBF,
        qui lui va déterminer le nombre de spots / heure sur une bande amateur HF données. 

- Côté données cela va générer ces types de suites : 
  
  Échantillons X :    {  heure,  indice Kp, indice Sf } 

  et Y :                {  nombre de dxspots }

  L'heure sera ensuite simplement incrémentée, les 2 indices NOAA seront eux calculés avec le modèle SVM/RBF temps réel.   
  Ainsi on obtiendra après injection dans le deuxième modèle SVM/RBF : le nombre de spots / heure voulu. 
  

Au final on peut dire que le modèle SVM le plus "lourd" est pré calculé toutes les 48H ce qui va bientôt changer du fait de l'amélioration que j'ai faite côté génération de statistiques des dxspots, il passera normalement à 24H peut être moins. 

La propagation elle, tenant dans une petite table côté base de données, j'ai préféré utiliser un modèle SVM/RBF "temps réel" c.a.d que la phase d'apprentissage se fait que vous cliquez sur le bouton "predict". 

Enfin pour le modèle SVM/RBF lourd, j'ai du réaliser énormément de tests, pour déterminer les paramètres de l'algorithme en gros : 
Coût, degrés, gamma. 

Pour les connaisseurs voici ce que j'utilise : 

C : 900            ( biais bas, variance haute )     
E : 0.00005        ( pénalisation de toutes les erreurs ---> 0 ) 
G : 0.15        Je dirai que c'est le plus lourd en calcul par contre c'est très avantageux pour la qualité des résultats. 

Enfin pour ceux que cela intéresse : 

Une super introduction sur la notion d'erreur/biais : 
https://openclassrooms.com/fr/courses/4011851-initiez-vous-au-machine-learning/4092326-trouvez-le-bon-compromis-entre-biais-et-variance

Voici une petite doc de la librairie PHP utilisée :  ( notée que c'est un frontend pour libsvm )
https://php-ml.readthedocs.io/en/latest/machine-learning/classification/svc/Pour le SVM/RBF, visuellement cela donne ceci ( voir photo de droite ) : 
http://www.coxdocs.org/lib/exe/fetch.php?media=perseus:user:activities:matrixprocessing:learning:svm.png

Et aussi des docs + techniques qui m'ont apportées des infos :

https://en.wikipedia.org/wiki/Radial_basis_function_kernelhttps://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm
https://riptutorial.com/php/example/19397/classification-using-php-mlhttp://saedsayad.com/k_nearest_neighbors.htm
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4978658
http://eprints.maynoothuniversity.ie/7850/1/MC_Minkowski.pdf

  • Message intéressant 2

Share this post


Link to post
F5NPV

Bonjour,

Je me suis inscrit sur ton cloud hier et j'ai tout integré dans mes différent outils (Log4me notamment) . Chapeau bas car cet outil erst vraiment génial ; Je re-découvre l'activité radioamateur depuis quelques semaines et il faut bien avouer que les outils disponibles de nos jours sont vraiment appreciables .

Bonne continuation dans tes projets d'amélioration

A+ Didier

 

  • Merci ! 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...