Aprendizaje Automático... ¡Juntos! (Coursera)

Unrack

#180 En base a ese umbral vas a tener distintos modelos de regresión logistica que modificarán sus métricas de precisión, especificdad, f1 score, etc, etc

1 respuesta
jaime9714

#181 Sigo sin entenderlo, es decir, ¿cómo se cuanto acertado esta mi modelo(gracias a la theta calculada), si no calculo si he acertado con el training set. Es decir, yo puedo decir que he acertado un disparo al aire en una diana imaginaria porque marco un límite(imaginario), pero para saber si he acertado tendré que poner una diana real para comparar no?
Respecto al código, se me desvía por décimas el resultado de coste y no encuentro el fallo. En el gradiente,¿veis otra manera elegante de calcular el gradiente? Porque lo que hago es regularizar theta(1) y luego desregularizarlo.

No se me adjunta la imagen.

1 respuesta
Schwartz

Hola a todos! Soy Schwarz, un colega de @hda, y he decidido estrenarme en Mediavida por fin. Ahora mismo, estoy empezando la cuarta semana, a ver que tal va y si puedo acabarla a tiempo :sweat_smile:

#182 El modelo, según como lo uses, puede fallar en algunos puntos del training set (por ejemplo, en el ejercicio, al usar una hipótesis lineal hay algunos puntos en el límite entre aprobado y suspenso que pone en el "otro lado" del que deberían estar). Luego, con el mismo training set puedes testar cuanto acierta tu modelo en base a las respuestas (a mi me daba un noventa y pico por ciento de resultados correctos). Otra cosa que se podría hacer es reservar parte de tu training set para hacer el testeo, algo del tipo uso el 80% del training para sacar los parámetros de ajuste y luego con el 20% restante hago un testeo de a ver que sale. Lo que pasa es que en estos ejercicios no hay nada de eso. No sé si eso responde a tu pregunta :)

Respecto a lo del código, yo usé esto:

Dividí el gradiente en la parte normal y la regularización, dado que el gradiente total es la suma de los dos términos (lo mismo para la función de coste)
-El gradiente "normal" es el del ejercicio anterior
-La regularización es una matriz de ceros del tamaño de theta
-Puedes hacer que se asignen valores a un vector a partir de un número dado y hasta el final Ej: patata(2:end)=5 asignará 5 al vector patata dejando el primer elemento fuera.

Y aquí dejo mi código:

spoiler
1 1 respuesta
jaime9714

#183 Muchísimas gracias. Qué mejor forma de empezar en Mediavida con una explicación tan detallada y bien explicada.
Bienvenido y reitero las gracias.
Un saludo!

jaime9714

Siento el doble post pero es de un día.
Me está gustando este tema, pero aún me veo verde (no sé ni cómo he sacado 100% en el test sin tener nada claro). Quiero ver luz al final del camino, a ver como se aplica este tema de redes neuronales y su dificultad, ya que lo voy a necesitar en mi TFG. Lo malo es que lo haré python, cosa que me va a resultar tediosa por el cambio de lenguaje.

1 respuesta
HeXaN
#185jaime9714:

Lo malo es que lo haré python, cosa que me va a resultar tediosa por el cambio de lenguaje.

En Python está todo hecho xD

1 respuesta
jaime9714

#186 ¿En qué sentido? Tendré que programar yo los códigos, darle info para que trabaje... Además partiendo de ser un novato.

1 respuesta
HeXaN

#187 En que para hacer una regresión lineal, por ejemplo, importas el paquete que la tiene implementada y listo.

1 respuesta
jaime9714

#188 Bueno, pero eso se puede extender a Matlab también. Cojo y me buscó el trozo de código que lo aplique y listo, me ahorro de comerme la cabeza. Pero vamos, esto te lo digo desde el desconocimiento, espero que sea así y no sea quebradero de cabeza.

1 respuesta
GPR

#189 En Python tienes mucha cosa hecha relativa a Machine Learning, si quieres empezar por algo sencillo échale un ojo a la librería de scikit-learn (https://scikit-learn.org/stable/). Tiene bastante documentación con ejemplos de todo tipo y puedes aplicar modelos en unas pocas líneas de código.

Y más centrado en redes neuronales tienes TensorFlow y Keras, pero ya no es algo tan simple.

Aprovecho para preguntaros, el curso una vez te inscribes, puedes hacer las cosas cuando quieras o caduca en algún momento? Es que tenía ganas de hacerlo para repasar y ampliar conceptos, pero no doy sacado tiempo.

1
FlameThrower

'en Python está todo hecho" -> regresión lineal como ejemplo. LOL

La verdad Python es lo que se usa en el entorno profesional para hacer la mayoría de ML y todo lo de Deep Learning. Los 3 o 4 frameworks más importantes son para Python. Puedes creerte que importando cuatro paquetes y siguiendo un post de Medium vas a hacer lo mismo... Pero no. El 90% del trabajo es la transformación de los datos, y eso no lo vas a hacer con matlab.

Lo de que te enseñen las matemáticas con matlab pase pero que te quieran vender que vas a hacer ciencia de datos con matlab...

2 respuestas
HeXaN
#191FlameThrower:

'en Python está todo hecho" -> regresión lineal como ejemplo. LOL

Era un simple ejemplo porque supongo que si le digo que tiene hechas hasta cosas de Label Distribution Learning pues le va a sonar a chino.

