AP (introdutório) Flashcards

1
Q

Parâmetros, método de classificação e de update de um perceptron

A
  • Os parâmetros são um peso por dimensão das features, mais o bias. Forma um vetor de parâmetros w.
  • O método de classificação é verificar se o ponto tem produto interno positivo ou negativo com o vetor de parâmetros (de qual lado do hiperplano normal ao vetor de parâmetros o ponto a classificar está).

Se p é o ponto a classificar, a decisão é o sinal de w^t*p nas aulas ele passou w^t*p+w_0, isso porque senão o ponto p tem que ter uma entrada sempre com “1” pra dar certo.

  • Pra update, simplesmente pega todos os pontos errados p, e soma ao vetor de parâmetros w o vetor -lambda*p se classificou como positivo sendo negativo e lambda*p se classificou como negativo sendo positivo (o sinal é onde o ponto deveria ter sido classificado), em que lambda é a velocidade de aprendizado.

Basicamente isso faz a direção do vetor de parâmetros ficar mais perto da direção do ponto, se somamos ele, e mais perto da direção oposta se subtraímos ele.

Tem que adicionar uma entrada “1” no ponto pra isso fazer sentido, que aí cada ponto vira uma direção (imagina pegar pontos dum plano e mover eles pro 3d colocando a nova dimensao sempre igual a 1).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Como usar um único perceptron pra classificar pontos em que a fronteira é um hipercírculo ao invés de um hiperplano?

A

Coordenadas polares. Move cada ponto do sistema de coordenadas original pro sistema em que uma das coordenadas é o ângulo do ponto no sistema antigo, e outro é a distância da origem (raio).

Pra mais dimensões eu imagino que teria uma dimensão fixada e pega ângulos orientados dali pra todas as outras dimensões…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Significado da função de ativação logística, outro nome, fórmula, e função de perda relacionada.

A
  • Probabilidade de classificar como classe 1.
  • Um tipo de função sigmoid.
  • A fórmula da função logística é 1/(1+e^(-z)), com z = w^t*x.
  • Se a “função de ganho” fosse o produto das probabilidades de classificar corretamente cada ponto (considerando que é independente classificar um ponto e outro), teremos a máxima verossimilhança.
  • Se tirar o log e multiplicar por -1, temos uma função de perda mais fácil de derivar. Como log é monotonicamente crescente, minimizar -log(verossimilhança) é maximizar a verossimilhança.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Melhoria do perceptron pro neurônio com função de ativação logística

A
  • No perceptron a função de ativação é a heaviside (sem y no meio).
  • Na ativação logísitica é a função logística, que é um tipo de função sigmóide.
  • As vantagens são mais sobre a interpretação da logística como representando probabilidades e maximizando verossimilhança, e as computações são diferentes (não sei se isso tem vantagem).
  • No final na verdade a fronteira de decisão da logística é LINEAR e A MESMA DO PERCEPTRON! Note que vai ser > 1/2 a probabilidade só se (1/(1+e^(-z)))>1/2 só se 1+e^(-z)<2 só se e^(-z) < 1 só se -z < 0 só se z > 0 só se w^t*x > 0, mesma coisa do perceptron!
  • A função de perda que mudou, o resultado final de decisão é o mesmo. Mas note que a logística é “smooth”… Ela no meio do caminho se comporta diferente de um perceptron no meio do caminho sim.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Duas formas de gerar não linearidade com neurônios de fronteira linear.

A
  1. Colocar no input features não lineares. Fica proibitivamente grande a quantidade de inputs, e geralmente já é grande de início.
  2. Colocar vários neurônios conectados. A segunda camada já não é linear nos inputs, apesar de ser linear na camada anterior.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Significado de função sigmoid.

A
  • Função derivável monótona (não decrescente) limitada com um ponto de inflexão.
  • Da Wikipedia: A sigmoid function is a bounded, differentiable, real function that is defined for all real input values and has a non-negative derivative at each point and exactly one inflection point. A sigmoid “function” and a sigmoid “curve” refer to the same object.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Definição de Foward Propagation, Backpropagation, Época e Batch.

A
  • Foward Propagation é a etapa de usar os pesos do momento pra ir computando os outputs de cada camada e inputs das camadas seguintes, até o fim.
  • Backpropagation é ir voltando com as derivadas e ajustando os pesos.
  • Batch é um pacote de dados que é passado apenas foward antes de uma passada backward
  • Época é uma passada de todos os dados disponíveis, pode ser vários Batchs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Porque não ter Batchs de tamanho 1 nem de todos os dados.

A
  • Se o tamanho for 1 fica muito sensível a outliers. A cada dado uma mudança ia ser feita, um outlier teria um impacto enorme.
  • Se o tamanho fosse todos os dados, eles não caberiam na RAM e também ia ter que passar todos eles pra dar um update nos parâmetros, demorando demais.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Porque não colocar variância muito alta na inicialização? Porque não variância 0 (inicializar constante)? Qual a variância ideal?

A
  • Os jacobianos de cada etapa da rede neural se multiplicam, podendo explodir rapidamente. Sem controalr a variância isso acontece.
  • A variância não pode ser 0 senão todos neurônios de uma mesma camada seriam iguais, seria o mesmo que ter um neurônio por camada.
  • A variância ideal é 1/n aproximadamente, que aí de alguma forma balanceia com a tendência de explodir os pesos.
  • O Tradeoff parece ser neurônios diferentes numa mesma camada versus resultados instáveis (variando de forma descontroalda).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Como o valor do erro no final da rede influencia no quanto os pesos vão ser modificados?

A
  • Os outputs são todos mantidos até que todo o Batch tenha sido passado.
  • Na hora de voltar, a função de perda tem como input os outputs/erros, então o erro é um input desse pedaço, e isso vai ser propagado automaticamente pelo resto da rede pelos jacobianos!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Como exatamente os resultados de vários inputs de um Batch são acumulados antes de uma Backpropagation?

Resposta incompleta, realmente nao to entendendo algo.

A
  • As derivadas parciais de cada nó/trechinho são funções da entrada, então já podemos computar esses valores no foward propagation. Não sei se soma eles pra vários inputs de treino (?) Minha intuição me diz que o quanto o resultado varia no total é a soma do quanto ele varia pra cada input… (?) Não to vendo a formalização disso…
  • No final cada foward propagation emitirá um output, mas esse output é uma função da loss function. A derivada total do log-likelihood por exemplo é a soma das derivadas de cada input. Então nesse caso já pode ir somando… (?)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly