Je veux prédire une valeur et j'essaie d'obtenir une prédiction qui optimise entre être aussi bas que possible, mais toujours plus grand que . En d'autres termes: Y ( x ) Y ( x ) coût { Y ( x ) ≳ Y ( x ) } > > coût { Y ( x ) ≳ Y ( x ) }
Je pense qu'une simple régression linéaire devrait faire l'affaire. Je sais donc comment l'implémenter manuellement, mais je suppose que je ne suis pas le premier à avoir ce genre de problème. Existe-t-il des packages / bibliothèques (de préférence python) faisant ce que je veux faire? Quel est le mot-clé que je dois rechercher?
Et si je connaissais une fonction où Y (x)> Y_0 (x) . Quelle est la meilleure façon de mettre en œuvre ces restrictions?Y ( x ) > Y 0 ( x )
machine-learning
logistic-regression
asPlankBridge
la source
la source
Réponses:
Si je vous comprends bien, vous voulez pécher par excès de valeur. Si tel est le cas, vous avez besoin d'une fonction de coût asymétrique appropriée. Un candidat simple consiste à modifier la perte au carré:
où est un paramètre que vous pouvez utiliser pour échanger la pénalité de la sous-estimation contre la surestimation. Les valeurs positives de pénalisent la surestimation, vous voudrez donc définir négatif. En python, cela ressemble à- 1 < α < 1 α α
def loss(x, a): return x**2 * (numpy.sign(x) + a)**2
Générons ensuite des données:
Enfin, nous ferons notre régression dans
tensorflow
, une bibliothèque d'apprentissage automatique de Google qui prend en charge la différenciation automatisée (ce qui simplifie l'optimisation basée sur le gradient de ces problèmes). Je vais utiliser cet exemple comme point de départ.cost
est l'erreur quadratique régulière, tandis queacost
la fonction de perte asymétrique susmentionnée.Si vous utilisez,
cost
vous obtenezSi vous utilisez,
acost
vous obtenezacost
essaie clairement de ne pas sous-estimer. Je n'ai pas vérifié la convergence, mais vous avez compris.la source
acost
fonction cependant. Est-il important que vous calculiezy_model-Y
deux fois?Choisissez une fonction de perte asymétrique. Une option est la régression quantile (linéaire mais avec des pentes différentes pour les erreurs positives et négatives).
la source