Aula 1.2 - Cálculo

19 minuto(s) de leitura

Introdução

Esta é parte 2 da aula 1 do curso de machine learning. Nesta aula vamos abordar os conceitos básicos e necessários sobre Cálculo para se iniciar na área. Este post será basicamente um apanhando geral do livro de Cálculo I e II do James Stewart. Este foi o livro que aprendi cálculo e o considero como uma excelente fonte. Existem alguns PDFs dele disponíveis por ai que você encontra no google, mas eu não sei onde encontrá-los.

Essa aula será dividida em 4 partes. Na primeira, vamos fazer uma breve revisão de algumas funções. Na segunda, vamos abordar o conceito de limite. Na terceira o de derivada e na quarta Minimização/Maximização por derivadas, que é conceito mais importante o nosso propósito, ou seja, machine learning. Se você se sente confortável com os conceitos fundamentais, já vá direto para a Parte 4. Novamente, isso é uma aula de revisão. Para saber mais recorra as referências fornecidas.

Parte 1 - Preliminares

Antes de falar sobre limite, vamos abordar alguns conceitos que serão úteis daqui pra frente. Vou tentar ser o mais breve possível.

Função inversa

Dado uma função , a função é definida como sua inversa se:

A notação para a essa função é . Porém, cuidado para não confundir com .

Calcular uma inversa é bem simples. Basta igualar uma função e isolar . Por exemplo, considere . Para encontrar sua inversa fazemos e isolamos da seguinte maneira:

Dessa forma, .

Função exponencial

Seja um número positivo, fixo, chamado de base, sua exponencial é definida como:

Algumas propriedades interessantes:

  • P1:
  • P2:
  • P3:

Além disso, para que a função seja definida para todos os números reais, existem as seguintes definições:

  • D1:
  • D2:

O gráfico básico de uma exponencial é exemplificado na Figura 1.

Figura 1: Gráfico básico de uma exponencial. A medida que x cresce, sua imagem y é cada vez mais amplificada. Essa é a caracteristica básica de uma exponencial. Fonte

Função logaritimica

Basicamente, o logaritmo é a função inversa da exponencial. Sendo a base, um logartimo é definido como:

Como por definição , temos que e como , temos que . Outro detalhe importante é que não existe solução para equação . Dessa forma, não é definido.

Como veremos mais para frente, o logaritmo é importante para machine learning uma vez que suas propriedades auxiliam nas derivadas de algumas funções. Então, vamos as principais propriedades:

  • P1:
  • P2:
  • P3:

Além das três propropriedades acima, outra muito importante é a mudança de base:

O gráfico básico de um logaritmo é mostrado na Figura 2.

Figura 2: Gráfico básico de um logaritmo. Observe que a curva não toca o eixo y para x=0. Como a função não é definida ali, o que temos é uma assíntota. Fonte

Logaritmo neperiano

Quando a base do logaritmo é igual a , o logaratimo recebe o nome de neperiano ou natural. Assim como , é uma constante fundamental da matemática. Dessa forma temos duas definições:

  • A exponencial de é definidade como
  • O logaritmo de é definido como:

Parte 2 - Limites

Vamos começar definindo formalmente o que é limite:

Definição 1: seja uma função definida sobre algum intervalo aberto que contém o número , exceto possivelmente no próprio , então dizemos que o limite de quando tende a é se para todo número há um número correspondente tal que:

A representação matemática do limite é descrita a seguir:

Agora largando o formalismo de lado, o que essa definição nos diz é o seguinte:

  • O se pudermos tornar os valores de arbitrariamente próximos de tornando próximo de , mas não igual a .

Definição 2: O se e somente se e .

A definição 2 nos diz que aproximando a pela esquerda ou pela direita, o limite tem que ser o mesmo.

Limites infinitos

Pode acontecer que a medida que se aproxima de os valores de torna-se muito grandes. Vamos tomar como exemplo a função logaritmica definida anteriormente e plotada no gráfico da Figura 2. Portanto, tomando queremos calcular o . Se observarmos a Figura 2, quanto mais o valor de se aproxima de , o valor de se torna muito grande, mas negativo. Agora lembre-se que o logaritmo não é definido em . Nesse caso, dizemos que:

