Flu Dad Flashcards
O que é lógica de programação? (para leitura)
Um encadeamento de raciocínios coerentes com um determinado objetivo, comunicado por uma sequência de passos ou instruções, onde a instrução é um conjunto de regras ou normas simples e bem definidas para a realização ou emprego de algo. Indicando ao computador uma ação ou função elementar a ser executada.
O que é um algoritmo? (para leitura)
Conjunto predeterminado e bem definido de instruções utilizados para a solução de um problema, com um número finito de etapas.
Softwares são algoritmos?
Sim
Qual é a diferença entre linguagem de baixo e alto nível?
*BAIXO: mais perto da linguagem da máquina;
*ALTO: mais perto da linguagem natural. Com maior nível de abstração.
Quais são as características do Python? (Para leitura)
*Alto nível;
*Interpretada;
*Multiparadigma;
*Case sensitive;
*Multiplataforma;
*Extremamente semelhante ao inglês;
*Tem menos palavras e linhas que outras linguagens semelhantes;
*Tem tipagem forte e dinâmica (duck typing);
*Agrupamento por indentação.
O que significa o Python ser multiparadigma?
Suporta mais de um paradigma de programação: imperativo; procedural; funcional; orientado a objetos.
O que significa o Python ser de linguagem interpretada?
É executada linha a linha por um interpretador e depois pelo sistema operacional.
O que significa o Python ser de linguagem multiplataforma?
Pode ser utilizada no Windows, Linux, MacOS etc, porque pode ser compilado em bytecode.
O que significa o Python ser de linguagem com tipagem forte e dinâmica?
*Dinâmica: permite a alteração de tipo da variável durante a execução do código-fonte;
*Forte: não permite conversão implícita de tipo.
Usar “;” para delimitar comandos no Python é opcional?
Sim
A função print precisa de parênteses?
Sim. Ex.: print (‘Olá mundo!’)
Qual é a diferença entre os operadores “/” e “//” em Python?
”/” = divisão normal;
“//” divide e arredonda para baixo (divisão com piso).
Quais são os operadores de exponenciação e de módulo (resto da divisão) em Python?
*Exponenciação: “**”;
*Módulo: “%”.
Qual é a ordem seguida em Python para calcular equações?
PEMMDAS:
*Parênteses;
*Exponenciação;
*Multiplicação/ Módulo/ Divisão (o que vier primeiro da esquerda para direita;
*Adição/ Subtração (o que vier primeiro).
Qual é o operador de “diferente” em Python?
”!=”
Quais são os operadores de E, OU e negação em Python?
“and”, “or” e “not”
O que retorna os operadores “in” e “not in” em Python?
*“in”: retorna verdadeiro se o conjunto de valores estiver presente no objeto;
*“not in”: retorna verdadeiro se o conjunto de valores não estiver presente no objeto;
Qual é a palavra usada para definir uma função em Python?
“def”
Como são as funções lambda em Pyhton?
São pequenas funções anônimas de uma única linha. Não possuem nome e são declaradas como variáveis. Não utiliza a palavra “def” nem “return”.
Ex: s = lambda x,y: x+y
print(s(10,20)) retorna 30
Como são escritos os comentários em Python?
Com # se tiver só uma linha, ou ‘’’ (3 aspas simples) ou “”” (3 aspas duplas) se tiver mais linhas.
Em Pyhton uma variável ou identificador de função, classes ou módulo pode começar com _(underline)?
Sim
Em Pyhton uma variável ou identificador de função, classes ou módulo pode começar com número?
Não
Em Pyhton uma variável ou identificador de função, classes ou módulo pode ter caracteres especiais como hífen, @, %, # ?
Não, somente underline.
Quais são os caracteres usados na definição de uma lista, tupla e set?
lista: x = [ ]
tupla: x = ( )
set: x = { }
Em Python a primeira posição é 0 ou 1?
0
O que faz a função “capitalize()” em Python? Como é utilizada?
Converte o primeiro caractere em maiúscula.
x.capitalize()
O que faz a função “find()” em Python? Como é utilizada?
Retorna a posição da primeira ocorrência de um valor ou uma string ou -1 se não existir.
x.fin()
O que faz a função “index()” em Python? Como é utilizada?
Retorna a posição da primeira ocorrência de um valor ou uma string ou “ValueError” se não existir.
x.index()
O que faz a função “len()” em Python? Como é utilizada?
Retorna o tamanho da string.
len(x)
O que faz a função “split()” em Python? Como é utilizada?
Divide substrings encontradas a partir de um separador especificado e retorna uma lista.
x.split(“,”)
O que faz a função “strip()” em Python? Como é utilizada?
Remove espaços em branco (ou caracteres dentro do parênteses) do início/ fim da string.
x.strip()
Qual é a diferença entre lista, tupla, conjunto (set) e dicionário?
*LISTA: valores ordenados, mutáveis e indexáveis. Pode conter valores duplicados;
*TUPLA: valores ordenados, imutáveis e indexáveis. Pode conter valores duplicados;
*CONJUNTO: valores desordenados, mutáveis e não indexáveis. Não pode conter valores duplicados;
*DICIONÁRIO: valores desordenados, mutáveis e indexáveis. Não pode conter valores duplicados.
O que faz a função “append()” em Python? Como é utilizada?
Adiciona um item no final da lista.
x.append(“a”)
O que faz a função “insert()” em Python? Como é utilizada?
Adiciona um item a um índice especificado.
x.insert(5,”a”)
O que faz a função “remove()” em Python? Como é utilizada?
Remove a primeira ocorrência de um item.
x.remove(a)
O que faz a função “pop()” em Python? Como é utilizada?
Remove item em posição especificada, ou o último se não especificado.
x.pop(5)
O que faz a função “del()” em Python? Como é utilizada?
Deleta item especificado ou a lista se não especificar.
del x
del x(5)
O que faz a função “clear()” em Python? Como é utilizada?
Esvazia uma lsita.
x.clear()
O que faz a função “copy()” em Python? Como é utilizada?
Copia uma lista.
x.copy()
O que faz a função “list()” em Python? Como é utilizada?
Cria uma nova lista.
x = list((a))
O que faz a função “count()” em Python? Como é utilizada?
Saber quantas vezes aparece um elemento.
x.count(a)
O que faz a função “extend()” em Python? Como é utilizada?
Adiciona elementos específicos de uma lista ao final de outra lista.
x.extend()
O que faz a função “index()” em Python? Como é utilizada?
Retorna o índice da primeira ocorrência de um valor específico.
x.index(a)
O que faz a função “reverse()” em Python? Como é utilizada?
Inverte a ordem dos elementos de uma lista.
x.reverse()
O que faz a função “sort()” em Python? Como é utilizada?
Ordenar uma lista simples em ordem ascendente se não colocar parâmetro, ou descendente com o parâmetro “reverse=True”.
x.sort()
x.sort(reverse=True)
O que faz a função “range()” em Python? Como é utilizada?
Retorna uma lista de números começando do zero por padrão, ou com começo, fim e intervalos (step) definidos.
x = range (start, stop, step)
x = range (6) : [0, 1, 2, 3, 4, 5]
x = range (4, 10) : [4, 5, 6, 7, 8, 9]
x = range (5, 20, 3) : [5, 8, 11, 14, 17]
O que faz a função “tuple()” em Python? Como é utilizada?
Cria uma nova tupla.
x = tuple((a))
Conjuntos são impressos em ordem aleatória?
Sim
O que são “corpus” em PLN?
Datasets, textos, registros orais, documentos.
O que diz a técnica de semântica vetorial da PLN?
Documentos semelhantes tendem a possuir palavras semelhantes e assim, vetores semelhantes.
O contexto é considerado equivalente a quantas palavras antes e depois na PLN?
4
Algoritmos mais conhecidos de redução de dimensionalidade?
PCA (Principal Component Analysis). t-SNE (t-Distributed Stochastic Neighbourhood Embedding).
O que faz a técnica de representação por n-gramas?
Usa probabilidade para descobrir qual palavra completa a frase ou expressão.
O que é feito no BOW (bag of words)?
As palavras do texto são contadas e um vetor é criado.
O que faz a técnica TF-IDF?
Utiliza um peso de acordo com o inverso da frequência. Uma palavra muito frequente é pouco relevante.
O que faz a técnica PPMI?
Utiliza a probabilidade para o cálculo da frequência.
O que faz a análise de sentimentos?
1) Divide o documento em partes menores;
2) Identifica os sentimentos relacionados a cada frase;
3) Atribui uma pontuação com a polaridade de sentimentos, de -1 a 1;
4) Em casos avançados, combina as pontuações com camadas de deep learning.
Na análise de sentimentos todas as frases podem ser classificadas em positivas ou negativas?
Não. Há frases neutras.
A inteligência artificial trata de programas que podem sentir, raciocinar, agir e se adaptar?
Sim. Sentir por sensores, por exemplo.
Aprendizado de máquina é uma técnica de inteligência artificial?
Sim
O que é aprendizado profundo?
Um subconjunto do aprendizado de máquina em que o software é capaz de treinar a si mesmo.
O que é a etapa da inferência em aprendizado de máquina?
Depois da etapa de treinamento. É menos custosa e utiliza programação próxima à tradicional mas com regras aprendidas na etapa de treinamento.
É probabilística e não determinística.
O aprendizado de máquinas é bastante relevante para casos em que a criação das regras seria inviável, muito custosa ou maçante?
Sim
Como é o aprendizado supervisionado?
Tem dados manualmente rotulados.
Diz qual é a saída esperada para cada dado histórico utilizado no treinamento. O supervisor escolhe os rótulos.
Qual é o tipo de aprendizado mais comumente empregado em aprendizado de máquinas?
O aprendizado supervisionado.
Sinônimos de “rótulo” em aprendizagem de máquina?
Categoria, classe, sinal, variável, alvo, target, label, tag.
Se os rótulos se refere a um conjunto de valores infinito de valores numéricos contínuos qual é o tipo de tarefa?
De regressão.
Se os rótulos se referem a um conjunto de valores finitos e não ordenado de valores categóricos (não numéricos) qual é o tipo de tarefa?
Classificação.
Quais são os modelos supervisionados mais conhecidos?
*Árvore de decisão;
*Regressão linear;
*Regressão logística ;
*Redes neurais;
*KNN (K-nearest neighbors);
*SVM (Support Vector Machines)
Como é o aprendizado não-supervisionado?
Treina um modelo que não se sabe a saída esperada a cada dado usado. Não utiliza um professor/ supervisor para rotular dados.
Algoritmos encontram estruturas e padrões por conta própria.
O objetivo não é prever, mas sim organizar.
Quais são os sub-grupos de aprendizado não supervisionado?
*Agrupamento (clustering): encontra padrões em um conjunto de dados e agrupa em sub-conjuntos;
*Regras de associação (Association rules): verifica como determinados elementos de um conjunto estão intimamente relacionados.
Quais são os principais modelos de associação em aprendizado de máquinas?
*Apriori;
*PCA (Principal component analysis)
Quais são os principais modelos de agrupamento em aprendizado de máquinas?
*K-means;
*Agrupamento hierárquico.
Entre o aprendizado supervisionado e o não supervisionado qual é o mais barato?
O não supervisionado.
Como é o aprendizado semi-supervisionado?
Usa uma pequena quantidade de dados rotulados e uma grande quantidade de dados rotulados.
Como é o aprendizado por reforço?
Um conjunto de técnicas que utilizam tentativa e erro para descobrir decisões ótimas de como interagir com o ambiente ou outros agentes.
Recompensa uma ação positiva e pune uma negativa.
Para que serve a métrica da acurácia? Como é feita?
Serve para avaliar o percentual de acertos do algoritmo. De todas as previsões quantas acertou?
Divide o número de acertos pelo total predições.
VP + VN/ (VP + FP + VN + FN)
Para que serve a métrica do recall? Como é feita?
Avalia a capacidade do classificador de detectar com sucessos resultados positivos. Sensibilidade/ Revocação. Dentre os valores realmente positivos, quanto acertou?
Usada quando falsos-negativos são mais prejudiciais. Ex: vacinas.
VP / VP + FN
Para que serve a métrica da precisão? Como é feita?
Mensura o proporção de previsões positivas corretas sobre a soma de todos os valores positivos. Dentre os modelos previstos como positivos, quantos realmente acertou?
Usada quando falsos-positivos são mais prejudiciais. Ex: ações na bolsa.
VP / VP + FP
Para que serve a métrica do F1-score? Como é feito?
Média harmônica calculada com base na precisão e sensibilidade.
2 * (Precisão * Recall/Precisão+Recall)
Qual é o erro tipo 1 e qual é o erro tipo 2?
*Erro tipo 1: falso positivo;
*Erro tipo 2: falso negativo.
Há como ter 100% de acurácia?
Não.
Quem é o responsável pela etapa de treinamento em aprendizado de máquinas?
O cientista de dados.
Quais são as técnicas para medir desempenho de algoritmos em aprendizado de máquinas?
*Acurácia;
*Recall/ Sensibilidade;
*Precisão;
*F1-score.
O que é a árvore de decisão?
Uma das principais ferramentas de classificação.
Uma representação gráfica das regras de classificação, por meio de estruturas que contém nó raiz, nós folhas e nós finais, representados por quadrado, círculos e triângulos.
Cada nó é um teste, cada ramificação um resultado e cada folha é um rótulo.
O processo de construção da árvore se chama indução.
O que é entropia?
A medida que nos diz o quanto um conjunto de dados está desorganizado ou misturado.
Redução de entropia = ganho de informação.
Quais são as métricas para calcular a pureza de um subgrupo em árvore de decisão?
Índice de Gini, Redução de variância.
As árvores de decisão são as mais apropriadas para estimativas?
Não
As árvores de decisão fornecem uma indicação clara de quais campos são mais importantes para predição ou classificação?
Sim
Em quais situações a árvore de decisão está sujeita a erros em problemas de classificação?
Com muitas classes e um número relativamente pequeno de exemplos de treinamento.
Quais são as desvantagens da árvore de decisão?
*Propensas a overfitting;
*Uma única árvore não faz grandes previsões. Várias árvores podem ser combinadas (random forest);
*Só fornece resultados promissores se as informações forem precisas e exatas;
*Se o conjunto de dados for enorme a tarefa de projetar a árvore é muito complexa;
*Se uma regra estiver incorreta gerará decisões equivocadas, fazendo o erro se propagar.
Quais são as variáveis dependentes e as independentes nos modelos lineares?
*Dependentes/ alvo contínuas: resultado esperado;
*Independentes: entradas
Quais são os modelos lineares mais utilizados? E como eles são feitos?
*REGRESSÃO LINEAR: relação entre variável específica e um resultado que nos interessa enquanto controlamos outros fatores. Utiliza os mínimos quadrados ordinários. tem como resultado uma equação linear simples;
*REGRESSÃO LOGÍSTICA: utiliza função sigmóide.
O que faz o método dos mínimos quadrados ordinários?
Minimiza a soma dos residuais (distância vertical a partir da reta de regressão) elevados ao quadrado.
Regressão linear trabalha com dados categóricos (qualitativos)?
Não somente quantitativos (contínuos).
A regressão lógica trabalha com categóricos.
A utilização da regressão logística se dá com categorias binárias?
Sim
O que é um perceptron?
É a unidade básica de uma RNA (Rede neural artificial), sendo equivalente a um neurônio.
Como funcionam as redes neurais?
Entradas são multiplicadas por pesos, são somadas, e somado com um viés (bias). O resultado passa por uma função de ativação para definir se o nó será ou não ativado.
Em redes neurais quanto maior o peso de uma determinada entrada maior será a influência no resultado?
Sim
Quais são as classes de função de ativação em redes neurais?
*LIMITES: se resultado da função é maior ou igual a limite retorna 1 (nó ativado). Funções desse tipo tem formato de um degrau. (valores discretos, binários);
*SIGMÓIDES: recebe valor qualquer de entrada e retorna saída entre 0 e 1. F(x): 1/ (1+e^-x).
Ou saídas de -1 a 1. F(x): (e^x - e^-x)/(e^x + e^-x) ](tangente hiperbólica)
Para ser considerado deep learning deve ter aproximadamente pelo menos quantas camadas ocultas?
3
SLP (single layers perceptrons) tem camada oculta?
Não, somente MLP (multi layer perceptron) tem.
Quais são as características do classificador Naive Bayes? E qual sua desvantagem?
É muito simples, rápido e escalável.
Usado quando a velocidade é preferível à precisão.
Desvantagem: parte do princípio que as variáveis são independentes.
Quais são os elementos sob os quais não se tem controle em modelos preditivos?
Variáveis indisponíveis, variações, aleatoriedades e erros.
Como é feito o método Holdout de validação cruzada? Qual é o problema dele?
É a forma mais simples.
Divide em dois grupos, um para treinamento e outro para testes.
Problema: não é certeza que o conjunto de dados de validação seja representativo da amostra e tem pouca eficiência quando se tem poucos dados.
Como é feito o método K-Fold-Cross-Validation de validação cruzada? Qual é o problema dele?
Divide em conjuntos de treinamentos e testes diversas vezes. Sendo o de treinamento maior.
Dados de treinamento podem validar modelos?
Não.
Como são os modelos não lineares e lineares em relação ao viés e variância?
*Não lineares: Baixo viés e alta variância;
*Lineares: Alto viés e baixa variância.
O que é um hiperparâmetro? O que é a escolha de hiperparâmetro?
Parâmetro cujo valor é definido antes do início do processo de aprendizagem.
Uma característica ou restrição inserido no algoritmo de aprendizagem.
A escolha é denominada otimização (tunning)
Tipos de otimização de hiperparâmetro?
Grid search, random search, bayesiana search
Quando reduz a dimensionalidade reduz o overfitting?
Sim
Quais são os tipos de técnicas de redução de dimensionalidade?
*Seleção de variáveis / atributos: seleciona as variáveis mais importantes;
*Fatoração de matrizes: decompõe a matriz original em outras mais simples.
Redes neurais LSTM (long short-term memory) mantêm o nível de precisão independentemente do tamanho do modelo utilizado?
Não. O tamanho importa em todos os tipos de redes neurais.