2011-01-27 14 views
6

Soy nuevo en Aprendizaje automático ... Estoy desarrollando una herramienta, en la que necesito predecir el valor de una variable en función de la combinación de varias variables .... La implementación debe ser en Java ...Aprendizaje automático básico

Plz ayudar ...

Gracias ...

+6

¿Es esta tarea? – Hery

+0

no :) Sé que mi pregunta es muy abstracta ... Necesito una idea para comenzar mi trabajo ... – Rahim

+2

Le recomiendo que eche un vistazo a Weka (http://www.cs.waikato.ac.nz/ml/weka /) - muy buenas herramientas de aprendizaje automático basadas en Java – mikera

Respuesta

4

Si desea comenzar con algo simple, considere un modelo cuasi-lineal, como la regresión logística o el análisis discriminante lineal: son fáciles de entender, y hay un código para ellos en todo Internet. También considere algunos de los modelos neuronales más simples (de un solo nodo) (perceptrón, regla delta, etc.): son muy fáciles de programar. Si desea continuar, le sugiero que obtenga un libro, como "Sistemas de computación que aprenden", por Weiss y Kulikowski.

6

Hay un buen curso abierto de Stanford sobre aprendizaje automático con video conferencias, etc.
Echa un vistazo a here.

1

suena como la regresión lineal multi variable haría el trabajo.

2

También comenzaría con K-Nearest-Neighbors, son muy simples, y se pueden experimentar diferentes preprocesamientos de datos, medidas de distancia, etc. También conducen a predicciones muy buenas (aunque muy lentas) .

2

Si la variable a pronosticar es continua, los modelos de regresión son la clave. Existen muchas técnicas de regresión que incluyen mínimos cuadrados, modelos polinomiales, ANN y SVM. Por supuesto, cada técnica puede tener su suposición o parámetros.

MATLAB es uno de los entornos informáticos bien documentados. Yo aconsejaría visitar la siguiente página de la documentación de MATLAB en la regresión no lineal: http://www.mathworks.com/help/stats/nonlinear-regression-1.html#btcgzas-1

Usted puede comenzar mediante el uso de un método de búsqueda global como algoritmos genéticos AGs para ajustar los parámetros de un modelo de regresión polinómica dada.

Para predecir variables discretas, los modelos de regresión enumerados se pueden aplicar también dado un umbral. Los árboles de decisión pueden ser una buena alternativa.

0

Antes de sumergirse en el código, ya que es un principiante, le sugiero que lea sobre los fundamentos y obtener un fuerte control sobre eso. No es necesario leer una tesis doctoral, pero al menos las terminologías básicas en SVM, regresión logística y redes neuronales serían útiles. Hay mucho material en Internet a través de Stanford, cursos de Coursera y libros sugeridos en otras respuestas.

Aunque hay un código listo para que lo use en Internet, la razón por la que digo que necesita leer los fundamentos es porque en un clasificador típico como SVM, Red neuronal o incluso Regresión logística, hay hay varios parámetros que se le requeriría que sintonice, y sin una comprensión de los fundamentos, sería difícil y confuso usar estos paquetes. Experimenté lo mismo cuando era un principiante.

Teniendo en cuenta cómo manejar un conjunto de datos asimétricos en SVM, cómo ajustar los parámetros de una regresión logística e incluso cómo reducir las dimensiones de su conjunto de datos, su implementación sería más rápida y eficiente. de esa forma puedes obtener una mejor precisión. De lo contrario, sumergirse directamente en el código puede hacer que vuelvas aquí con algunas preguntas básicas otra vez. ¡Espero que esto haya sido útil!

2

Weka cabría a su necesidad. Tiene regresión y se implementa en Java.

0

Si se trata de un problema de regresión, le sugiero que comience con cosas como la regresión logística o lineal en Matlab. Hay bibliotecas y puedes obtener todo el código para ello. De esta manera, primero compruebe y encuentre comparando el error en la muestra (de los datos que considera para producción) y el error fuera de muestra (para probar sus predicciones con los datos que no se consideraron para hacer esas predicciones) el número y orden de características y cantidad de datos de capacitación que necesita. Si los datos de capacitación son menores, use menos funciones o regularización. Si el número y el orden de las características es muy grande y difícil de determinar, muévase a redes neutrales o SVM (consulte, si hay una biblioteca SVM para java) y cuando tenga un sistema perfecto en Matlab, impleméntelo en Java. Por lo que he visto, los sistemas ML requieren un buen ajuste manual antes de que se ajusten para un uso práctico y entornos como Matlab/Ocatve son las mejores plataformas para este ajuste fino.

Cuestiones relacionadas