This commit is contained in:
Jose
2024-11-25 12:37:19 +01:00
parent ffb508b8e2
commit 1b5f10c0ac
12 changed files with 183 additions and 12 deletions

View File

@@ -380,3 +380,33 @@ $$
sea $f$ una función que dados unos datos $D$ da un resultado $r$. Hace falta saber, **cómo** se manipulan los datos, **qué** datos se cogen y cómo calcular los **errores**. ML es una mezcla de técnicas de álgebra (para representación vectorial de los parámetros de $f$) y optimización.
### <mark style="background: #FFB86CA6;">Aprendizaje supervisado</mark>
Se trata de $D\rightarrow ML\rightarrow f~aprox~D$ (o minimizar el error entre $D$ y $f$). Los datos se suelen dividir en dos bloques, uno de **entrenamiento** ($D_{train}$), y otro de **validación** ($D_{val}$) para calcular el error empírico (ya que esos datos "no los ha visto"). También puede haber un tercer bloque de **test** ($D_{test}$) para usarse luego de repetir varias veces el entrenamiento.
# <mark style="background: #FFF3A3A6;">TEMA 8: Redes neuronales</mark>
Dado un dataset $D=\{(\vec{x},y)\}$ hay que encontrar una función $f\rightarrow f(\vec{x})~\textasciitilde~y~\forall~(\vec{x},y)\in D$. Hay dos posibles espacios:
- **Lineal:** $f(x)=mx+n$
- **Polinómica:** $f(x)=a_0+a_1x+a_2x^2+\dots+a_nx^n$ que se puede aproximar mediante sus parámetros $(a_0,a_1,a_2,\dots,a_n)$
### <mark style="background: #FFB86CA6;">Funcionamiento básico</mark>
![[neurona.gif]]
1. **Entrada de datos:** La capa de entrada recibe un vector numérico.
2. **Peso y sesgo:** Cada conexión entre las neuronas de una capa y la siguiente tiene un peso asociado, y cada neurona de la capa siguiente tiene un sesgo (constante ajustable)
3. **Suma ponderada:** En cada neurona consideramos la suma ponderada de los valores de las neuronas entrantes a ella, así como de su sesgo.
4. **Función de activación:** Se aplica una función no lineal sobre los valores que tiene como objetivo cambiar los valores de manera no lineal.
5. **Capa de salida:** Los valores calculados en la capa de salida son el cálculo final.
![[Pasted image 20241115112854.png|400]]
Para esta red, que es muy simple, hacen falta **44 parámetros** (32 pesos y 12 sesgos).
## <mark style="background: #ADCCFFA6;">1. Teorema de aproximación universal</mark>
Supongamos:
- $K\subset ^d$
- $f$ una función coste arbitraria en $C(K,)$
- $\epsilon\in ^d$ arbitrario
- $\sigma$ función continua no constante, acotada y creciente
Entonces:
$\exists n\in N / b_i\in ,~v_i\in ~y~w_i\in ^d~\forall i\in \{1,\dots,d\}$
tales que se cumple la desigualdad:
$\max\limits_{x\in K}|φ(x)-f(x)|<\epsilon$
## <mark style="background: #ADCCFFA6;">2. Funciones de coste</mark>
### <mark style="background: #FFB86CA6;">Error/coste cuadrático</mark>
$C_2(W,b):=\frac{1}{2|T|}\sum\limits_{x\in T}{||y(x)-a(x)||_2^2}$
Encontrar la mejor red es encontrar la red con el **menor error posible**.
## <mark style="background: #ADCCFFA6;">3. Reconocimiento de dígitos</mark>