Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Funciones de activación en una neurona

12/30
Recursos

Aportes 40

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

El profesor se equivoco al escribir sobre la tangente hiperbolica la ecuacion es asi

ojo el la dijo bien solo que al escribirla seguro se confundio, no pasa a todos

Funciones de activacion en una neurona:

Funcion Heaviside: Fila 1
Funcion Sigmoide o Logistica: Fila 5
Funcion tanh o Tangente hiperbolica: Fila 6

Funcion ReLU o Rectificadora lineal

Las funciones de activación se encargan de activar o desactivar las neuronas dependiendo del valor de entrada, por ejemplo si el valor es muy alto o muy bajo. Estas funciones se representan con la letra φ (fi).

Cómo funcionan

Los valores de entrada pasan a la neurona y luego el resultado de esto pasa a la función de activación. Esta regresa un resultado más normalizado (0 - 1, -1 - 1, etc) dependiendo de la función de activación que se utilice.

Si se mira desde el punto de vista de las gráficas de las funciones, la neurona regresa un gráfico lineal que luego la función de activación convierte en un gráfico no lineal. Esto es útil porque en el mundo real es muy poco probable que los datos sean lineales, puesto que lo común es que estén dispersos.

Esta mal dibujada la función de Heaviside ya que se da entender que cuando x=0, f(x) puede tomar valores entre 0 y 1.
Asi se debe de dibujar la función:

Saludos.

Muy similar a los diagramas de bloques en control y automatización.

Un resumen de las redes neuronales, se puede descargar en PDF.

https://stanford.edu/~shervine/teaching/cs-229/cheatsheet-deep-learning

En este video explican de forma muy grafica lo que se ve en esta clase, ademas, para los que quieran profundizar en estos conceptos de redes neuronales les recomiendo mucho que vean los videos de ese canal de youtube
https://youtu.be/uwbHOpp9xkc

ReLU

import matplotlib.pyplot as plt   # librería para graficar
import numpy as np                # librería para manejo de vectores y utilidades matemáticas

def f(x):
  y = np.zeros(len(x))
  for idx,x in enumerate(x):
    if x >= 0:
      y[idx] = x
  return y

x = np.linspace(-1000.0, 1000.0, num=1000)

y = f(x)

fig, ax = plt.subplots()

