9 votos

Algoritmo de bolsillo para el entrenamiento de perceptrones

Cuando lees sobre las variantes del perceptrón en Wikipedia se explica un algoritmo: Algoritmo de bolsillo Se dice que:

resuelve el problema de estabilidad del aprendizaje del perceptrón guardando "en el bolsillo" la mejor solución vista hasta el momento.

Sin embargo, no hay mucha explicación sobre el algoritmo, y me gustaría ver algún pseudocódigo para ello, así como una explicación de cómo implementar a mano.

5voto

Ankur Loriya Puntos 160

Se trata con un poco más de detalle en el libro sobre redes neuronales de Rojas, disponible en su página web. Creo que el libro también contiene una referencia al artículo original que introdujo el algoritmo.

http://www.inf.fu-berlin.de/inst/ag-ki/rojas_home/pmwiki/pmwiki.php?n=Books.NeuralNetworksBook

Edición: sí, aquí está el documento original de Gallant con pseudocódigo:

https://www.ling.upenn.edu/courses/Fall_2007/cogs501/Gallant1990.pdf

3voto

Hannes Puntos 101

Básicamente, el algoritmo de bolsillo es un algoritmo de aprendizaje perceptrón con una memoria que guarda el resultado de la iteración. Usted puede considerar el algoritmo de bolsillo algo similar a:

def pocket(training_list, max_iteration):
    w = randomVector()
    best_error = error(w)
    for i in range(0, max_iteration):
        x=misclassified_sample(w, training_list)  
        w=vector_sum(w, x.y(x))
        if error(w) < best_error :
            best_w = w
            best_error = error(w)
    return best_w

3voto

Daleboy24 Puntos 11

He encontrado el blog muy útil para entender Pocket Algorithm. Estoy dando extracto de ese blog.

Algoritmo de aprendizaje de bolsillo

La idea es sencilla: este algoritmo se guarda en el bolsillo el mejor resultado visto hasta el momento (por eso se llama Algoritmo de Aprendizaje de Bolsillo). El mejor resultado significa que el número de errores de clasificación es mínimo. Si las nuevas ponderaciones producen un número menor de errores de clasificación que las ponderaciones del bolsillo, sustituya las ponderaciones del bolsillo por las nuevas; si las nuevas ponderaciones no son mejores que las del bolsillo, mantenga las del bolsillo y descarte las nuevas. Al final de la iteración de entrenamiento, el algoritmo devuelve la solución en el bolsillo, en lugar de la última solución.

Pseudocódigo

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X