Aula 13 – Tensor Flow – Redes Neurais – Regressão Linear Simples

Aula 13 – Tensor Flow – Redes Neurais – Regressão Linear Simples

Voltar para página principal do blog

Todas as aulas desse curso

Aula 12                      Aula 14

Meu github:

https://github.com/toticavalcanti

Documentação oficial do TensorFlow:

https://www.tensorflow.org/

Link para o notebook da aula:

notebook-da-aula

Python com Tensorflow

Python com Tensorflow

Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook

https://digitalinnovation.one/

Link do código fluente no Pinterest

Aproveito para deixar meus link de afiliados:

Hostinger

Digital Ocean

One.com

Toti:

https://www.youtube.com/channel/UCUEtjLuDpcOvR3mIUr-viOA

Backing track / Play-along:

https://www.youtube.com/channel/UCT3TryVMqTqYBjf5g5WAHfA

Código Fluente

https://www.youtube.com/channel/UCgn-O-88XBAwdG9gUWkkb0w

Putz!

https://www.youtube.com/channel/UCZXop2-CECwyFYmHbhnAkAw

Fiquem a vontade para me adicionar ao linkedin.

Aula 13 – Tensor Flow – Redes Neurais – Regressão Linear Simples

No código a seguir, o x vai ficar guardando o lugar de uma matriz de floats, no formato de None linhas, porque não se sabe exatamente quantos registros teremos e 10 features, ou seja, 10 colunas.

o W são os pesos, criados aleatoriamente em uma distribuição normal, em uma matriz 10 por 3.

O b uma matriz de 1 linha e 3 colunas.

Em seguida o xW vai guardar o resultado da multiplicação da matriz x pela W.

E z da adição de xW e b.

Ao a atribuímos a função sigmoid do tensorflow.

Depois inicializamos tudo isso.

Em seguida criamos a sessão para executar e receber o resultado em layer_out.

Resultado: [[0.9794851 0.6196158 0.38397646]]

Números entre 0 e 1, porque usamos a função de ativação Sigmoid.

 

Função sigmoide

Função sigmoide

Código


import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
import numpy as np
n_features = 10
n_dense_neurons = 3
# O segundo parâmetro de placeholder é o formato, Onde tem o None, 
# são os registros, ou seja, as linhas e n_features são as colunas.
x = tf.placeholder(tf.float32, (None, n_features))
W = tf.Variable(tf.random_normal([n_features, n_dense_neurons]))
b = tf.Variable(tf.ones([n_dense_neurons]))
xW = tf.matmul(x, W)
z = tf.add(xW, b)
#função de ativação
a = tf.sigmoid(z)
init = tf.global_variables_initializer()
with tf.Session() as sess:
  sess.run(init)
  layer_out = sess.run(a, feed_dict={x: np.random.random([1, n_features])})
#Resultado, números entre 0 e 1, porque estamos usando a função de ativação Sigmoid
print(layer_out)

A execução aconteceu uma vez

Mas, a execução de uma rede neural tem que voltar e fazer o backpropagation ajustando os pesos e os vieses baseado em uma função de custo.

Os valores de W e b devem sempre ser ajustado.

Para esse exemplo, vamos gerar dados distribuídos de forma linear, para nossa rede treinar e achar a equação que melhor explica a distribuição dos dados, ou seja, que melhor acompanha os dados.

No final, vamos plotar uma reta vermelhar que acompanha os pontos preditos pela equação que a rede entregou como saída.


x_data = np.linspace(0, 10, 10) + np.random.uniform(-1.5, 1.5, 10)
y_label = np.linspace(0, 10, 10) + np.random.uniform(-1.5, 1.5, 10)
import matplotlib .pyplot as plt
%matplotlib inline
plt.plot(x_data, y_label, '*')

m = tf.Variable(0.35)
b = tf.Variable(0.19)

error = 0
for x, y in zip(x_data, y_label):
  y_hat = m * x + b
  error += (y - y_hat) ** 2

optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.001)
train = optimizer.minimize(error)

init = tf.global_variables_initializer()

with tf.Session() as sess:
  sess.run(init)
  training_steps = 1
  for i in range(training_steps):
    sess.run(train)
  final_slope, final_intercept = sess.run([m, b])

x_test = np.linspace(-1, 11, 10)
# y = mx + b
y_pred_plot = final_slope * x_test + final_intercept

plt.plot(x_test, y_pred_plot, 'red')
plt.plot(x_data, y_label, '*')

Por essa aula é só, nos vemos na próxima, \o/ e até lá.

Link para o notebook da aula:

notebook-da-aula

Voltar para página principal do blog

Todas as aulas desse curso

Aula 12                      Aula 14

Meu github:

https://github.com/toticavalcanti

Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook

Link do código fluente no Pinterest

Novamente deixo meus link de afiliados:

Hostinger

Digital Ocean

One.com

Obrigado, até a próxima e bons estudos. 😉

 

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>