Softmax Scipy

Softmax Scipy

O Python é a linguagem de programação mais versátil e bem reconhecida de todas as outras linguagens de programação existentes. O Python é mais apreciado pelos programadores amadores porque o Python tem um script relativamente simples que é mais parecido com o idioma inglês. Além disso, esse idioma é considerado portátil e uma linguagem de computador de plataforma cruzada, pois o Python não requer nenhuma dependência de sistemas operacionais específicos para que seu intérprete funcione corretamente.

Scipy é um pacote que inclui uma extensa lista de linguagens de programação Python. Este pacote é usado para construir e treinar redes neurais artificiais e modelos de aprendizado profundo. Também permite os cálculos matemáticos para programas. O Scipy “Softmax” representa uma função usada para o ND-Array nos programas para aplicar a transformação Softmax nas linhas do ND-Array e calcular a soma ao longo das fileiras da matriz.

Para entender o softmax, podemos assumir que a função Softmax pode transformar as linhas ou todos os elementos do ND-Array e pode calcular o exponencial do elemento individual, levando sua divisão com a soma da exponencial de todos os elementos nas fileiras /colunas. É uma função matemática e é responsável por converter um vetor que está em número em um vetor que está em probabilidades. Essa probabilidade de cada elemento é proporcional à escala/alcance de cada valor do elemento nesse vetor e é dada pela equação da seguinte forma:

$ softmax (x) = np. exp (x)/ soma (np. exp (x))

Softmax é uma função de ativação e generaliza ou se aproxima do conjunto de valores em algum limite. Se o valor for menor que o limite, terá importância diferente do valor igual ou maior que o limite que se enquadra na categoria diferente. Nas redes neurais artificiais, a função de ativação decide qual neurônio é disparado ou é ativado para cair na saída.

Procedimento:

No artigo, implementaremos a função de ativação do Softmax do Scipy. Vamos explorar como essa função funciona e que benefício ela pode dar no programa. Também aprenderemos sobre a sintaxe desta função e executaremos dois exemplos para obter boas práticas na função.

Sintaxe:

$ scipy. é especial.softmax (x, eixo = nenhum)

Os parâmetros do softmax são o "x" e o "eixo", onde "x" define a matriz ou o conjunto de dados no qual aplicamos a ativação do softmax e o "eixo" é o eixo ao longo do qual calculamos essa função softmax. Seu valor padrão é igual a nenhum.

Valor de retorno:

Como as funções convertem o valor de cada elemento na matriz em sua probabilidade, o valor de retorno dessa função é um único valor e é "1", pois ele toma a soma máxima e de aproximação de todos os valores exponenciais nas linhas.

Exemplo:

Vamos usar a função Softmax em uma matriz e examinar a saída se for exatamente da maneira que reivindicamos na descrição da função. Navegue para o "Google Collab". Esta é uma plataforma Python online e fornece pacotes pré-instalados com alocação de GPU para economizar seu tempo e armazenamento do sistema. Para trabalhar com o Google Collab, criamos um novo notebook e salvamos no Google Drive. Para começar com o exemplo, vamos importar alguns pacotes necessários do pacote de python pré-instalado para carregar os módulos relevantes que permitem o funcionamento da função "softmax ()".

Duas das bibliotecas mais importantes estão incluídas no programa, o "Numpy" e "Scipy. Bibliotecas especiais. Nós importamos Numpy como o "NP". O círculo.Especial é importado como o "softmax". Este softmax agora está adicionado ao nosso programa. Agora podemos usá -lo e fazer nosso programa funcionar sem esforço. Agora, criamos um nd-Array para que possamos aplicar a função de ativação do softmax. Mas antes disso, fazemos outra etapa e isso é predefinir os valores de flutuação em nossa matriz que são exibidos para que precisão ou até que número dos lugares após o decimal. Isso é feito escrevendo o comando como “np.set_printoptions (Precision = 4) ”no programa. A função Set_printoptions faz essa precisão. Aqui, a precisão igual a "4" significa que os valores imprimem para quatro lugares decimais.

Com esta etapa sendo feita, agora declaramos uma variável chamada "Array". Atribuímos uma matriz tridimensional a esta variável. Para criar a matriz tridimensional, chamamos o “NP. Método da matriz ([]) "como" NP. Array ([[1, 0.5, 0.2, 3], [1, -1, 7, 3], [2, 12, 13, 3]]) ”. Esta é a matriz tridimensional, já que esta matriz tem três colunas e três linhas. Essa matriz no exemplo representa o conjunto de dados, pois o conjunto de dados também é uma matriz multidimensional. Aplicamos a função Softmax nesta matriz como "softmax (matriz)" e salvamos os resultados dessa função em outra variável "resultado". Ou imprimimos diretamente os resultados com a ajuda da função "print ()". O código deste programa é exibido no seguinte snippet anexado:

de Scipy.Importação especial Softmax
importar numpy como np
NP.set_printoptions (precisão = 4)
Array = np.Array ([[1, 2, 8, 3],
[1, -1, 2, 3],
[2, 11, 14, 3]])
resultado = softmax (matriz)
Imprimir (resultado)
resultado.soma()

Observe a partir da saída que a função converteu o valor na linha que estava em número nos valores exponenciais exatamente como discutimos anteriormente na introdução deste tópico. Agora, para verificar outro ponto que essa função leva a soma desses valores e retorna o valor igual a "1", passamos os resultados da função Softmax para a função da soma como "resultado.sum () ”e exiba os resultados. O código para esta explicação é fornecido na seguinte saída:

A saída retorna o valor "1" após calcular a soma, o que significa que o segundo ponto também é verificado.

Conclusão

O artigo coloca a função "softmax" do círculo no centro das atenções. O artigo fornece uma visão mais profunda do conceito da função de ativação softmax e por que exigimos em nossos modelos. Em seguida, demonstra o método para aplicar a função SoftMax no nd-Array para verificar os resultados discutidos na explicação do tópico.