Em outras palavras, quando o valor se aproxima de pela direita, mas não igualando a , o valor de tende a um número muito grande negativo, no qual chamamos de . O mesmo ocorre se aproximarmos a pela esquerda, mas neste caso o limite tende a .

Com isso, é gerado uma assíntota, que já discutimos na parte 1 e é ilustrada na Figura 2. A curva se aproxima o quanto imaginarmos, mas jamais toca o eixo , uma vez que a função não é definida em .

Propriedades

Existem dezenas de propriedades para se calcular um limite. Como esta aula é apenas uma revisão, vamos descrever apenas algumas delas. Para isso, considere uma constante e suponha que o e existam. Sendo assim:

  • P1:

  • P2:

  • P3:

  • P4: se

  • P5:

  • P6:

  • P7:

  • P8:

Portanto, essas definições são extremamente úteis para se calcular o limite de uma função.

Regra da substituição direta

Um das regras mais úteis para se calcular limite é o da substituição direta. Juntamente com as propriedades anteriores, somos capazes de calcular o limite de uma grande gama de funções. Mas antes de definir a regra, precisamos definir continuidade.

Definição 3: Uma função é contínua em se:

Da mesma forma, é contínua a direita se e a esquerda se . Por fim, é contínua em um intervalo se a função é contínua para todos os pontos deste intervalo.

Para complementar a definição 3, existe o seguinte teorema:

Teorema 1: os seguintes tipos de função são contínuas em todo número de seus domínios:

  • Polinômio
  • Funções racionais
  • Funções raízes
  • Funções exponenciais
  • Funções trigonométricas
  • Funções logaritmimicas
  • Funções trigonométricas inversas

Agora vamos a definição da regra da substituição direta, que é bem simples:

Portanto, a partir da definição e do teorema acima, temo as regra da subsituição direta, ou seja, caso seja contínua em , para calcular o limite de basta calcular .

Cálculo da reta tangente

Dado o gráfico obtido pela equação , se quisermos encontrar a reta tangente a curva em um ponto , fazemos o seguinte:

  • Definir a reta tangente de inclinação que passa por
  • Considerar um ponto vizinho , com
  • Calcular a inclinação da curva da seguinte forma (da álgebra linear do ensino médio):

Ao traçar a reta obtemos uma reta secante a curva . A ideia é mover essa curva até ela se tornar uma tangente no ponto . A Figura 3 ilustra essa operação.

Figura 3: Estratégia para cálculo da reta tangente a partir da reta secante. Fonte
  • Para executar essa estratégia precisamos fazer se aproximar de . Para isso fazemos .
  • Se , então a tangente será a reta que passa em com inclinação .
  • Isso implica que a reta tangente é a posição limite da reta secante, como ilustrado no gráfico.

De acordo com os passos acima, podemos definir a reta tangente da seguinte forma:

Definição 4: A reta tangente a uma curva em um ponto é a reta que passa por com inclinação:

Desde que o limite exista. Também é comum encontrar a equação 7 da seguinte forma:

Neste momento você pode está se perguntando: mas pra que estou lendo sobre cálculo da reta tangente em um curso de machine learning? Bom, esse é o passo inicial para a compreensão de derivadas, o que é fundamental no universo de ML. Na verdade, a equação 8 é tão comum na ciência e engenharia que ela ganhou um nome especial: derivada. A inclinação da reta tangente no ponto é a interpretação geométrica do que é derivada. Isso abre caminho para última parte desta aula.

Parte 3 - Derivadas

A definição de derivada é basicamente a mesma da definação 4. Mas de qualquer forma:

Definição 5: a derivada de uma função em um número , denotada por ou é definida como:

se o limite existir.

A interpretação geométrica da derivada nós já sabemos, ou seja, a inclinação da reta tangente no ponto . Porém, a interpretação mais importante é como taxa de variação.

Derivada como taxa de variação

A derivada pode ser interpretada como a taxa de variação instântanea de em relação a quando .

Vamos definir a taxa de variação instântanea de em relação a em . Se o intervalor for , então a variação é correspondente em como . Com isso, a taxa de variação instântanea é cálculada da seguinte forma:

Com isso, a derivada é a taxa de variação instântanea de em relação a quando .

Funções diferenciáveis

