Anuncios

Bienvenidos sean a este post, hoy veremos un poco mas de ML

Anuncios
Anuncios

En el post anterior vimos una pequeña introduccion sobre ML. Y este es uno de los campos de estudio de IA que mas crecimiento tiene. Para entender a ML (Machine Learning) debemos comprender como es el concepto de aprendizaje. Los conceptos clave son pensar y razonar, y como estos convierten a los humanos en especiales. Con esto podemos decir que el principal objetivo es lograr que aprenda y use ese conocimiento para poder realizar las tareas. Tomemos este concepto, intenten recordar sus primeros pasos en programacion; seguramente no fueron faciles. Tener que aprender nuevos conceptos, tales como la abstraccion, y tratar de comprender que sucede durante el momento de ejecucion. Todo esto nos permitio construir sistemas complejos usando pequeños bloques que contendran instrucciones, funciones, condicionales, clases, etc. Sin embargo, los codigos para ML difieren con respecto a los codigos usuales, veamos el siguiente ejemplo:

int calcular()
{
	int a{14};
	int b{27};
	int c{a + b};
	return c;
}
Anuncios

Esta funcion simplemente devuelve a traves de una variable la suma de dos variables contenidos en otras variables. Tomemos esta funcion y cambiemosla para que reciba valores ingresados por el usuario:

int calcular(int a, int b)
{
	int c{a + b};
	return c;
}
Anuncios
Anuncios

En lugar de definir dos variables con valores fijos, ahora los recibira al momento de hacerse el llamado a la misma. Agregamos una interaccion con el usuario pero esta lejos de ser inteligente. Primero porque solo recibe los valores, sin importar cuales, los suma y los devuelve. Siempre que comento sobre el condicional universal y mas extendido en todo lenguaje de computacion como es if, menciono que este se encarga de brindar razonamiento e «inteligencia» a nuestros codigos. Porque seamos sinceros, entre este codigo y un script que solo ejecuta una secuencia de instrucciones no hay mucha diferencia. Para ello, hagamos el siguiente cambio en la funcion:

int calcular(int a, int b)
{
	if (a < 0 && b < 0)
		return 0;
	int c{a + b};
	return c;
}
Anuncios
Anuncios

Esta funcion solo trabajara con un solo valor negativo para realizar la operacion pero si ambos valores son negativos procede a devolver 0 porque se cumpliria la condicion que agregamos. Es decir, que ahora nuestro codigo tiene la capacidad de poder impedir que se agreguen valores solamente negativos pero si permitira uno de ellos. Y asi podemos seguir agregando mas codigo para dar mas complejidad y por ende un mejor trabajo. Sin embargo, esta funcion no es inteligente porque mas alla de lo que agreguemos siempre dependera de nosotros, no piensa por si mismo y va en contraposicion de lo que comentamos al inicio.

Anuncios

Vamos a suponer que tenemos un algoritmo de ML en accion, Tomemos a la funcion calcular pero ahora posee un codigo que hace una «magia» con los valores recibidos y devuelve un valor, tal como haciamos antes. Veamos como seria ese codigo:

int calcular(int a, int b)
{
	// codigo del algoritmo que hace la magia
	return c; // el valor creado por el algoritmo
}
Anuncios

Con nuestra funcion establecida, vamos a suponer que la llamamos y le pasamos los valores 4 y 7. Este deberia tomar los dos valores y devolver el valor de 11 que es la suma de ambos. Tambien podemos imaginar que podemos de alguna manera decirle si este es el resultado que esperamos. Despues de un rato, la funcion se comporta de una manera que entiende como usar esos valores y devolver la suma de ellos. Esto es una explicacion basica sobre ML para complementar lo poco que hablamos en el post anterior, y en el proximo post vamos a hablar un poco mas profundamente sobre esto.

Anuncios

En resumen, hoy hemos visto nuevamente a ML, vimos algunos conceptos mas, asi como tambien como un ejemplo de un codigo basico a una funcion con ML. Espero les haya resultado de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.50