Num curso aqui da alura "Data Science: modelos de regressão por baixo dos panos", na parte da regressão logistica multivariavel, o professor citou essa formula para estimar os valores de Y e criou ela em python usando numpy, e ela na realidade é a aplicação da função sigmoide.
E no código python, professor implementou essa formula dessa forma abaixo usando numpy:
Na regressão linear nós temos entradas X(atributos da amostra), e para cada entrada X temos um coeficiente theta associado a ela. Por exemplo, se tivesse 4 entradas, então eu teria 4 coeficientes sendo eles: theta1 para a entrada X1, o theta2 para entrada X2, theta 3 para entrada X3 e theta4 para a entrada X4, e mais um coeficiente extra adicional chamado de theta0, que não esta associado a nenhuma entrada. Pelo menos isso foi o que eu entendi até agora observando as formulas
Pelo que vi nesse código, a variavel Z recebe o resultado da operação matricial np.dot do numpy, passando X e theta como argumentos. X é uma matriz(com linhas e colunas), e theta é apenas um vetor. Pelo menos é o que parece ser e faria sentido ser por conta do conceito da regressão linear.
Mais por conta da notação matricial usada do numpy, eu ainda fico meio na duvida. Por favor, poderiam me explicar o np.dot nesse contexto? tenho algumas perguntas que gostaria de fazer.
Perguntas:
(1) - essa linha "Z = np.dot(X, theta)" está fazendo o que na realidade? isso parece ser uma soma ponderada, mais como? como ela opera? o que a função np.dot faz nesse contexto, com esses parametros? por favor, poderia me explicar em detalhes?
(2) - o resultado de Z seria um vetor ou uma matriz?
(3) - Ultima pergunta: Eu entendi isso certo?: Por exemplo, focando apenas na primeira amostra, se ela tivesse 2 atributos, então nessa linha do np.dot, ele iria pegar o atributo X1 da amostra e multiplicar pelo coeficiente theta1, gerando assim um resultado. Depois ele iria pegar o atributo X2 da amostra e multiplicar pelo coeficiente theta2, gerando assim outro resultado. Depois de terminar essas 2 multiplicações, com esses 2 resultados já obtidos, ele iria somar o resultado das duas, e assim obter o potencial de ativação Z, ou seja, ele iria pegar o resultado da multiplicação de X1 com theta1 e somar com a multiplicação de X2 com theta2. Ou seja, matematicamente essa formula sem usar notação matricial seria simplismente Z = (X1 * theta1) + (X2 * theta2). Eu entendi corretamente a aplicação da formula? sem usar operações matriciais seria exatamente isso: Z = (X1 * theta1) + (X2 * theta2) ? eu entendi corretamente?