Aprendizado de máquina [resumo da revisão do final do semestre] - pontos de conhecimento e exemplos de algoritmos (organização detalhada)
1. O que é aprendizado de máquina, o que são conjunto de treinamento, conjunto de validação e conjunto de teste? (Trecho da série ML Popular Science (1) )
Machine Learning: aprender parte dos dados do computador e, em seguida, prever e julgar outros dados
① Conjunto de treinamento:
Função: Estime o modelo
para aprender o conjunto de dados de amostra e construa um classificador combinando alguns parâmetros. Estabelecer um método de classificação, que é usado principalmente para treinar o modelo
② Conjunto de verificação:
função: determine a estrutura da rede ou controle os parâmetros da complexidade do modelo
. Para o modelo aprendido, ajuste os parâmetros do classificador, como selecionar o número de unidades ocultas na rede neural. O conjunto de validação também é usado para determinar a estrutura da rede ou os parâmetros que controlam a complexidade do modelo.
③ Conjunto de teste:
função: para testar o desempenho do modelo ideal final, principalmente
para testar a capacidade de resolução do modelo treinado (taxa de reconhecimento, etc.)
2. As características, diferenças e algoritmos correspondentes de aprendizado supervisionado, não supervisionado e semi-supervisionado
Nota complementar:
Aprendizado ativo: o algoritmo de aprendizado seleciona dados valiosos de dados não rotulados por meio de dados rotulados, rotula-os para especialistas e os treina. No entanto, especialistas precisam ser introduzidos para rotulagem interativa.
O aprendizado semi-supervisionado pode ser dividido em aprendizado semi-supervisionado puro e aprendizado transdutivo:
① Aprendizado semi-supervisionado puro: os dados previstos são os dados observados fora do conjunto de treinamento
② Aprendizado transdutivo: os dados previstos são os dados não rotulados no conjunto de treinamento
O que eles têm em comum: São problemas de autoaprendizagem que usam um pequeno número de amostras rotuladas e um grande número de amostras não rotuladas para treinamento e classificação
(um exemplo típico de aprendizado semi-supervisionado):
输入:有标签数据 { x , y },无标签数据 { x },距离函数 d ()
1、初始化:L= { x , y },U= { x }
2、重复(U 不为空):
3、使用有标签数据 L 训练 f(监督学习)
4、应用f到无标签数据 U 中,并取出部分数据加入有标签数据集 L
3. Discuta a relação entre taxa de verdadeiro positivo (TPR), taxa de falso positivo (FPR) e precisão (P) e rechamada (R)
Recall: A proporção de verdadeiros positivos que são previstos como positivos
Taxa verdadeira: A proporção de verdadeiros positivos que são previstos como positivos
Obviamente, taxa de recall = taxa de casos verdadeira
Precisão: a proporção de verdadeiros positivos entre as instâncias previstas como positivas
Falso positivo: a proporção de verdadeiros negativos previstos como positivos
Não há relação numérica direta entre os dois
4. Como obter a curva PR
Explicação: O índice de pontuação F1 é derivado da curva PR, que é usada para equilibrar a taxa de precisão P e a taxa de rechamada R, mencionada no oitavo ponto de teste
5. Como obter a curva ROC e tentar descrever a relação com a taxa de erro
As coordenadas vertical e horizontal da curva ROC são a taxa de verdadeiro positivo e a taxa de falso positivo, respectivamente (a imagem é tirada de Zhihu ):
as amostras são classificadas de acordo com os resultados de previsão do aluno e as amostras são previstas como exemplos positivos um por um nesta ordem. O cálculo leva aos valores de duas quantidades importantes, e eles são plotados como as coordenadas horizontal e vertical, respectivamente, e a "curva ROC" é obtida
6. Quais são as funções de ativação na rede neural? Quais são suas funções? Como são seus gráficos de função e quais são seus prós e contras?
7. A conexão, diferença e algoritmo correspondente entre classificação e regressão
Regressão: Geralmente é para prever um valor, que é uma aproximação do valor real.
Classificação de previsão: Colocar um rótulo na transação, geralmente o resultado é um valor discreto, e o resultado correto é apenas um conceito que não está próximo
A seguir estão as conexões, diferenças e algoritmos correspondentes entre eles:
Notas suplementares sobre as várias regressões mencionadas acima:
8. Indicadores relacionados para problemas de classificação e regressão
① Indicadores de classificação
1. Precisão: Indica a razão entre o número de casos de teste classificados corretamente e o número total de casos de teste. A fórmula de cálculo é:
2. Precisão: Também chamada de precisão, representa o número de casos positivos classificados corretamente A proporção do número das instâncias classificadas como casos positivos, a fórmula de cálculo é:
3. Recall (Recall): também chamada de taxa de recall, indicando a proporção do número de casos positivos classificados corretamente para o número real de casos positivos, a fórmula de cálculo é :
4. Pontuação F1: Com base na média harmônica da taxa de recall (Recall) e a taxa de precisão (Precision), a taxa de recall e a taxa de precisão serão avaliadas juntas. A fórmula de cálculo é [mais próxima daquela com o número menor, então a precisão Quando a taxa e a taxa de recall estão próximas, o valor é o maior e os indicadores de avaliação de muitos sistemas de recomendação usam o valor F]:
② Índice de regressão
1. Erro absoluto médio (MAE): indica o valor médio do erro absoluto entre o valor previsto e o valor observado
2. Erro Quadrático Médio (MSE): Indica o valor esperado do quadrado da diferença entre o valor estimado do parâmetro e o valor real do parâmetro
3. Raiz do erro quadrático médio (RMSE): indica o desvio padrão da amostra da diferença entre o valor previsto e o valor observado. A raiz quadrada média do erro é usada para ilustrar o grau de dispersão da amostra. Ao fazer um ajuste não linear, quanto menor o RMSE, melhor
9. Qual é a diferença entre regressão linear e regressão logística, e qual é a expressão de suas respectivas funções de perda?
10. A regra da cadeia
11. Exemplo de Algoritmo BP
① Para o vih na figura abaixo, tente derivar a fórmula de atualização no algoritmo BP [do blog ]
② Tente projetar um algoritmo que possa melhorar significativamente a velocidade de convergência ajustando dinamicamente a taxa de aprendizado, implemente o algoritmo por programação e escolha dois conjuntos de dados UCI para comparar com o algoritmo BP padrão. Clique aqui para ver a resposta
12. Exemplo de função de ativação de neurônios
Discuta os defeitos de usar a função linear f(x)=wTx como a função de ativação do neurônio (do livro curto )
13. A definição de desvio e variância e a ocorrência de desvio e variância
Desvio: Mede o grau de desvio entre a previsão do algoritmo de aprendizado e o resultado real, ou seja, descreve a capacidade de ajuste do próprio algoritmo de aprendizado
Desvio alto (underfitting): o erro de treinamento e o erro de verificação são muito próximos, mas recursos muito grandes; usando recursos polinomiais; regularização enfraquecida
A variância mede a mudança no desempenho do aprendizado devido a mudanças no conjunto de treinamento do mesmo tamanho. Representa imediatamente o impacto da perturbação dos dados
Alta variância (overfitting): pequeno erro de treinamento, grande erro de verificação
Contramedidas: aumentar as amostras de treinamento; remover recursos não principais; fortalecer a regularização
Tendência geral de treinamento: alto desvio -> alta variância.
Quanto maior a complexidade do modelo, melhor. Quanto maior a complexidade, pior o efeito.
14. Implementação e exemplos do algoritmo K-means
Tente analisar se o algoritmo K-means pode encontrar a solução ótima da fórmula de minimização (9.24) (dado conjunto de dados):
O resultado da execução do algoritmo K-means depende do centro do cluster inicialmente selecionado, e o resultado encontrado é uma solução ótima local, não necessariamente uma solução ótima global
Consulte o livro de melancia P203, o conjunto de dados não será muito grande:
15. O processo e vantagens e desvantagens do algoritmo integrado
Os algoritmos de conjunto melhoram o desempenho e a generalização construindo e combinando vários alunos
Quanto mais alunos individuais, mais preciso, maior a diferença e melhor a integração, mas à medida que o número de indivíduos aumenta, requer maior sobrecarga de computação e armazenamento, e as diferenças no aprendizado individual são mais difíceis de obter. Há um problema de desequilíbrio de dados, o que levará a uma diminuição na precisão
Algoritmo de ensacamento: (vários alunos em paralelo):
输入:训练样本D,弱学习算法,迭代次数T
过程:
For t=1,…,T:
对训练集进行随机采样,得到采样集 Dt
用 Dt 训练第 t 个学习器 Ct(x)
若是分类,则选取投票数最多的为结果;若为回归,则设置算术平均数
Processo de reforço (em série, promovendo alunos fracos a alunos fortes):
先从初始训练集训练一个基学习器
再根据基学习器的表现对训练样本分布进行调整
然后基于调整后的样本分布来训练下一个基学习器
直到学习器数目达到事前制定的数目 T
最终将 T 个基学习器进行加权结合
O representante mais famoso da família de algoritmos Boosting é o AdaBoost. O processo AdaBoost (com foco em amostras classificadas incorretamente e com foco em alunos com alta precisão) é o seguinte:
Algoritmo de empilhamento:
16. Métodos semi-supervisionados baseados em divergência
treinamento colaborativo
Aproveite a "complementaridade compatível" de múltiplas visualizações
Algoritmo de Treinamento Colaborativo
Implementação de treinamento colaborativo
Melhorias no método de divergência para várias exibições
17、SVM
① Princípio do SVM
② A ideia e as restrições do algoritmo SMO no SVM
O algoritmo SMO é o algoritmo Sequential Minimal Optimization (Otimização Mínima Sequencial)
Ideia: Otimize apenas duas variáveis por vez, trate as variáveis restantes como constantes e converta um algoritmo de otimização complexo em um problema de otimização de duas variáveis mais simples
③ Exemplos
Exemplo 1 [dos "Métodos de Aprendizagem Estatística" de Li Hang]
(a) Solução um
(b) Solução 2
Exemplo 2 [Do PPT do professor Zhang Lizong]
Muitos alunos realmente não descobriram esse método. A seguir está minha solução. A programação linear ainda é muito boa para cálculos simples:
Exemplo 3 [Pergunta de Prova]
18、Adaboost
Perguntas de exemplo [dos "Métodos de Aprendizagem Estatística" de Li Hang]