1. Imprima o resultado da função sigmóide aplicada em 3 pontos aleatórios usando a função random.random do módulo random (import random).

Passo 1

O enunciado pede para imprimir o resultado da função sigmóide aplicada em 3 pontos aleatórios gerados com a função random.random do módulo random (faça import random). Informações relevantes fornecidas:
  • Usar a função sigmóide.
  • Gerar 3 pontos aleatórios usando random.random.
  • Imprimir os resultados (ou seja, aplicar a sigmóide a cada ponto e mostrar o valor).

Passo 2

O que é a função sigmóide e qual a fórmula que vamos usar. A sigmóide (também chamada de função logística) é uma função que transforma um número real em um valor entre 0 e 1. A definição matemática é:
\sigma(x)=\frac{1}{1+e^{-x}}
onde:
  • \sigma(x) é o valor da sigmóide no ponto x;
  • e é a base dos logaritmos naturais (aproximadamente 2,718281828);
  • x é o número real de entrada (no nosso caso, cada número aleatório gerado por random.random).
Por que essa fórmula funciona (intuição curta): para valores grandes de x temos e^{-x} pequeno e \sigma(x) perto de 1; para valores muito negativos de x temos e^{-x} muito grande e \sigma(x) perto de 0. No intervalo intermediário a função é contínua e em forma de S.

Passo 3

Como gerar 3 pontos aleatórios com random.random. A função random.random() retorna um número em ponto flutuante no intervalo [0,1). Se quisermos resultados reproduzíveis (útil para estudo e para mostrar um exemplo fixo), podemos fixar uma semente com random.seed(valor). Vou usar random.seed(42) para que qualquer pessoa rodando o mesmo código obtenha exatamente os mesmos 3 números aleatórios (a instrução original continua sendo “aleatórios”, estamos apenas tornando o exemplo determinístico para fins didáticos).
Com random.seed(42) os três primeiros valores retornados por random.random() são (obtidos executando o gerador padrão do Python):
x_1 = 0{,}6394267984578837
x_2 = 0{,}025010755222666936
x_3 = 0{,}27502931836911926
Obs.: Eu peguei esses números do gerador do Python depois de fixar a semente com 42. Se você não definir semente, os números serão diferentes a cada execução — mas o procedimento é o mesmo.

Passo 4

Como calcular a sigmóide em um número passo a passo. Para cada x_i usaremos a fórmula \sigma(x)=\dfrac{1}{1+e^{-x}}. Passos para cada ponto:
  • calcular e^{-x_i} (a exponencial negativa);
  • somar 1 + e^{-x_i};
  • inverter para obter \dfrac{1}{1+e^{-x_i}}.
Vou fazer isso para cada um dos três x_i, mostrando aproximações decimais razoáveis para que você consiga reproduzir à mão se precisar.

Passo 5

Cálculo para x_1 = 0{,}6394267984578837.
  • Calcular e^{-x_1}. Aproximando: e^{-x_1} \approx 0{,}527603(usei expansão/exponenciação numérica para essa aproximação).
  • Somar: 1 + e^{-x_1} \approx 1{,}527603
  • Inverter: \sigma(x_1) = \frac{1}{1+e^{-x_1}} \approx \frac{1}{1{,}527603} \approx 0{,}654988

Passo 6

Cálculo para x_2 = 0{,}025010755222666936.
  • Calcular e^{-x_2}. Aproximação via série: e^{-x_2} \approx 0{,}97530054
  • Somar: 1 + e^{-x_2} \approx 1{,}97530054
  • Inverter: \sigma(x_2) = \frac{1}{1+e^{-x_2}} \approx \frac{1}{1{,}97530054} \approx 0{,}506252

Passo 7

Cálculo para x_3 = 0{,}27502931836911926.
  • Calcular e^{-x_3}. Aproximação: e^{-x_3} \approx 0{,}759546
  • Somar: 1 + e^{-x_3} \approx 1{,}759546
  • Inverter: \sigma(x_3) = \frac{1}{1+e^{-x_3}} \approx \frac{1}{1{,}759546} \approx 0{,}568350

Passo 8

Código Python completo (copie e cole em um arquivo .py ou em um REPL Python). Esse código fixa a semente para reproduzibilidade, gera os 3 pontos aleatórios, define a função sigmóide e imprime os resultados com 6 casas decimais:
import random
import math

random.seed(42)          # fixa semente para exemplo reproduzível
def sigmoid(x):
    return 1.0 / (1.0 + math.exp(-x))

for _ in range(3):
    x = random.random()
    s = sigmoid(x)
    print(x, s)
Se você quiser apenas os valores da sigmóide formatados com 6 casas:
for _ in range(3):
    x = random.random()
    print("{:.16f} -> {:.6f}".format(x, sigmoid(x)))

Resposta

\displaystyle 0{,}654988\n \displaystyle 0{,}506252\n \displaystyle 0{,}568350

Exercícios relacionados