ax.plot(x,y)
ax.grid()```

Que increíble esta clase, para las personas que no vivimos en nuestro día a día la Ciencia de Datos TODAVÍA, cuando mencionan “Redes Neuronales” imaginamos algo mega complejo, inalcanzable.
.
Gracias al profesor Enrique ahora entiendo que son las matemáticas del colegio y la universidad pero aplicadas.
.
Así que GRACIAS 😃

Algunas funciones de activación

Ya ansioso de aplicar todas estas funciones en redes neuronales en la realidad.

A la izquierda función sigmoide en 3D y a la derecha combinación de varias funciones de este tipo.

Función Sigmoide.(Funcion Logistica) Rango entre (0,1) i. e. jamás toca al cero o al 1. Cuando los valores sean entremadamente pequeños nos va a dar un resultado muy cercano a cero, Cuando nos de x=0 entonces y= 0.5, para cuando x es un valor muy grande. y se acerca a 1.

Hola compañeros, he dejado un tutorial-aporte de esta clase exponiendo mi Notebook con mis apuntes sobre estas funciones y el código implementado para representarlas, espero les sirva y le guste. Funciones de activación de una neurona

Función heaviside

Función sigmoide

Función tangente hiperbolica

Función ReLU

Hola, estas fueron las funciones de activación vistas en esta clase, la fórmula de la tangente hiperbólica está corregida 😄

Hola, logré entender mejor las funciones, a partir de su presentación en 3d, espero les sirva

Función Tangente hiperbólica o Gaussiana
Es una función similar a la Sigmoide pero produce salidas en escala de [-1, +1]. Además, es una función continua. En otras palabras, la función produce resultados para cada valor de x.

Función sigmoide:

El curso esta orientado a mujeres?

Uno de los problemas de RELU es que el gradiente es 0 para todos los valores que son menos de cero, lo que desactivaría las neuronas en esa región y podría causar un problema de que mueran demasiadas neuronas, LEAKY RELU nos ayudaría con este problema.

LEAKY RELU
Transforma los valores introducidos multiplicandolos por un coeficiente rectificativo y dejando los positivos según entran.

a.x para x < 0
x para x > 0
en este caso a = 0.01

Si vemos atentamente veremos que los valores negativos no son cero y hay una ligera pendiente.

Dejo un link donde pueden ver más funciones de activación sus casos de uso y características si desean profundizar un poco más
https://www.diegocalvo.es/funcion-de-activacion-redes-neuronales/

Retomando el curso. Comparto parte de mis apuntes:

Y este es el link de Notion con los apuntes del curso+ datos de lecturas paralelas: https://giant-reward-bfc.notion.site/Semana-4-Curso-de-regresi-n-lineal-con-Python-be933fcba6f146e2b963519dad108bac

Un pequeño aporte.

Cuando se refiere a probabilidades, es establecer cómo influyen los valores del dominio en la probabilidad de que un evento ocurra o no ocurra, o el grado de medición, por eso toma valores entre 0 y 1, por ejemplo el hecho de estudiar 1 hora más en platzi diaria, influye en 0.40 en encontrar un mejor trabajo.

El proceso de activación en φ(x)

  • La función de escalón binario (con cortes 1 y 0 para valores negativos) y el rango = {0,1}
  • Función sigmoide (nunca toca los valores) y el rango = (0,1) irán entre esos valores pero nunca serán los valores 0 y 1 en este caso
  • Función tangente hiperbólica, los valores intermedios los mandan más a los positivos y a los negativos
  • Función ReLU Unión rectificada lineal, 0 para x ≤ 0 y x para x > 0 y el rango = [0, ∞]

Dentro de esta sección podemos ver el propósito de las funciones de activación que nos ayudarán a adaptar el resultado de una red neuronal a los comportamientos atípicos de los datos. Por otro lado, salen nuevos cuestionamientos como por ejemplo:
¿Cómo decidimos qué función utilizar?

La funcion sigma tambien podemos representarla con la funcion de la tanh!

Lo unico que debemos hacer es transformarla:

  • Sumamos 1 como variable independiente para hacer que su codominio sea (0,2)
y = f(x) + 1
  • Dividimos todo entre 2 para que el codominio vaya de (0,1)
y = (f(x) + 1) / 2
  • Dividimos la variable x entre 2 para expandir un poco la grafica e igualar a ala de sigma
y = (f(x / 2) + 1) / 2


Verifica tu resultado comparando esta grafica con la que resulta de la equiacion de sima! --> 1 / (1 + np.e ** -x)

Funciones de Activación
La función de activación devuelve una salida que será generada por la neurona dada una entrada o conjunto de entradas. Cada una de las capas que conforman la red neuronal tienen una función de activación que permitirá reconstruir o predecir. Además, se debe considerar que en la red neuronal se usará una función no lineal debido a que le permite al el modelo adaptarse para trabajar con la mayor cantidad de datos.

Las funciones de activación se dividen en dos tipos como: lineal y no lineal

No Lineales:

  • Umbral
  • Sigmoide
  • Tangente Hiperbólica
  • ReLu
  • Softmax

Dejo un link donde viene un articulo que complementa la información más a fondo:

https://bootcampai.medium.com/redes-neuronales-13349dd1a5bb

Espero que sea de ayuda el aporte compañeros.

Aqui les dejo el codigo de dichas funciones en python.
Espero les sirva.

"""Funcion Sigmoide"""

_y = lambda x: 1/(1+np.e**-x)
_x = np.linspace(-2.5, 2.5, 1000)
plt.plot(_x, _y(_x))
plt.grid(True)
"""Funcion Escalon Unitario"""
_y = lambda x: np.piecewise(x, x >= 0, [1, 0])
_x = np.linspace(-1, 1, 1000)
plt.plot(_x, _y(_x))
plt.grid(True)
"""Funcion Tangente Hiperbolica"""
_y = lambda x: (np.e**x - np.e**-x) / (np.e**x + np.e**-x)
_x = np.linspace(-2.5, 2.5, 1000)
plt.plot(_x, _y(_x))
plt.grid(True)
"""Funcion Relu"""

_y = lambda x: np.maximum(0, x)
_x = np.linspace(-2.5, 2.5, 1000)
plt.plot(_x, _y(_x))
plt.grid(True)

ReLU (Rectified Linear Unit) activation function
Unidad lineal rectificada (ReLU, por sus siglas en inglés).

Funciones

Función ReLU

Función Tangente hiperbólica

Función Sigmoide

Función Heaviside (Escalón unitario)

Cómo funcionan

Si no mal recuerdo esto es parte de las transformadas de Laplace en el tema de funciones escalón, trasladada etc.

La función de activación nos cambia la forma de la gráfica.
Esto se ajusta mas al comportamiento de los datos debido a la dispersión.
Funciones de activación:
-Paso escalonado: genera estado de apagado o encendido [0 o 1]
-Función Sigmoide: corta en 0,5 en y. Va de 0 a 1 pero nunca los toca. F(x) = 1/(1+e^-x) rango (0,1)
-Función Tangente hiperbólica: rango (-1 , 1 ) . f(x) (e^x - e^-x)/(e^x+e^-x)
-Función RELU: f(x) = max (0,x) 0 para x<=0 y x para x>0 … Rango [0,inf)