Articles

função Sigmoid

Qual é a função Sigmoid?

uma função Sigmoid é uma função matemática que tem uma curva característica em forma de S. Existem várias funções sigmoid comuns, tais como a função logística, a tangente hiperbólica, e o arctangente

. Na aprendizagem de máquinas, o termo

função sigmoid é normalmente usado para se referir especificamente à função logística, também chamada de função sigmoid logística.

Todas as funções sigmoid têm a propriedade de mapear toda a linha de números em um pequeno intervalo, como entre 0 e 1, ou -1 e 1, então um uso de uma função sigmoid é converter um valor real em um que pode ser interpretado como uma probabilidade.

uma das funções sigmoid mais utilizadas é a função logística, que mapeia qualquer valor real para a gama (0, 1). Note a característica S-forma que deu sigmoid funções seu nome (a partir da letra grega sigma).as funções Sigmoid tornaram-se populares na aprendizagem profunda porque podem ser usadas como uma função de ativação em uma rede neural artificial. Eles foram inspirados pelo potencial de ativação em redes neurais biológicas.as funções Sigmoid também são úteis para muitas aplicações de aprendizagem de máquinas onde um número real precisa ser convertido para uma probabilidade. Uma função sigmoid colocada como a última camada de um modelo de aprendizagem de máquina pode servir para converter a saída do modelo em uma pontuação de probabilidade, que pode ser mais fácil de trabalhar e interpretar.as funções Sigmoid são uma parte importante de um modelo de regressão logística. Regressão logística é uma modificação da regressão linear para classificação de duas classes, e converte uma ou mais entradas de valor real em uma probabilidade, como a probabilidade de que um cliente irá comprar um produto. O estágio final de um modelo de regressão logística é muitas vezes definido para a função logística, que permite que o modelo produza uma probabilidade.

a fórmula da função Sigmoid

Todas as funções sigmoid são monotónicas e têm uma primeira derivada em forma de sino. Existem várias funções sigmoid e algumas das mais conhecidas são apresentadas abaixo.

três das funções sigmoid mais comuns: a função logística, a tangente hiperbólica e o arctangente. Todos compartilham a mesma forma básica de S.

fórmula logística da função Sigmoid

uma das funções sigmoid mais comuns é a função sigmoid logística. Isto é muitas vezes referido como a função Sigmoid no campo da aprendizagem de máquinas. A função sigmoid logística é definida da seguinte forma::

definição Matemática da função sigmóide logística, uma função sigmóide

A função logística de tomar qualquer valor real de entrada e saídas de um valor entre zero e um.

fórmula da função tangente hiperbólica

outra função sigmóide comum é a função hiperbólica. Isto mapeia qualquer entrada de valor real para o intervalo entre -1 e 1.

definição Matemática da tangente hiperbólica

arco tangente Fórmula de Função

Uma terceira alternativa da função sigmóide é o arco-tangente, que é a inversa da função tangente.

a função arctangente

A função arctangente mapeia qualquer entrada real no intervalo-π/2 a π/2.

nos grafos abaixo podemos ver tanto a curva tangente, uma função trigonométrica bem conhecida, e o arctangente, seu inverso:

Calcular a Função Sigmóide

Exemplo de Cálculo de Logística Função Sigmóide

Tendo a função sigmóide logística, podemos avaliar o valor da função em vários pontos-chave para entender a função do formulário.

Em x = 0, a função sigmoid logística avalia para:

Isto é útil para a interpretação do sigmóide como uma probabilidade em um modelo de regressão logística, pois mostra que um zero de entrada resulta em uma saída de 0,5, indicando igualdade de probabilidades de ambas as classes.

Em x = 1, podemos encontrar um pouco maior valor:

e x = 5, o valor da função sigmóide torna-se muito próximo de 1.

Na verdade, no limite de x tendendo para o infinito, a função sigmoid converge para 1, e para -1 no caso do infinito negativo, mas a derivada da função nunca atinge zero. Estas são propriedades muito úteis da função sigmoid, uma vez que tende para um limite, mas sempre tem um gradiente não zero.

exemplo de cálculo da função tangente hiperbólica

similarmente, podemos calcular o valor da função tanh nestes pontos-chave. Ao invés de estar centrada em torno de 0,5, a função tanh é centrada em 0.

1, a função tanh aumentou relativamente muito mais rapidamente do que a função logística:

E, finalmente, por 5, a função tanh convergiu muito mais próximo a 1, no prazo de 5 casas decimais:

De fato, tanto a tangente hiperbólica e arco-tangente funções converge muito mais rapidamente do que a função sigmóide logística.

cálculo de exemplo da função Arctangente

podemos avaliar a função arctangente nos mesmos pontos para ver onde ela converge:

Note que em contraste com as outras duas funções sigmoid mostradas acima, o arctangente converge para π / 2 em vez de 1. Além disso, o arctangente converge mais lentamente, já que em x = 5 não está nem perto do seu valor final. Somente por números bastante grandes, como x = 5000, é que o arctangente se aproxima muito de π/2.

resumo de três funções sigmoid

podemos comparar as propriedades chave das três funções sigmoid mostradas acima numa tabela:

Sigmoid function Logistic function tanh arctan
Value in the limit x →-∞ 0 -1 -π/2
Value at x = 0 0.5 0 0
Value in the limit x →∞ 1 1 π/2
Converges Fast Very fast Very slow

Sigmoid Function vs. ReLU

em redes neurais artificiais modernas, é comum ver no lugar da função sigmoid, o retificador, também conhecido como a unidade linear retificada, ou ReLU, sendo usado como a função de ativação. A ReLU é definido como:

Definição do retificador função de ativação

Gráfico da ReLU função

A ReLU função tem várias vantagens principais sobre uma função sigmóide em uma rede neural. A principal vantagem é que a função ReLU é muito rápida para calcular. Além disso, um potencial de ativação em uma rede neural biológica não continua a mudar para entradas negativas, então o ReLU parece mais próximo da realidade biológica se um objetivo é imitar sistemas biológicos.

in addition, for positive x

the ReLU function has a constant gradient of 1, whereas a sigmoid function has a gradient that rapidly converges towards 0. Esta propriedade faz com que as redes neurais com funções de ativação sigmóide demorem a treinar. Este fenômeno é conhecido como o problema do gradiente de desaparecimento. A escolha de ReLU como uma função de ativação alivia este problema porque o gradiente da ReLU é sempre 1 Para positivo

x e assim o processo de aprendizagem não será retardado pelo gradiente tornando-se pequeno.

no entanto, o gradiente zero para o negativo x pode representar um problema semelhante, conhecido como o problema do gradiente zero, mas é possível compensar isso adicionando um pequeno termo linear em x para dar à função ReLU um declive não zero em todos os pontos.

Aplicações da Função Sigmóide

Logística função sigmóide na regressão logística

Uma área de aprendizagem de máquina, onde a função sigmóide é essencial é um modelo de regressão logística. Um modelo de regressão logística é usado para estimar a probabilidade de um evento binário, como morto vs vivo, doente vs bem, fraudulenta vs transação honesta, etc. Produz um valor de probabilidade entre 0 e 1.

na regressão logística, UMA função sigmoid logística é adequada a um conjunto de dados onde a(s) variável (s) independente (s) pode tomar qualquer valor real, e a variável dependente é 0 ou 1.por exemplo, vamos imaginar um conjunto de dados de medições e diagnósticos de tumores. O nosso objectivo é prever a probabilidade de um tumor se espalhar, dado o seu tamanho em centímetros.

Algumas medições de dimensões do tumor e resultados

Plotar o conjunto de dados inteiro, temos uma tendência geral de que, quanto maior o tumor, maior é a probabilidade de se espalhar, embora haja uma clara sobreposição de ambas as classes no intervalo de 2,5 cm 3,5 cm:

Um terreno de tumor resultados versus tumor dimensões

Usando a regressão logística, podemos modelar o tumor estado y (0 ou 1) como uma função do tamanho do tumor x, utilizando a logística sigmóide fórmula:

onde é necessário encontrar os valores ideais m E b, que nos permitem deslocar e esticar a curva sigmoid para corresponder aos dados.

neste caso, o ajuste sigmóide da curva nos dá os seguintes valores:

podemos colocar esses valores de volta para o sigmóide fórmula e traçar a curva de:

Isto significa que, por exemplo, dado um tumor do tamanho de 3cm, nosso modelo de regressão logística seria de prever a probabilidade de este tumor se espalhando como:

intuitivamente, isto faz sentido. Nos dados originais, podemos ver que os tumores em torno de 3cm são mais ou menos uniformemente distribuídos entre ambas as classes.consideremos um tumor de tamanho 6 cm. Todos os tumores no conjunto de dados original do tamanho de 4 cm ou superior tinha se espalhado, então seria de esperar que o nosso modelo retornaria uma alta probabilidade de o tumor se espalhar:

A modelo retornou uma probabilidade muito próximo de 1, indicando a quase certeza de que y = 1.

isto mostra como as funções sigmoid, e a função logística em particular, são extremamente poderosas para modelagem de probabilidade.

por que é a função logística usada na regressão logística, e não outra função sigmoid?

a razão pela qual a função logística é usada na regressão logística, e nenhuma das outras variantes sigmoid, não é apenas devido ao fato de que convenientemente retorna valores entre 0 e 1. A regressão logística é derivada do pressuposto de que os dados em ambas as classes são normalmente distribuídos.imaginemos que os tumores não espalhados e os tumores espalhados seguem uma distribuição normal. Os tumores não espalhados são normalmente distribuídos com média de 1,84 cm e desvio padrão de 1 cm, e os tumores de espalhamento são normalmente distribuídos com média de 4,3 cm, também com desvio padrão de 1 cm. Podemos traçar a função densidade de probabilidade de ambas as distribuições normais.:

