Deixe-me dizer desde o início que sou muito novo em aprendizado de máquina e não sou bom em matemática. Entendo o que o TF-IDF faz, mas no livro que estou lendo, também observa o seguinte (está discutindo como o scikit-learn faz as coisas):
As duas classes [TfidfTransformer e TfidfVectorizer] também aplicam a normalização L2 após calcular a representação tf-idf; em outras palavras, eles redimensionam a representação de cada documento para ter a norma euclidiana 1. O redimensionamento dessa maneira significa que o comprimento de um documento (o número de palavras) não altera a representação vetorizada.
É tudo o que tem a dizer sobre o assunto. O que eu acho que significa, e me avise se eu estiver errado, é que escalamos os valores para que, se todos fossem ao quadrado e somados, o valor seria 1 (peguei essa definição em http://kawahara.ca / como normalizar-vetores-para-norma-de-unidade-em-python / ).
Portanto, a ideia é que os valores dos recursos se tornem proporcionais entre si. Não tenho muita certeza de como isso seria útil para o modelo. Ajuda o classificador geral a aprender se alguns exemplos não têm um número total maior de "recursos ativados" do que outros?
Além disso, aqui está uma pergunta básica: a normalização L2 tem algo a ver com a regularização L2? Talvez seja apenas o fato de ambos envolverem termos quadrados e somados?
Qualquer que seja o insight que você possa compartilhar, seria muito apreciado!
fonte