Nem toda função é diferenciável e isso é importante em machine learning. Por isso temos o seguinte teorema:

Teorema 2: se é diferenciável em , então é contínua neste ponto.

Este teorema está de acordo com a definição 3. Porém, atenção! A recíproca não é verdadeira! Por exemplo, a função é contínua, porém ela não é diferenciável em , uma vez que não é possível calcular a reta tangente a este ponto.

De maneira geral, você pode considerar que se uma curva muda abruptamente de direção, formando uma quina, uma dobra ou uma tangente vertical, a função não é diferenciável no ponto pois não terá tangente.

Regras de diferenciação

Nesta subseção vamos apresentar as principais regras de diferenciação até a regra da cadeia, que é de extrema importância para machine learning. Lembrando que isso é apenas uma revisão, para provas e versões completas, recorra a referência disponibilizada. Para facilitar a escrita, considerando a como , sendo uma função diferenciável, temos as seguintes regras:

  • Constante:
  • Multiplicação por constante:
  • Função potência:
  • Regra da soma/diferença:
  • Regra do produto:
  • Regra do quociente:

Obviamente podemos compor essas regras para obtermos as derivadas desejadas. Mais pra frente teremos alguns exemplos.

Derivadas de algumas funções especiais

Algumas funções são bem frequentes, como as trigonométricas e logaritmicas. As derivadas dessas funções são definidas como:

  • Derivada de :
  • Derivadas trigonométricas:
    • Seno:
    • Cosseno:
    • Tangente:
  • Derivada de funções logaritmica
    • Base :
    • Base :

    O Interessante das derivadas logaritmicas é que ela pode ser usada para facilitar derivadas complicadas. Obviamente isso é utilizado em machine learning. Por exemplo, considere . A primeira vista, calcular essa derivada parece muito difícil! Mas vamos aplicar em ambos os lados da equação e em seguida aplicar as regras anteriormente definidas:

Regra da cadeia

A regra da cadeia é, talvez, a mais importante regra de diferenciação e é parte fundamental do backpropagation, que você vai ouvir falar muito ainda. Logo, vamos definí-la:

Definição 5: Seja e duas funções diferenciáveis e seja , então é definida como:

A regra também é encontrada na seguinte notação: seja e , então:

  • Exemplo 1: Calcular deriva de .
    1. Primeiramente, manipulando a função:
    2. Aplicando a regra da cadeia e as regras de diferenciação:
  • Exemplo 2: Calcular deriva de .
    1. Aplicando a regra da cadeia:

Derivadas superiores

Até o momento, foi aprensentado derivadas de primeira ordem. Porém, podemos ter derivadas de 1ª, 2ª, 3ª etc ordens. Portanto, se uma função é diferenciável, também é uma função, logo, pode ter sua própria derivadas . Essa derivada é chamada de derivada segunda:

Derivadas parciais

Até o momento tratamos de função de uma variável, no caso . Porém, podemos ter funções de mais de uma variável, por exemplo, . É muito comum desejarmos calcular a derivada desse tipo de função. Quando isso ocorre, chamamos essa derivada de derivada parcial, e você vai entender o motivo em instantes.

Primeiramente, é importante pontuar que a derivada parcial seguem os mesmos princípios da derivada de uma variável. Portanto, vamos seguir as mesmas regras, porém, com duas variáveis. A interpretação também é idêntica aos postulados anteriores, obviamente, levando em consideração as duas variáveis.

O importante aqui é entender que, para duas variáveis, teremos duas derivadas, uma com respeito a e outra a . Para mais variáveis é a mesma ideia. Por isso a ideia de parcial, não temos um único valor, mas parcelas. A notação utilizada é:

  • Derivada parcial de com respeito a :
  • Derivada parcial de com respeito a :

A regra geral para deterinar as derivadas parciais de uma função é muito simples e é definida 2 passos:

  1. Para calcular , olhe para como uma constante e derive a função normalmente com respeito a

  2. Para calcular , olhe para como uma constante e derive a função normalmente com respeito a

  • Exemplo: calcular as derivadas parciais de
    1. Com respeito a :
    2. Com respeito a :

Parte 4 - Maximização/Minimização via derivadas