A cada ponto, podemos calcular a razão de chances de as duas distribuições, que é a função de densidade de probabilidade da propagação de tumores dividido pela soma de funções de densidade de probabilidade (não-propagação + spread tumores):

traçar o odds ratio como uma função de x, podemos ver que o resultado é o original logística sigmóide da curva.

a razão pela qual a função logística é escolhida para regressão logística é devido a uma suposição que estamos modelando duas classes que são normalmente distribuídas, e a função logística surge naturalmente da razão das funções de densidade de probabilidade normais.função sigmóide como função de ativação em redes neurais artificiais:

uma rede neural feedforward com duas camadas ocultas

cada camada normalmente contém alguns pesos e vieses e funções como uma pequena regressão linear. Uma parte crucial das camadas é também a função de ativação.

fórmula para a primeira camada oculta de uma rede neural feedforward, com pesos denotados por W e desvios por b, e função de ativação G.no entanto, se cada camada da rede neural contivesse apenas pesos e vieses, mas nenhuma função de ativação, toda a rede seria equivalente a uma única combinação linear de pesos e vieses. Em outras palavras, a fórmula para a rede neural poderia ser factorizada e simplificada até um simples modelo de regressão linear. Tal modelo seria capaz de pegar dependências lineares muito simples, mas incapaz de executar as tarefas impressionantes pelas quais as redes neurais são renomadas, como reconhecimento de imagem e voz.funções de ativação foram introduzidas entre camadas em redes neurais, a fim de introduzir uma não linearidade. Originalmente funções sigmoid, como a função logística, arctangente e tangente hiperbólica foram usadas, e hoje ReLU e suas variantes são muito populares. Todas as funções de ativação servem ao mesmo propósito: introduzir uma não linearidade na rede. As funções Sigmoid foram escolhidas como algumas das primeiras funções de ativação graças à sua percepção de semelhança com o potencial de ativação em redes neurais biológicas.graças ao uso de uma função sigmoid em vários pontos dentro de uma rede neural multi-camada, redes neurais podem ser construídas para que camadas sucessivas captem características cada vez mais sofisticadas de um exemplo de entrada.

Função Sigmóide História

Em 1798, o clérigo inglês e economista Thomas Robert Malthus publicou um livro sob um pseudônimo, chamado Um Ensaio sobre o Princípio da População, afirmando que a população foi aumentando em progressão geométrica (a duplicar a cada 25 anos), enquanto que o abastecimento de alimentos foram aumentando aritmeticamente, e que a diferença entre os dois foi devido a causa a fome generalizada.

No final da década de 1830, o matemático Belga Pierre François Verhulst estava experimentando com diferentes formas de modelagem do crescimento da população, e queriam conta o fato de que uma população em crescimento é, em última análise, auto-limitante, e não aumentar exponencialmente para sempre. Verhulst escolheu a função logística como um ajuste lógico ao modelo exponencial simples, a fim de modelar a desaceleração do crescimento de uma população que ocorre quando uma população começa a esgotar seus recursos.no século seguinte, biólogos e outros cientistas começaram a usar a função sigmoid como uma ferramenta padrão para modelar o crescimento da população, desde colônias bacterianas até civilizações humanas.em 1943, Warren McCulloch e Walter Pitts desenvolveram um modelo de rede neural artificial usando um corte rígido como uma função de ativação, onde um neurônio produz 1 ou 0 dependendo se sua entrada está acima ou abaixo de um limiar.

Em 1972, os biólogos Hugh Wilson e Jack Cowan, da Universidade de Chicago estavam tentando modelo biológico neurônios computacionalmente e publicado Wilson–Cowan modelo, onde um neurônio envia um sinal para outro neurônio se receber um sinal maior do que o de um potencial de ativação. Wilson e Cowan escolheram a função logística sigmóide para modelar a ativação de um neurônio como uma função de um estímulo.a partir das décadas de 1970 e 1980, vários pesquisadores começaram a usar funções sigmóides em formulações de redes neurais artificiais, inspirando-se em redes neurais biológicas. Em 1998, Yann LeCun escolheu a tangente hiperbólica como função de ativação em sua inovadora convolucionais rede neural LeNet, que foi o primeiro a ser capaz de reconhecer manuscritas dígitos para um nível prático de precisão.

Nos últimos anos, redes neurais artificiais tem se afastado de funções sigmóides em favor do ReLU função, uma vez que todas as variantes da função sigmóide são computacionalmente intensivos, de modo a calcular, e a ReLU fornece o necessário, a não linearidade para aproveitar a profundidade da rede, além de ser muito rápido a calcular.