Incorporando o feedback do usuário em um modelo ML

votos
7

Eu desenvolvi um modelo ML para uma classificação (0/1) tarefa PNL e implantado no ambiente de produção. A previsão do modelo é exibido para os usuários, e os usuários têm a opção de dar um feedback (se a previsão era certo / errado).

Como posso continuamente incorporar esse feedback no meu modelo? De um ponto de UX se você não quer um usuário para corrigir / ensinar o sistema mais de duas vezes / três vezes por uma entrada específica, shld sistema aprende rápido, ou seja, assim que o feedback shld ser incorporados rápido. (Google caixa de entrada prioritária faz isso de uma forma seamless)

Como se constrói este feedback loop usando o que meu sistema pode melhorar? Tenho pesquisado muito na net mas não conseguiu encontrar material relevante. os ponteiros vai ser de grande ajuda.

Pls não dizer treinar o modelo a partir do zero, incluindo novos pontos de dados. Isso é certamente não como Google e Facebook construir seus sistemas inteligentes

Para explicar melhor a minha pergunta - pense detector de spam do Google ou sua caixa de entrada prioritária ou sua característica recente da respostas inteligentes. É um fato bem conhecido que eles têm a capacidade de aprender / incorporar (rápido) de alimentação do usuário.

Durante todo o tempo em que incorpora o feedback do usuário rápido (ou seja, o usuário tem que ensinar a saída correta do sistema atmost 2-3 vezes por ponto de dados eo sistema começa a dar saída correta para esse ponto de dados) e também garantir que ele mantém aprendizados e antigos não começa a dar resultados errados em pontos de dados mais velhos (onde ele estava dando saída direito anterior), enquanto incorporando o aprendizado de novo ponto de dados.

Eu não encontrei qualquer / literatura wrt blog / discussão como construir tais sistemas - um sistema inteligente que explica em malha detaieedback em sistemas ML

Espero que a minha pergunta é um pouco mais claro agora.

Update: algumas questões relacionadas I encontrados são:

Update: Eu ainda não tenho uma resposta concreta, mas tal receita não existe. Leia a seção Aprender a partir do feedback no seguinte blogue Machine Learning! = Aprendizado de Máquina . Neste Jean fala sobre a adição de um loop de feedback ingestão de máquina. Mesmo no aqui , aqui , aqui 4 .

Publicado 17/03/2016 em 15:59
fonte usuário
Em outras línguas...                            


3 respostas

votos
1

Construir um modelo simples, leve (s) que pode ser atualizado por feedback. Aprendizagem de máquina on-line dá um número de candidatos para este

A maioria dos bons classificadores online são linear. Caso em que podemos ter um par deles e conseguir a não-linearidade, combinando-os através de uma pequena rede neural rasa

https://stats.stackexchange.com/questions/126546/nonlinear-dynamic-online-classification-looking-for-an-algorithm

Respondeu 03/10/2016 em 10:32
fonte usuário

votos
1

Não poderia haver algumas maneiras de fazer isso:

1) Você pode incorporar o feedback que você obtém a partir do usuário para treinar apenas a última camada do seu modelo, mantendo os pesos de todas as outras camadas intactas. Intuitivamente, por exemplo, no caso da CNN isso significa que você está extraindo os recursos utilizando o seu modelo, mas ajustando levemente o classificador para explicar as peculiaridades de seu usuário específico.

2) Outra maneira poderia ser ter um modelo global (que foi treinado em seu grande conjunto de treinamento) e uma regressão logística simples que é específico do usuário. Para previsões finais, você pode combinar os resultados das duas previsões. Veja este papel pelo Google sobre como eles fazem isso para sua caixa de entrada prioritária.

Respondeu 30/05/2017 em 08:57
fonte usuário

votos
0

Meu serviço mlrequest torna este simples com a aprendizagem online. Você pode implantar baixa latência, de alta disponibilidade modelos de aprendizagem on-line para 5 centros de dados ao redor do mundo com algumas linhas de Python. Modelos pode ser escalado para muitos, muitos milhares de transações modelo / segundo.

Um exemplo Python está abaixo, mas qualquer linguagem pode ser usada com mlrequest. Obter uma chave de API gratuita que fornece 50 mil transações modelo por mês.

$pip install mlrequest

Treinamento de um modelo é sempre incremental. Você nunca vai precisar obter dados antigos para treinar o modelo com novos exemplos.

from mlrequest import Classifier
classifier = Classifier('my-api-key')
features = {'feature1': 'val1', 'feature2': 45}
training_data = {'features': features, 'label': 2}
r = classifier.learn(training_data=training_data, model_name='my-model', class_count=2)

Prevendo é tão simples como

features = {'feature1': 'val1', 'feature2': 77}
r = classifier.predict(features=features, model_name='my-model', class_count=2)
r.predict_result

Agora você só precisa ter algum evento chamar o learnponto final quando quiser uma atualização do modelo para ocorrer.

Respondeu 22/10/2019 em 05:45
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more