Arquitetura de rede neural para o nome do autor como entrada?


8

Estou construindo uma rede neural para prever o valor de uma obra de arte com uma ampla variedade de insumos (tamanho, meio de arte etc.) e gostaria de incluir o autor como insumo (geralmente é uma enorme fator no valor de uma única obra de arte).

Minha preocupação atual é que o nome do autor não seja uma entrada numérica ideal para um NN (ou seja, se eu apenas codificar cada autor com um valor inteiro crescente, atribuirei indiretamente mais valor aos autores mais abaixo na lista -_-) . Meu pensamento era criar entradas separadas para todos os autores do meu conjunto de dados e usar apenas uma codificação quente para representar melhor a entrada para o NN.

Essa abordagem, no entanto, encontra um problema quando um autor que não está incluído nos meus dados de treinamento é usado como uma entrada para o NN (ou seja, um novo autor). Posso contornar isso com um campo de entrada "outro autor", mas estou preocupado que isso não seja preciso, pois não teria treinado o NN para essa entrada (todas as obras de arte com uma avaliação têm um autor).

Ainda não pensei muito nisso, mas pensei em talvez treinar 2 NNs, um para uma avaliação sem autor e outro para avaliação com um autor para garantir que eu tenha dados de treinamento suficientes para que uma "avaliação sem autor" ainda seja razoavelmente precisa.

Ainda estou tentando conceituar a melhor arquitetura de NN antes de ficar preso na implementação, por isso, se alguém tiver alguma sugestão / comentário, ficaria muito grato!

Agradecemos antecipadamente, Vince

PS: Estou fazendo isso como uma pequena competição com um amigo para testar um NN versus as técnicas tradicionais de avaliação comercial. Por favor, ajude-me a obter uma vitória para a Ciência da Computação sobre a Ciência Atuarial.


11
Não está relacionado à sua pergunta, mas você pode considerar incluir recursos com base nas ofertas anteriores / outras obras do artista / e eventos no mercado de arte. Esses geralmente têm um grande impacto no preço de uma peça.
Alpha

Respostas:


4

A abordagem mais direta que eu recomendaria seria a solução de codificação one-hot sem um recurso para '' outro autor ''. Se você usar o abandono escolar durante o treinamento, a rede deve aprender a lidar com vetores de entrada que não possuem nenhum recurso de autor definido como 1. Então, sempre que você tiver um autor desconhecido, você simplesmente não possui 1s para qualquer dos recursos do autor, e ele ainda deveria ter aprendido a lidar com isso.

Outra abordagem possível seria uma codificação one-hot com um recurso para '' outro autor ''. Para ainda obter dados de treinamento para esse peso, você pode simplesmente usar o aumento de dados. A abordagem mais direta de aumento de dados para isso seria criar cópias das instâncias em seus dados de treinamento, mas, para essas cópias, defina o recurso '' outro autor '' como 1 em vez do autor real.

A solução mais complexa em que posso pensar seria usar a representação em cadeia do autor, tentando fazer com que seu programa encontre informações sobre esse autor on-line (por exemplo, tente procurar uma página da Wikipedia), envie todo esse texto por meio de um LSTM. A '' camada de saída '' do LSTM pode então ser mesclada com seus outros recursos (esses dois juntos serão seu '' vetor de entrada ''), empilhar mais algumas camadas e treinar a coisa toda. até o fim. A menos que a competição com seu amigo envolva uma quantia séria de dinheiro, isso provavelmente será muito complicado para valer a pena.


3

Eu tentaria encontrar alguns recursos de proxy sobre o autor, em vez de codificar a identidade do autor. As boas características prováveis ​​de um autor incluem médias de outras características sobre o trabalho (como tamanho, tipos de mídia etc.) e, criticamente, para sua previsão, algumas estatísticas sobre os preços de venda anteriores de quaisquer trabalhos. Lembre-se de que os dados históricos do treinamento incluem os dados do proxy como apareceriam no momento da venda.

É provável que ter esses proxies funcione muito melhor do que codificar uma identidade de autor com um hot-key e fazer com que o algoritmo ML atribua pesos com base apenas na identidade, especialmente para autores com apenas pequenas quantidades de dados para representá-los.

Até onde eu sei, há poucas razões para esperar que a cadeia de caracteres do nome de um autor se correlacione com o valor da obra de arte. Não pode haver algum bom contra o mau marca efeito, mas eu acho que vai ser muito difícil prever até mesmo no isolamento de outros fatores, incluindo dados históricos de vendas devem ter em conta esta e semelhantes efeitos, exceto para artistas sem história conhecida.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.