Obtenir une fonction signe (ou porte) uniquement avec les opérations de base (calcul matriciel)
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Obtenir une fonction signe (ou porte) uniquement avec les opérations de base (calcul matriciel)



  1. #1
    Bardouli

    Obtenir une fonction signe (ou porte) uniquement avec les opérations de base (calcul matriciel)


    ------

    Bonjour à tous

    Dans le cadre d'un projet personnel, je veux obtenir l'équivalent d'une fonction signe (ou une fonction porte) pour l'implémenter dans un calcul matriciel, l'idée étant de supprimer certaines fonctions pour pouvoir fusionner les matrices.
    Du coup, je me limite aux opérations de base dans un premier temps, pour faciliter l'implémentation en matrice.

    J'ai obtenu un équivalent avec x/x2+1 mais la fonction tend rapidement vers 0 quand x>1 ou x<-1, ce qui rend les valeurs de sortie trop faible.

    L'idéal serait l'équivalent de la fonction arctangente, mais je n'en trouve pas d'approximation avec les opérations de base, la fonction sigmoïde fonctionne aussi mais c'est ex: ce que je ne peux pas implémenter par les opérations de base.

    Une solution serait d'avoir la fonction racine carré et de l'ajouter au dénominateur de x/x2+1, mais cela déplace le problème. J'ai tenté en écrivant 3 itérations de l'algorithme du Héron sous la forme d'une équation, mais cela retarde la tendance vers 0, mais elle de délimite trop vite à moins de travailler uniquement avec des valeurs faibles ce qui me dérange.

    Quelqu'un aurait-il une piste ou une idée même pour une approximation, ou alors une indication du style "impossible", "recherche ardue", etc...

    Merci par avance, je retourne à mes bricolages.

    -----

  2. #2
    Médiat

    Re : Obtenir une fonction signe (ou porte) uniquement avec les opérations de base (calcul matriciel)

    Bonjour,

    En fonction de l'erreur admissible :
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  3. #3
    Bardouli

    Re : Obtenir une fonction signe (ou porte) uniquement avec les opérations de base (calcul matriciel)

    La fonction est parfaite mais elle utilise une racine carré, ce qui la rend "impossible" à implémenter clairement par un calcul matriciel d'après mes connaissances (ou alors il existe une formulation que je ne connais pas).
    Je peux faire une puissance de 2, mais une puissance 1/2 ça m'échappe.

    Mais la formulation est top... si on a droit à une racine carré.

  4. #4
    gg0
    Animateur Mathématiques

    Re : Obtenir une fonction signe (ou porte) uniquement avec les opérations de base (calcul matriciel)

    Bonjour.

    Je ne comprends pas trop en quoi on pourrait appliquer une fonction signe à une matrice. C'est quoi, une matrice positive (en dehors de "coefficients positifs" ou "semi-définie positive") ?
    Par contre, appliquer la fonction à chaque terme, comme le fait couramment Matlab (ou scilab) est classique.

    Ce qu'on fait sur des matrices en calcul matriciel pur est extrêmement pauvre.

    Cordialement.

  5. A voir en vidéo sur Futura
  6. #5
    Bardouli

    Re : Obtenir une fonction signe (ou porte) uniquement avec les opérations de base (calcul matriciel)

    L'idée est d'appliquer la fonction signe à chaque élément de la matrice.
    Par exemple la matrice suivante :
    -5 | 6 |-1
    2 | -2 | 4

    deviendrait
    -1 | 1 | -1
    1 | -1 | 1

    avec l'utilisation d'une fonction type arctangente.

    L'application d'une fonction à chaque élément d'une matrice est simple, mais pour être précis il s'agit de remplacer la fonction d'activation dans un réseau de neurones.
    Afin de pouvoir compacter dans un deuxième temps l'intégralité du réseau sous la forme d'une matrice unique ce qui nécessite d'avoir uniquement une série de calcul matriciel. Cela peut être très complexe, même en ayant une fonction d'activation sous forme de matrice, mais j'ai envie d'essayer.

    Il est possible d'avoir la même idée avec une fonction linéaire, mais cela limite mes tests. Voilà.

  7. #6
    lesept

    Re : Obtenir une fonction signe (ou porte) uniquement avec les opérations de base (calcul matriciel)

    Bonjour
    J'ai le même problème pour une autre application, je n'ai rien trouvé pour l'instant. J'ai testé l'arctangente hyperbolique et son écriture avec des exponentielles, et le rapport entre x et abs(x). Si ça peut t'aider...

  8. #7
    Bardouli

    Re : Obtenir une fonction signe (ou porte) uniquement avec les opérations de base (calcul matriciel)

    Mes meilleures candidates pour le moment

    problème la fonction abs


    problème : la racine carrée


    problème la puissance de 2

    Le mieux c'est :

    mais la fonction décroit trop vite.

    De toute façon, l'idée n'était pas bonne : il me faudrait une fonction non-linéaire, avec des opérations de base et tout en étant distributive pour faciliter le compactage des matrices sinon je me retrouve en fait avec calculs imbriqués qui n'ont aucun intérêt en termes de gains de temps, ou même du calcul (une matrice au lieu d'une succession).

    L'idée centrale c'était de réussir à pouvoir simplifier un réseau de neurones après apprentissage en le ramenant à une matrice ce qui pourrait faciliter l'application mais surtout l'étude du changement d'espace.

    A l’extrême ça aurait pu ramener tout l'apprentissage à une seule matrice... mais là ça revient en fait à faire une régression linéaire à priori. Je complique un peu la bête pour rien, du coup...

    Bref de la recherche en amateur, un peu foutraque et qui pense réinventer l'eau chaude. Mais bon j'aime bien, je retourne de ce pas à la conjecture de Syracuse...

Discussions similaires

  1. Comment effectuer un calcul avec le signe wedge
    Par theogg34 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 01/06/2015, 17h59
  2. Aide Exercice Calcul matriciel de base.
    Par quand dans le forum Mathématiques du collège et du lycée
    Réponses: 6
    Dernier message: 16/05/2014, 18h56
  3. Signe fonction avec exponentielle
    Par Lenalee dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 03/11/2013, 20h16
  4. signe d'une fonction avec exponentielle, Terminale S
    Par invitecae94c77 dans le forum Mathématiques du collège et du lycée
    Réponses: 3
    Dernier message: 18/11/2009, 19h49
  5. Calcul matriciel avec php
    Par Rhedae dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 03/07/2009, 18h58