Valores iniciales de los parámetros Las condiciones iniciales de los parámetros a adaptar es un tema de enorme importancia, de ello depende la robustez del mecanismo de adaptación y la rapidez con que pueda obtenerse un buen modelo. Para definir las condiciones iniciales se deben considerar los siguientes aspectos: Si se utiliza un núcleo estimador borroso, entonces los parámetros que se adaptan tienen un sentido físico en el universo de discurso donde las funciones de pertenencia quedarán definidas. En este caso, la definición de los parámetros puede ser de forma que las funciones de pertenencia tengan una distribución uniforme. Programa en Matlab. Si se conocen las variables de entrada-salida, estas están definidas en la práctica por un intervalo de valores máximos y mínimos posibles, a lo que puede llamarse intervalo de definición de la variable. Por ejemplo, si una variable x está definida en un intervalo [xmin, xmax], esta puede transformarse en un intervalo normalizado [-n, n]. Para más información sobre el tema consulte normalización [1]. Si se normalizan las entradas y las salidas para obtener un modelo debe considerarse que cuando se sustituya el mismo por el sistema real las entradas de este último deberán normalizarse antes de aplicar el núcleo estimador que lo representará, de forma similar, la salida del núcleo estimador deberá desnormalizarse con las constantes utilizadas para su normalización en la fase de obtención del modelo. Programa en Matlab. La normalización se aplica fundamentalmente cuando el intervalo de las variables es significativo. Debe tenerse en consideración que la interpretación del error cuando se obtiene el modelo se realiza sobre datos resultantes de una normalización previa, por lo que el error deberá desnormalizarse para interpretar el mismo en función del valor original de las variables. Función MATLAB: Existe una función que permite realizar la normalización y la desnormalización, se describe a través de un ejemplo: % Matriz a normalizar >> x = [1 2 4 7; -1 -3 -6 -9; 4 -2 -1 -7] x = [ 1 2 4 7 -1 -3 -6 -9 4 -2 -1 -7] % Se normaliza: >> [x_norm,parm_norm] = mapminmax(x); % La matriz normalizada (en este caso a [-1, 1], pero se puede cambiar el intervalo) >> x_norm x_norm = [-1.0000 -0.6667 0 1.0000 1.0000 0.5000 -0.2500 -1.0000 1.0000 -0.0909 0.0909 -1.0000] % Se desnormaliza, devolviendo la matriz original >> x_original = mapminmax('reverse',x_norm,parm_norm) x_original = [ 1.0000 2.0000 4.0000 7.0000 -1.0000 -3.0000 -6.0000 -9.0000 4.0000 -2.0000 -1.0000 -7.0000] |
La función mapminmax responde a la siguiente ecuación: y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin donde: y: Resultado de aplicar la normalización [ymin, ymax]: Intervalo al que se pretende normalizar (normalmente [0, 1]; [-1, 1]) x: Vector a normalizar xmax: Valor máximo del vector a normalizar xmin: Valor mínimo del vector a normalizar Referencias [1]Yager, R.; Filev, D.: "Essentials of Fuzzy Modeling and Control". John Wiley & Sons. 1994. |