#191FlameThrower:

El 90% del trabajo es la transformación de los datos, y eso lo lo vas a hacer con matlab.

Aquí lo hacemos con Python también porque está todo implementado ya.

hda
#191FlameThrower:

Lo de que te enseñen las matemáticas con matlab pase pero que te quieran vender que vas a hacer ciencia de datos con matlab...

Creo el curso no vende esto. De hecho, en la primera semana indica por qué usa matlab/octave para este curso. Pues lo que se pretende es enseñar los fundamentos y esta herramienta es versátil y sencilla. Pese a que se pueden hacer muchas cosas con matlab es cierto que para ML y DL se tira principalmente de Python, y que para DS pues de python y de R. Pero no es de lo que trata el curso.

Una cosa es saber qué hacer, otra es saber cómo hacer y una adicional es con qué hacer.

1
FlameThrower

Si yo se la razón que dan para usarlo, pero podrían hacerlo con la misma herramienta con la que luego se va a hacer el trabajo.

No que ahora la mayoría de la gente se va a tener que meter un curso de numpy y otro de scikitlearn, pytorch, keras, tensorflow, caffe y demás para poder hacer un ejemplo real.

Y Matlab por delante, lo que no me parece muy buena opción.

P.D. y en cuanto a que explica los fundamentos solo hay que ver cómo está explicado el gradiente descendente, bastante a medias

1 respuesta
Jorgvt_ESP

A mi la verdad es que me gustó bastante que tocase implementar los ejemplos en Matlab, porque es una forma decente de entender las matemáticas de detrás. He hecho algún curso de ML con Python y suelen empezar directamente diciendote que metas X función sin explicar mucho y sí, de repente has hecho un clasificador muy bonito, pero a mi no me va tanto.
El tema de transicionar desde Matlab a Python, entiendo que pueda ser un poco putada una vez te has hecho el curso en Matlab, pero viendo lo sencillito que es Python a la hora de escribir las cosas no creo que sea tanto problema. Yo quise probar a implementar la red neuronal de la semana 4 (?) en Python y, echando mano de la web de Keras, no me costó tanto como pensaba.

También hay que decir que este señor tiene dos cursos más: uno de Deep Learning y uno usando TensorFlow específicamente para Deep Learning, que tendrán su chicha.

hda

#194 hombre, compañero. Esto es un curso introductorio de machine learning. Dan unos fundamentos de cálculo e incluso de multiplicación matricial. Algo suficientemente sencillo y versátil como para poder llegar a más gente. Si quieres un curso más específico quizás este no sea el que buscas.

Si el profesor, Dr. Andrew Ng, y su curso gozan de tanto prestigio será porque resulta en una introducción muy buena para el tema. Insisto, se pretende explicar qué es machine learning y cómo funciona. El objetivo no es enseñar a trabajar con DNN o escalaciones integrales para soluciones de machine learning. Creo que en esto es donde tienes la confusión.

_Rpv

Estoy el primero en la lista, cuánta presión

B

Borradme, lo dejé en la semana 3. Ya lo retomaré cuando tenga más tiempo.

eXtreM3

Solo estamos 2 tachados en la lista?? Venga hombre, que esto es como el hilo de los 21 días sin fap, decid los que no estáis pegando un palo al agua xD

Fyn4r

Yo estoy en la cuarta semana xD

Kike_Knoxvil

Pues tengo que bajarme, tengo demasiadas cosas ahora mismo. Espero que para febrero pueda retomarlo

Heysen

Virgen de mi puta madre que perdido estoy con el ejercicio de programación de la semana 4.

A ver si mañana lo cojo con más ganas

Fyn4r

Esta semana no le voy a poder dar, y la semana que viene el finde como mucho. A ver como hago xD

Jorgvt_ESP

Uno por aquí que ya ha terminado el curso entero y recibido el certificado! Para los que veis que no tenéis tiempo, las últimas dos semanas son suuper super sencillas, ya que son solo unos pocos vídeos y un test, y en una hora completáis cada semana, así que podéis usar ese tiempo para acabar lo que nos ha dado tiempo de antes.

Ahora toca ver cómo sigo aprendiendo sobre el tema, que me ha gustado mucho y quisiera profundizar más. Cualquier sugerencia será bien recibida!

jaime9714

Estoy pillado en el ejercicio 3 de la semana 4. En el primer apartado 1.3.1 y 1.3.2, dice de usar el código anterior, el cual hice:
J=(1/m)(-y'log(sigmoid(Xtheta))-(1-y')log(1-sigmoid(X*theta)));

grad=(1/m)X'(sigmoid(X*theta)-y);

Aún siendo copy paste, y comprobándolo( el código de coste) no me da. ¿Alguna idea?

1 respuesta
Jorgvt_ESP

#205 Si no lo he visto mal, el ejercicio te pide que lo envíes una vez le has metido regularización y en el código que has puesto tú no está metida. Por lo demás se parece bastante al mio que sí que me funcionó:

spoiler
1 mes después
Shake_406

Uno que acabó por aquí 🤓

3
Naith

Yo deserté a mitad del curso. A ver si estas navidades me pongo y lo termino.

Glumyglu

Como nada me sale bien a ver si al menos esto me anima

1 mes después
LLoid

Pues acabo de entrar, pone que empieza mañana día 20 y no sé muy bien cómo me he apuntado, pero vamos a darle caña