Essa parte é a mais importante desta aula pois será extremamente utilizada nos algoritmos de minimização de redes neurais. Para iniciar o tema, vamos definir o teorema de Fermat que é fundamental para que a mágica aconteça:

Teorema 3: Se uma função tiver um máximo ou um mínimo local em e existir, então .

Em outras palavras, o teorema diz que ao igualar a derivada de uma função a zero, estamos encontrando os mínimos e máximos dessa função. Porém, o inverso do teorema não se aplica. Por exemplo, lembra da função , ela possui mínimo em , porém, como já discutimos, a derivada não existe neste ponto.

Sendo assim, para encontrar os valores de máximo e mínimo absolutos de uma função contínua em um intervalo , basta seguir os seguintes passos:

  1. Determinar o(s) ponto(s) na(s) qual(is) a em .
  2. Calcular os valores de nos extremos do intervalo
  3. O maior valor calculado nos passos anteriores é o máximo absoluto e o menor o mínimo absoluto.
  • Exemplo: calcular os valores do máximo e mínimos global de no intervalo .
    1. Derivando:
      • Fazendo , encontramos os pontos e .
    2. Calculando os valores extremos: e
    3. O ponto de máximo é e o de mínimo .

Se observarmos o gráfico da função na Figura 4, podemos ver o máximo e o mínimo. Além disso, caso a derivada exista, a reta tangente ao máximo ou ao mínimo é horizontal. Podemos observar isso no ponto .

Figura 4: Gráfico da que mostra o mínimo (azul) e máximo (vermelho) global da função no intervalo desejado Fonte

Derivadas direcionais e vetor gradiente

Nesta seção vamos falar um pouco da derivada direcional, que é utilizada para determinar a taxa de de variação de uma função de duas ou mais variáveis em qualquer direção.

Da definição de variável, dado , sabemos que as derivadas parcias e representam as taxas de variação de na direção positiva dos eixos e , que também pode ser interpretada como na direção e sentido dos versores e .

Para iniciar, vamos supor que desejamos calcular a taxa de variação de no ponto na direção e sentido de um vetor unitário arbitrário . Isso é ilustrado na seguinte figura:

Figura 5: representação do vetor u. Fonte

Agora considere a superfície 3D que é gerada a partir de e . O ponto pertence a . O plano vertical que passa por na direção de intercepta em uma curva . A inclinação da reta tangente a em é a taxa de variação de na direção e sentido de . Para calcular essa taxa, é utilizada a mesma estratégia descrita na parte 2 desta aula, porém baseado em 2 variáveis. Dessa forma, vamos descrever apenas o teorema resultado de todas essa manipulação matemática.

Teorema 4: se é uma função diferenciável em e , então essa função possui uma derivada direcional de direção e sentido de qualquer versor de \vec{u} = \left \langle a, b \right \rangle $$ e:

Baseado neste teorema, podemos escrever a derivada direcional como produto escalar de dois vetores:

O primeiro vetor é tão importante que recebeu um nome especial: gradiente.

Definição 6: seja uma função no , o gradiente de é a função vetorial definida por:

Para funções no , basta adicionar as variáveis no somatório da equação 17.

Por fim, vamos ao último teorema desta aula, mas que é de suma importância:

Teorema 5: seja uma função diferenciável no , o valor máximo da derivada direcional é e ocorre quando tem a mesma direção e sentido que o vetor gradiente .

Em outras palavras, esse teorema nos diz que a função aumenta mais depressa na direção e sentido do gradiente . Isso é um resultado muito importante! Significa que se desejarmos maximizar uma determinada função, o gradiente da mesma aponta para o valor máximo! E obviamente, se eu inverter a direção deste vetor, ele vai apontar para o mínimo! Isso é exaustivamente utilizado em machine learning e vamos utilizar esse resultado diretamente muito breve!

Considerações finais

Essa foi mais uma das aulas teóricas que podem até ser chatas, mas são importantes para formar a base necessária para área. No fundo, machine learning é isso, quanto mais você cava, mais matemática você encontra. Como bem disse Dijkstra (se você não sabe que é, faça o dever de casa), “Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas.” Portanto, a próxima aula será sobre probabilidade e teoria da informação e assim encerramos todos os conceitos necessários para iniciar na área de machine learning.

Deixe um comentário