Herramientas de usuario

Herramientas del sitio


clase:iabd:pia:1eval:tema06-apendices

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
Última revisión Ambos lados, revisión siguiente
clase:iabd:pia:1eval:tema06-apendices [2022/02/27 19:25]
admin [Tipos de funciones de activación en capas ocultas]
clase:iabd:pia:1eval:tema06-apendices [2023/01/29 17:57]
admin
Línea 134: Línea 134:
  
 ===== Tipos de funciones de activación en capas ocultas ===== ===== Tipos de funciones de activación en capas ocultas =====
 +
 +==== sigmoid ====
 +La fórmula de la sigmoide se obtiene a partir de la función $logit$ o $log odds$.
 +
 +$$odds(p) = \frac{p}{1-p} $$
 +$$logit(p) = log(odds(p))=log(\frac{p}{1-p}) $$
 +
 +Ahora:
 +
 +$$logit(p) = ax+b $$
 +$$log(\frac{p}{1-p}) = ax+b $$
 +
 +Si despejamos $p$ de la anterior fórmula:
 +
 +$$
 +log(\frac{p}{1-p}) = ax+b \\
 +e^{log(\frac{p}{1-p})} = e^{ax+b} \\
 +\frac{p}{1-p}=e^{ax+b} \\
 +p=e^{ax+b} \cdot (1-p) \\
 +p=e^{ax+b}-pe^{ax+b} \\
 +p+pe^{ax+b}=e^{ax+b} \\
 +p(1+e^{ax+b})=e^{ax+b} \\
 +p=\frac{e^{ax+b}}{1+e^{ax+b}} \\
 +
 +
 +p=\frac{  \frac{e^{ax+b}}{e^{ax+b}}   }{ \frac{1+e^{ax+b}}{e^{ax+b}}   } \\
 +
 +
 +p=\frac{  1   }{ 1+\frac{1}{e^{ax+b}}   } \\
 +p=\frac{  1   }{ 1+e^{-(ax+b)}   } \\
 +$$
 +
 +Que es exactamente la función sigmoide
 +
 +  * Más información
 +    * [[https://en.wikipedia.org/wiki/Odds|Odds (Wikipedia)]]
 +    * [[https://towardsdatascience.com/https-towardsdatascience-com-what-and-why-of-log-odds-64ba988bf704|WHAT and WHY of Log Odds]]
 +    * [[https://medium.com/nerd-for-tech/understanding-logistic-regression-782baa868a54|Understanding Logistic Regression]]
 +    * [[https://stats.stackexchange.com/questions/162988/why-sigmoid-function-instead-of-anything-else|Why sigmoid function instead of anything else?]]
 +    * [[https://towardsdatascience.com/why-sigmoid-a-probabilistic-perspective-42751d82686|Why Sigmoid: A Probabilistic Perspective]] 
  
 ==== ReLU y Leaky ReLU ==== ==== ReLU y Leaky ReLU ====
Línea 197: Línea 237:
 Se usa cuando ReLU pero es un poco más lenta pero es mejor. Se usa cuando ReLU pero es un poco más lenta pero es mejor.
  
-$$swish(x)=x \cdot sigmoid(x)=\frac{x}{1+e^{-x}}$$+$$swish(x)=x \cdot sigmoid(x)=x \cdot \frac{1}{1+e^{-x}}=\frac{x}{1+e^{-x}}$$
  
 {{ :clase:iabd:pia:1eval:funciones_activacion_tipo_swish.png?direct |}} {{ :clase:iabd:pia:1eval:funciones_activacion_tipo_swish.png?direct |}}
Línea 246: Línea 286:
 <sxh bash> <sxh bash>
 poetry init poetry init
-poetry add libclang = "<12.0.0" numpy pandas matplotlib seaborn scikit-learn tensorflow tabulate PyMySQL SQLAlchemy ipympl keras-tuner tensorflow-addons+poetry add libclang = "<12.0.0" numpy pandas matplotlib seaborn scikit-learn tensorflow tabulate PyMySQL SQLAlchemy ipympl keras-tuner tensorflow-addons statsmodels
 poetry install poetry install
 </sxh> </sxh>
 +
 +<note important>
 +Si al hacer el ''poetry add'' se produce el error:
 +''[org.freedesktop.DBus.Error.UnknownObject] ("No such object path '/org/freedesktop/secrets/aliases/default'",)'' 
 +deberemos crear la siguiente variable de entorno:
 +''export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring''
 +</note>
  
 Para ejecutar el código hay 2 formas: Para ejecutar el código hay 2 formas:
Línea 260: Línea 307:
 {{ :clase:iabd:pia:1eval:vs-code-poetry.png?direct |}} {{ :clase:iabd:pia:1eval:vs-code-poetry.png?direct |}}
  
-  * Si queremos usar el entorno de poetry pero no está en nuestra carpeta se puede indicar a VS Code cual es el ejecutable de python que debe usar siempre para ello hay que crear en la carpeta de nuestro proyecto el fichero ''./.vscode/settings.json''+  * Si queremos usar el entorno de poetry pero no está en nuestra carpeta se puede indicar a VS Code cual es el ejecutable de python que debe usar siempre para ello hay que crear en la carpeta de nuestro proyecto el fichero ''$HOME/.config/Code/User/settings.json''
  
 <sxh base> <sxh base>
-+    
-    "python.pythonPath": "/home/logongas/python_default_env/.venv/bin/python"+    "python.defaultInterpreterPath": "/home/logongas/python_default_env/.venv/bin/python",
 } }
 </sxh> </sxh>
  
-=== Tiempos ===+ 
 + 
 +===== Tiempo de cálculo  =====
 Para cada problema puede que una función sea mejor que otra, es decir que cosiga entrenar en un menor número de épocas. Aun así a veces no puede preocupar el tiempo de CPU/GPU que usa cada función de activación. Para cada problema puede que una función sea mejor que otra, es decir que cosiga entrenar en un menor número de épocas. Aun así a veces no puede preocupar el tiempo de CPU/GPU que usa cada función de activación.
  
clase/iabd/pia/1eval/tema06-apendices.txt · Última modificación: 2024/01/06 11:58 por admin