Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de...

106
1 azevedolab.net

Transcript of Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de...

Page 1: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

1 azevedolab.net

Page 2: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

2

Vimos anteriormente a análise dos conjuntos treino e teste.

Índice do Dado do

Conjunto Treino

Diâmetro da Pizza (cm) Número de Coberturas Preço (R$)

1 15,0 2 24,50

2 20,0 1 31,50

3 25,0 0 45,50

4 35,0 2 61,25

5 45,0 0 63,00

SciKit-Learn (Regressão Linear Múltipla)

www.python.org

Índice do Dado do

Conjunto Teste

Diâmetro da Pizza (cm) Número de

Coberturas

Preço (R$)

1 20,0 2 38,50

2 22,5 0 29,75

3 27,5 2 52,50

4 40,0 2 63,00

5 30,0 0 38,50

Page 3: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Aplicamos os métodos de regressão linear múltipla que podiam ser acessados a partir

de métodos de biblioteca scikit-learn. Vamos ver a função usada no pizza4.py.

3

Regressão Linear Múltipla

Page 4: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

4

O resultado é repetido abaixo para futura referência. Com destaque para os valores de R2 e o preço previsto

para uma pizza de 40 cm.

Veja que houve uma melhora no modelo, o R2 foi de 0,66 para 0,77.

SciKit-Learn (Regressão Linear Simples) (pizza3.py)

www.python.org

Type CSV file name => pizza3.csv

Type CSV file name => pizza4.csv

Best fit linear regression model: 2

1.415 x + 1.385 x + 4.156

R-squared: 0.7702

Predicted price for 40 cm pizza: 63.51

Índice do Dado

do Conjunto

Teste

Diâmetro da Pizza

(cm)

Número de

Coberturas

Preço (R$)

1 20,0 2 38,50

2 22,5 0 29,75

3 27,5 2 52,50

4 40,0 2 63,00

5 30,0 0 38,50

Page 5: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

De uma forma geral, podemos mudar o método de regressão variando a chamada do

método, após linear_model., como destacado abaixo.

5

Regressão Linear Múltipla

Page 6: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Temos que tomar um cuidado adicional com o acesso aos pesos obtidos pelo método

de regressão (model.coef_) e com o formato do array y_in, que podem variar.

6

Regressão Linear Múltipla

Page 7: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Modificamos o código da função multiple_linear_regression() alternado as linhas

indicadas abaixo. O nome programa chama-se pizza5.py. Usaremos o método Lasso.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

7

Regressão Linear Múltipla

Page 8: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Vejam que o acesso aos pesos se faz de forma distinta daquele do método de

regressão linear múltipla do programa pizza4.py.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

8

Regressão Linear Múltipla

Page 9: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Relembrando-se que o método Lasso adiciona a somatória dos coeficientes (ωj), como

mostrado na equação do RSS abaixo, ou seja, além de minimizar a diferença entre o

experimental e o previsto (yi – ycalc,i) o método Lasso tende a reduzir o número de

coeficientes (ωj).

O N da primeira somatória refere-se ao número de pontos no conjunto treino. O P na

segunda somatória é o número de variáveis explanatórias.

Tal redução do peso de alguns coeficientes tem como objetivo gerar um modelo de

regressão com um número menor de variáveis explanatórias, com a esperança de

eliminarmos variáveis que tenham pouca importância para o modelo final (equação de

regressão). Convém destacar, que tal abordagem pode gerar modelos com

coeficientes de correlação (R2) menores, mas podem ser vantajosos do ponto de vista

de extrair dos dados somente variáveis explanatórias representativas. O coeficiente λ1

pode ser otimizado para gerar o menor RSS possível, nesta situação temos o método

LassoCV.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

9

Regressão Linear Múltipla

N

i

P

j

jicalci yyRSS1 1

1

2

,

Page 10: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Ao rodarmos o programa pizza5.py para os dados dos arquivos pizza3.csv e

pizza4.csv temos uma redução do número de variáveis explanatórias. Vemos uma

piora com relação ao R2 de 0,77 obtido com o método LinearRegression.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

10

Regressão Linear Múltipla

N

i

P

j

jicalci yyRSS1 1

1

2

,

Page 11: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Vejamos a função multiple_linear_regression() alternado as linhas indicadas abaixo,

agora mudando para o método Ridge. O nome programa chama-se pizza6.py.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

11

Regressão Linear Múltipla

Page 12: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

O método Ridge adiciona a somatória dos coeficientes (ωj2) à equação do RSS, como

mostrado abaixo, ou seja, além de minimizar a diferença entre o experimental e o

previsto (yi – ycalc,i) o método Ridge tende a reduzir o número de coeficientes (ωj),

como destacado para o método Lasso.

O N da primeira somatória refere-se ao número de pontos no conjunto treino. O P na

segunda somatória é o número de variáveis explanatórias.

O coeficiente λ2 pode ser otimizado para gerar o menor RSS possível, nesta situação

temos o método RidgeCV.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

12

Regressão Linear Múltipla

P

j

j

N

i

icalci yyRSS1

22

1

2

,

Page 13: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Na aplicação do método Ridge ao conjunto de dados das pizzas (pizza3.csv e

pizza4.csv) não há redução do número de variáveis explanatórias, como observado na

aplicação do método Lasso ao mesmo conjunto de dados. Por outro lado, há uma

melhora no valor de R2, quando comparado com o método Lasso.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

13

Regressão Linear Múltipla

Page 14: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Vejamos a função multiple_linear_regression() alternado as linhas indicadas abaixo,

agora mudando para o método ElasticNet. O nome programa chama-se pizza7.py.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

14

Regressão Linear Múltipla

Page 15: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Relembrando-se que o método ElasticNet adiciona a somatória dos coeficientes (ωj), e

dos coeficientes ao quadrado (ωj2), como mostrado na equação do RSS.

O N da primeira somatória refere-se ao número de pontos no conjunto treino. O P na

segunda e terceira somatórias referem-se ao número de variáveis explanatórias.

Os coeficientes λ1 e λ2 podem ser otimizados para gerar o menor RSS possível, nesta

situação temos o método ElasticNetCV.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

15

Regressão Linear Múltipla

P

j

j

N

i

P

j

jicalci yyRSS1

22

1 1

1

2

,

Page 16: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Relembrando-se que o método ElasticNet adiciona a somatória dos coeficientes e dos

coeficientes ao quadrado, como mostrado na equação do RSS.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

16

Regressão Linear Múltipla

Page 17: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Outro método disponível na biblioteca scikit-learn é o gradiente descendente

estocástico (Stochastic Gradient Descent) (SGD). Este método usa o gradiente

conjugado como método de otimização. De forma resumida, o pesos (ωj) são

otimizados num processo iterativo, que leva em conta a soma do gradiente da função

RSS original, como indicado abaixo.

O termo α é chamado taxa de aprendizado. O valor default da biblioteca scikit-learn é

alpha = 0.0001.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

17

Regressão Linear Múltipla

N

i

jiicalcijj xyy1

,, )(

Page 18: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Na multiple_linear_regression() alternamos as linhas indicadas abaixo, agora

mudando para o método SGDRegressor(). O nome programa chama-se pizza8.py.

18

Regressão Linear Múltipla

def multiple_linear_regression(x_in,y_in,x_test,y_test):

"""Function to generate a linear regression model for two explanatory variable

and their response variable. This function uses

sklearn.linear_model.SGDRegressor()"""

# Import library

from sklearn import linear_model

import numpy as np

y = []

for line in y_in:

y.append(line[0])

# Create and fit the model

model = linear_model.SGDRegressor(n_iter=1e7, power_t = 0.1, warm_start = True)

model.fit(x_in, y)

# Get Linear Model

alpha1 = model.coef_[0]

alpha2 = model.coef_[1]

const = float(model.intercept_)

z = np.array([alpha1,alpha2,const])

p = np.poly1d(z)

r_square = model.score(x_test, y_test)

print("\nBest fit linear regression model: ",p)

print('R-squared: %.4f' % r_square)

Page 19: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Veja que definimos como argumentos do método SGDRegressor() o número de

iterações(n_iter), um fator de escala adicional (power_t) e o warm_start que define que

soluções da chamada anterior do método são usadas como valores iniciais.

19

Regressão Linear Múltipla

def multiple_linear_regression(x_in,y_in,x_test,y_test):

"""Function to generate a linear regression model for two explanatory variable

and their response variable. This function uses

sklearn.linear_model.SGDRegressor()"""

# Import library

from sklearn import linear_model

import numpy as np

y = []

for line in y_in:

y.append(line[0])

# Create and fit the model

model = linear_model.SGDRegressor(n_iter=1e7, power_t = 0.1, warm_start = True)

model.fit(x_in, y)

# Get Linear Model

alpha1 = model.coef_[0]

alpha2 = model.coef_[1]

const = float(model.intercept_)

z = np.array([alpha1,alpha2,const])

p = np.poly1d(z)

r_square = model.score(x_test, y_test)

print("\nBest fit linear regression model: ",p)

print('R-squared: %.4f' % r_square)

Page 20: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Com o SGDRegressor() temos os resultados mostrados abaixo. Como dependemos

dos valores iniciais, os resultados podem ser distintos. Mas abaixo obtivemos o melhor

resultado de todos tentados para o conjunto de dados pizza.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

20

Regressão Linear Múltipla

Page 21: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Quando o neurônio passa para o estado

de potencial de ação, temos um aumento

do potencial de membrana, além do

potencial limiar. Tal aumento leva o

neurônio a uma situação onde há influxo

de Sódio, entram em ação dois outros

canais transmembranares, os canais de

Sódio e Potássio, ambos dependentes do

potencial elétrico da membrana. Aqui cabe

uma pequena observação. Na linguagem

física não usamos o termo “voltagem” para

indicar potencial elétrico, contudo, a

grande maioria dos textos de fisiologia em

português, quando referem-se aos canais

citados, usam a denominação

“dependentes de voltagem”. No presente

texto usaremos os termos “canais

dependentes de voltagem”, para

mantermos os termos usados na área de

fisiologia.

Fases indicadas no gráfico acima

1 Potencial de repouso

2 Despolarização

3 Repolarização Potencial de ação

4 Hiperpolarização

Pote

ncia

l de m

em

bra

na (

mV

) Tempo(ms)

1

2 3

4

Corrente elétrica

de estímulo

21

Fases do Potencial de Ação

Page 22: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

As etapas canônicas do potencial de ação

ocorrem devido à ação coordenada dos

canais de Sódio e Potássio dependentes

de voltagem. A abertura do canal de Sódio

dependente de voltagem (despolarização),

o fechamento do canal de Sódio e abertura

do canal de Potássio (repolarização e

hiperpolarização), conforme vemos no

gráfico ao lado. A linha roxa indica o

estímulo que é dado para o início do

potencial de ação, veja que o estímulo não

está em escala com o potencial indicado

pela linha vermelha. O eixo horizontal é o

eixo do tempo (em ms), e o eixo vertical o

eixo do potencial de membrana (em mV).

A linha vermelha indica a variação do

potencial de membrana, durante as

diferentes etapas do potencial de ação. O

neurônio é considerado inicialmente em

potencial de repouso.

Fases indicadas no gráfico acima

1 Potencial de repouso

2 Despolarização

3 Repolarização Potencial de ação

4 Hiperpolarização

Pote

ncia

l de m

em

bra

na (

mV

) Tempo(ms)

1

2 3

4

Corrente elétrica

de estímulo

22

Fases do Potencial de Ação

Page 23: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Membrana

plasmática

No repouso

(Er = -75mV)

Portão m fechado

Portão h aberto

Após a despolarização

(Er= 50 mV)

Portão m aberto

Portão h aberto

5 ms depois da

despolarização

(Er= -50 mV)

Portão m aberto

Portão h fechado

A)

B)

C)

O canal de Sódio é um tipo especializado

de canal iônico dependente de voltagem

(potencial elétrico). Sua abertura está

condicionada ao aumento do potencial de

membrana. Quando temos um potencial

de membrana, acima de um valor limite de

potencial (potencial limiar), o canal abre-

se, permitindo o influxo de íons de Sódio

na célula. O canal permanece aberto por

aproximadamente 1 milisegundo (1 ms).

Tempo suficiente para elevar o potencial

de membrana para dezenas mV positivos.

O canal de Sódio possui dois portões

distintos, portões m (de ativação) e h (de

inativação). O portão h fecha-se após a

despolarização e permanece fechado, não

permitindo o início de um novo potencial

de ação (período refratário).

Imagem disponível em:<

http://www.blackwellpublishing.com/matthews/figures.html >

Acesso em: 26 de agosto de 2015. 23

Canais Iônicos

Page 24: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Os canais de Potássio abrem-se

imediatamente após a

despolarização, o que permite a

saída de carga positiva da célula, na

forma de íons de Potássio. O canal

de Potássio fica aberto durante a fase

de repolarização, onde o potencial de

membrana será trazido a valores

negativos, chegando a ficar mais

negativo que o potencial de repouso,

durante a fase seguinte, chamada de

fase de hiperpolarização.

Membrana

plasmática

No repouso

(Er= -75mV)

Canal de

Potássio fechado

Após a despolarização

(Er = 50 mV)

Canal de

Potássio fechado

5 ms depois da

despolarização

(Er= -50 mV)

Canal de Potássio aberto

A)

B)

C)

24

Imagem disponível em:<

http://www.blackwellpublishing.com/matthews/figures.html >

Acesso em: 26 de agosto de 2015.

Canais Iônicos

Page 25: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Descrição passo a passo do potencial de ação

A) Os canais de Sódio e Potássio estão

fechados (potencial de repouso).

B) O aumento do potencial na membrana leva

o canal de Sódio, que é dependente de

voltagem (potencial elétrico), a abrir-se. O que

permite o rápido influxo de Sódio na célula,

aumentando de forma significativa o potencial

de membrana. Esta fase é chamada

despolarização (ou fase ascendente).

C) Aproximadamente 1 ms depois, os canais

de Sódio fecham-se e os canais de Potássio,

dependentes de voltagem (potencial elétrico),

abrem-se. Permitindo a saída do excesso de

carga positiva da célula. Esta fase é a de

repolarização (ou fase descendente).

D) A saída de grande quantidade de íons de

K+, leva a célula a atingir um potencial de

membrana abaixo do potencial de repouso,

esta fase é chamada de hiperpolarização.

Membrana

plasmática

Canal Na+ Canal K+

25

Imagem disponível em:<

http://www.blackwellpublishing.com/matthews/figures.html >

Acesso em: 26 de agosto de 2015.

Canais Iônicos

Page 26: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

A presença do portão de inativação

(portão h) no canal de Sódio dependente

de voltagem garante a propagação

unidirecional do potencial de ação. A

entrada de íons de Sódio, decorrente da

abertura do canal de Sódio dependente

de voltagem, leva a uma difusão de íons

de Sódio nos dois sentidos no axônio. Tal

presença de íons de Sódio levaria à

reabertura dos canais de Sódio, caso não

tivessem o portão de inativação (portão

h). Tal portal permanece fechado por

alguns milisegundos, caracterizando o

período refratário do neurônio. Durante

este período a elevação do potencial de

membrana, além do potencial limiar, não

causa disparo de novo potencial de ação.

Dendritos

Corpo celular

Núcleo

Axônio

Terminais axonais

Direção do

impulso

Cone de implantação

Potencial de ação

26

Canais Iônicos

Page 27: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Um potencial de ação é uma súbita

variação no potencial de membrana, que

dura poucos milisegundos (ms). Lembre-

se, 1 ms = 10-3 s, ou seja, a milésima

parte do segundo. Tal perturbação é

conduzida ao longo do axônio. Num

neurônio de vertebrado, o potencial de

ação apresenta uma ação saltatória e

unidirecional, ou seja, sai do corpo do

neurônio e desloca-se ao longo do axônio

até o terminal axonal. A amplitude do

potencial de ação é a mesma, não

havendo queda de potencial ao longo do

axônio, como indicado por medidas de

potencial elétricos em pontos distintos do

axônio durante o potencial de ação

(mostrado no slide seguinte).

Dendritos

Corpo celular

Núcleo

Axônio

Terminais axonais

Direção do

impulso

Cone de implantação

Potencial de ação

27

Propagação do Potencial de Ação

Page 28: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

O modelo de Hodgkin-Huxley foi proposto em 1952 para modelar o potencial de ação

do axônio de sépia. Os dados sobre a corrente iônica foram obtidos a partir do uso da

técnica de “voltage clamp”. Nesta técnica, o potencial elétrico da célula é mantido

constante, independente das concentrações iônicas. Na situação abaixo as correntes

iônicas são medidas. O diagrama esquemático abaixo ilustra a técnica. Um sistema de

retroalimentação permite que o potencial seja mantido num valor de referência, onde

toda vez que o potencial de membrana desvia-se um pouco do valor ajustado, uma

tensão adicional, fornecida pela fonte de tensão, leva o potencial de membrana de

volta ao valor ajustado.

Axônio

Amperímetro

Eletrodo

extracelular

Eletrodo

intracelular

Amplificador do potencial

de membrana

Fonte de tensão

Amplificador de

retroalimentação

28

Modelo de Hodgkin-Huxley

Page 29: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

O modelo de Hodgkin-Huxley usa o conceito de condutância (g), para elaborar uma

equação diferencial que mostra o potencial de membrana em função do tempo E(t).

Não é objetivo do presente curso detalhar a dedução de tal modelo, iremos somente

ilustrar a equação, destacando as principais características. Quando analisamos o

neurônio em repouso, vimos que o mesmo tinha um comportamento elétrico similar a

um circuito resistivo-capacitivo (circuito RC) simples, ilustrado abaixo.

R

Circuito RC

+++++

- - - - -

E

I

Q

d

+Q

-Q

Po

ten

cia

l d

e m

em

bra

na

Tempo(ms

)

Potencial de repouso

Potencial limiar

0

29

Modelo de Hodgkin-Huxley

Page 30: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Na figura ao lado, temos o circuito elétrico

equivalente da membrana celular durante

o potencial de ação, chamado de modelo

de Hodgkin-Huxley. No circuito temos 3

tipos de correntes iônicas, a corrente do

Sódio (INa), a corrente do Potássio (IK) e

uma terceira corrente chamada em inglês

de “leak current” (IL), que é composta

principalmente de íons de cloro. A

principal contribuição do modelo Hodgkin-

Huxley, foi a introdução das condutâncias

na análise do comportamento elétrico do

axônio. A condutância (g) é o inverso

da resistência elétrica (R), conforme a

equação abaixo:

A unidade de condutância é o Siemens (1

S = 1/Ohm).

gNa gK gL

ENa EK EL

Cm

IC

INa IK IL

I

IÍon

Circuito elétrico equivalente a membrana celular, segundo

o modelo de Hodgkin-Huxley.

Meio extracelular

Meio intracelular

30

Modelo de Hodgkin-Huxley

Page 31: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Ao incluirmos as condutâncias (g), temos

a possibilidade de modelar o potencial de

ação, considerando o circuito equivalente

ao lado. Temos as condutâncias para

Sódio (gNa), Potássio (gK) e uma terceira

para o termo “leak” (gL), ou seja,

vazamento de íons. A corrente total (I) é a

soma da corrente iônica (Iíon) e a corrente

capacitiva (IC), como segue:

I = IC + Iíon .

A corrente iônica total (Iion) é dada pela

soma de todas as correntes devido a cada

canal (INa e IK) e a terceira corrente (IL) é

constante e minoritária. Assim temos,

Iion = INa + IK + IL

gNa gK gL

ENa EK EL

Cm

IC

INa IK IL

I

IÍon

Circuito elétrico equivalente a membrana celular, segundo

o modelo de Hodgkin-Huxley.

Meio extracelular

Meio intracelular

31

Modelo de Hodgkin-Huxley

Page 32: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Vemos no circuito equivalente a presença

de 3 fontes de potencial, nominalmente

Ena , EK e EL, relativas ao Sódio, Potássio

e vazamento (leak). Tais potenciais

podem ser determinados a partir da

equação de Nernst, vista anteriormente.

Assim, temos as seguintes equações para

as correntes que formam a corrente

iônica,

INa = gNa (V - ENa ) ,

Ik = gk (V - Ek )

e

Il = gL (V - EL )

onde V é o potencial da membrana.

Veja no circuito, que as condutâncias do

Sódio (gNa) e do Potássio (gK) são

variáveis e a condutância de vazamento é

constante.

gNa gK gL

ENa EK EL

Cm

IC

INa IK IL

I

IÍon

Circuito elétrico equivalente a membrana celular, segundo

o modelo de Hodgkin-Huxley.

Meio extracelular

Meio intracelular

32

Modelo de Hodgkin-Huxley

Page 33: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Usando o circuito equivalente, vemos que na fase de despolarização temos a

condutância do Na+ alta, o que permitirá entrada de íons de Na+ na célula, elevando a

corrente INa e o potencial de membrana (V). Na fase repolarização, teremos aumento

condutância do K+, o que levará K+ para o meio extracelular e diminuirá potencial de

membrana.

1

2 3

4

Gráfico do potencial contra o tempo (linha vermelha),

gerado pelo HHSim (http://www.cs.cmu.edu/~dst/HHsim/).

gNa gK gL

ENa EK EL

Cm

IC

INa IK IL

I

IÍon

Meio extracelular

Meio intracelular

33

Modelo de Hodgkin-Huxley

Page 34: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

O modelo de Hodgkin-Huxley é um

modelo computacional, sendo

considerado o primeiro modelo da

abordagem de biologia de sistemas. Tal

modelo descreve a resposta do axônio de

sépia a diferentes estímulos elétricos.

Temos a implementação do modelo

computacional de Hodgkin-Huxley

(modelo HH) em diversos programas.

Apresentaremos aqui um que foi

implementado na linguagem MatLab,

chamado HHSim que está disponível no

site http://www.cs.cmu.edu/~dst/HHsim/ .

Esse simulador do potencial de ação

possibilita testarmos diferentes tipos de

estímulos elétricos aplicados ao axônio,

bem como o efeito de moléculas que

interagem com os canais iônicos. Axônio pré-sináptico da sépia, colorido em rosa para

destaque.

Disponível em: http://dels-old.nas.edu/USNC-IBRO-

USCRC/resources_methods_squid.shtml

Acesso em: 28 de novembro de 2016.

Diagrama esquemático de uma seção do axônio de sépia.

34

Modelo de Hodgkin-Huxley

Page 35: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

O diagrama esquemático abaixo ilustra o arranjo experimental, simulado no HHSim.

Temos o cilindro representando uma seção do axônio da sépia, onde foram inseridos

2 eletrodos. Temos o eletrodo 1 responsável pelo estímulo, que será medido em

unidades de corrente elétrica, nA (nanoAmpére, 10-9 A).

Eletrodo 1

Gerador de corrente elétrica (estímulo)

Seção do axônio de sépia. 35

Modelo de Hodgkin-Huxley

Page 36: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Temos um segundo eletrodo (eletrodo 2), inserido após o eletrodo 1. O

posicionamento de eletrodo 2 indica que ele está mais próximo do terminal axonal que

o eletrodo 1. Assim, o estímulo gerado no eletrodo 1 pode propagar-se ao longo do

axônio e ser registrado no eletrodo 2. O eletrodo 2 está ligado a um voltímetro, que

registra o potencial de membrana em mV em função do tempo (eixo horizontal).

Eletrodo 1

Eletrodo 2

Gerador de corrente elétrica (estímulo) Voltímetro (eixo vertical em mV)

Seção do axônio de sépia. 36

Modelo de Hodgkin-Huxley

Page 37: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Na situação ilustrada abaixo, temos que o voltímetro mostra a evolução temporal do

potencial de membrana, num período de 20 ms, suficiente para vermos todas as fases

do potencial de ação (despolarização, repolarização e hiperpolarização).

Eletrodo 1

Eletrodo 2

Gerador de corrente elétrica (estímulo) Voltímetro (eixo vertical em mV)

Seção do axônio de sépia. 37

Modelo de Hodgkin-Huxley

Page 38: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Vamos usar o HHSim para destacar as características do potencial de ação. Na figura

abaixo temos a situação de potencial de repouso. A linha vermelha indica o potencial

da membrana (em repouso), a linha roxa indica o estímulo aplicado, a linha amarela a

condutância do Na+ e a verde a condutância do K+ .

Gráfico do potencial contra o tempo

(linha vermelha), gerado pelo HHSim

(http://www.cs.cmu.edu/~dst/HHsim/).

Acesso em: 28 de novembro de 2016.

38

Modelo de Hodgkin-Huxley

Page 39: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Aplicamos um estímulo, linha roxa, temos que o potencial de membrana atinge uma

valor acima do potencial limiar (linha vermelha). Em tal situação, abrem-se os canais

de Na+ dependentes de voltagem. Cofirmarmos a situação, verificando a condutância

do Na+ (linha amarela), que começa a subir, indicado o influxo de Na+. O eixo

horizontal é o do tempo. Todo evento está registrado em pouco mais de 20 ms.

39

Modelo de Hodgkin-Huxley

Gráfico do potencial contra o tempo

(linha vermelha), gerado pelo HHSim

(http://www.cs.cmu.edu/~dst/HHsim/).

Acesso em: 28 de novembro de 2016.

Page 40: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Comparando-se as condutâncias, vemos que a condutância do Na+ (linha amarela)

atinge o valor máximo, antes da a condutância do K+ (linha amarela). Isto deve-se ao

fato do canal de Na+ dependente de voltagem abrir-se antes do canal de K+

dependente de voltagem.

40

Modelo de Hodgkin-Huxley

Gráfico do potencial contra o tempo

(linha vermelha), gerado pelo HHSim

(http://www.cs.cmu.edu/~dst/HHsim/).

Acesso em: 28 de novembro de 2016.

Page 41: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Depois de poucos milisegundos, ambos canais estão fechados, como vemos com as

condutâncias retornando para o valor zero. Depois de mais alguns milisegundos, o

potencial de membrana (linha vermelha) retorna ao valor de repouso.

41

Modelo de Hodgkin-Huxley

Gráfico do potencial contra o tempo

(linha vermelha), gerado pelo HHSim

(http://www.cs.cmu.edu/~dst/HHsim/).

Acesso em: 28 de novembro de 2016.

Page 42: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Vimos que precisamos de um um estímulo acima do potencial limiar para termos um

potencial de ação. Não precisamos realizar uma simulação computacional do

processo complexo que envolve a abertura de canais iônicos ao longo do axônio para

termos um aproximação computacional do funcionamento do neurônio. A abordagem

computacional chamada rede neural usa uma visão simplificada do neurônio, onde a

inspiração biológica restringe-se a acharmos uma função matemática que dispara, ou

seja, assume valor 1 para um dado conjunto de entradas. Usando uma definição mais

formal, temos que uma rede neural é um sistema computacional composto por um

certo número de elementos altamente conectados que processam informação por

meio de sua resposta dinâmica a um conjunto externo de entradas.

"...a computing system made up of a number of simple, highly interconnected processing elements, which process information by their

dynamic state response to external inputs.

In "Neural Network Primer: Part I" by Maureen Caudill, AI Expert, Feb. 1989

42

Redes Neurais

Page 43: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

De uma forma geral as redes neurais são organizadas em camadas, onde temos uma

camada de entrada, algumas camadas intermediárias e uma cada de saída. As

camadas são compostas de nós interconectados que apresentam uma função de

ativação. Padrões são apresentados à rede neural na camada de entrada, que se

conecta às camadas “escondidas” onde o processamento ocorre por meio de pesos

atribuídos às conexões. Por último, as camadas escondidas se conectam a camada

de saída onde a resposta é mostrada. Abaixo temos um diagrama esquemático de

uma rede neural típica.

Fonte da imagem: http://pages.cs.wisc.edu/~bolo/shipyard/neural/local.html.

Acesso em: 27 de novembro de 2016.

43

Redes Neurais

Page 44: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

A maioria das redes neurais apresenta alguma regra de aprendizado, que otimiza os

pesos das conexões, usando-se o padrão de entrada como modelo. Podemos pensar

que estamos ensinando figuras geométricas ao um aluno de ensino fundamental, onde

vamos mostrando exemplos de figuras e definido seus nomes e características. As

redes neurais “aprendem” por exemplo, como fazem as redes neurais biológicas.

Fonte da imagem: http://pages.cs.wisc.edu/~bolo/shipyard/neural/local.html.

Acesso em: 27 de novembro de 2016.

44

Redes Neurais

Page 45: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Muitas das redes neurais usadas hoje em dia têm sua fundamentação teórica baseada

na regra delta. Sendo que a regra delta é normalmente usada pelas redes neurais

chamadas de redes neurais de retropropagação (backpropagational neural networks).

A retropropagação refere-se a propagação para trás do erro.

Fonte da imagem: http://pages.cs.wisc.edu/~bolo/shipyard/neural/local.html.

Acesso em: 27 de novembro de 2016.

45

Redes Neurais

Page 46: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Na regra delta, quando uma rede neural com retropropagação do erro é inicialmente

apresentada com um padrão de entrada, esta faz um chute inicial com valores

aleatórios para os pesos. Em seguida é feito o cálculo da diferença entre o valor

esperado e aquele obtido usando-se pesos aleatórios e um ajuste aos pesos é

aplicado. O diagrama esquemático abaixo ilustra a ideia principal do processo para um

neurônio isolado.

Fonte da imagem: http://pages.cs.wisc.edu/~bolo/shipyard/neural/local.html.

Acesso em: 27 de novembro de 2016.

46

Redes Neurais

Page 47: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Resumindo, podemos ter uma simulação da rede neural mais simples que existe, que

é uma rede com um neurônio, onde este processa as entradas e “aprende” a partir do

padrão. Este processo de aprendizado é traduzido na otimização dos pesos que são

treinados a partir do conjunto treino. Abaixo temos o pseudo código para esta rede

neural.

47

Redes Neurais

Page 48: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Para o algoritmo anterior usaremos como padrão de aprendizado uma tabela verdade

com as seguintes entradas e saídas. Depois de treinada, nossa rede neural será

submetida a nova situação mostrada abaixo.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

48

Redes Neurais

Page 49: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

A equação para o treinamento do neurônio é baseada na função sigmóide, mostrada

abaixo.

Se usarmos o inMathematica001.py para gerarmos o gráfico da função acima com o

comando Plot[1/(1+Exp[-]),{x,-6,6}] teremos o gráfico abaixo.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

49

Redes Neurais

Page 50: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Na equação abaixo o x foi substituído pelo peso que leva em conta o peso de cada

entrada, como mostrado abaixo.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

50

Redes Neurais

Page 51: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Como os pesos inicialmente recebem valores aleatórios, temos que corrigir os pesos

de forma iterativa, no nosso exemplo usaremos a seguinte equação:

Onde o error é a diferença entre o valor previsto e o inserido como entrada no

conjunto treino. O SigmoidCurveGradient é a derivada da função sigmoide, de forma

que num processo iterativo espera-se que os novos pesos levem a uma previsão

previsão próxima à real.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

51

Redes Neurais

Page 52: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Como os pesos são inicialmente recebem valores aleatórios, temos que corrigir os

pesos de forma iterativa, no nosso exemplo usaremos a seguinte equação:

Onde o error é a diferença entre o valor previsto e o inserido como entrada no

conjunto treino. A variável output traz o valor da saída na iteração anterior, com os

pesos antigos.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

52

Redes Neurais

Page 53: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Vejamos o código da nossa rede neural. Começaremos com a função main().

Inicialmente chamamos a função gen_training_set() que gera o nosso conjunto treino,

ou seja, o padrão que será usado para treinar a rede neural. Na função seguinte

(show_training_set()) é mostrado o conjunto treino na tela. em seguida fazemos a

simulação da rede neural com a função neuron001() que retorna um array com os

pesos devidamente otimizados para nosso conjunto treino. Por último a função

show_prediction() faz a previsão para o array [1,0,0] como entrada.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

53

Redes Neurais

Page 54: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

A função gen_training_set() gera os arrays para as entradas e saídas do conjunto

treino. Ambos arrays são retornados para onde a função foi evocada.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

54

Redes Neurais

Page 55: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

A função show_training_set() simplesmente é um print dos arrays gerados como

conjunto treino.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

55

Redes Neurais

Page 56: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

A função neuron01() implementa a rede neural. Inicialmente estabelecemos uma

semente aleatória. Esta etapa é importante pois em problemas masi complexos

podemos ter resultados distintos com semenetes aleatórias distintas, assim é

importante registramos com qual semente aleatória estamos trabalhando.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

56

Redes Neurais

Page 57: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Em seguida geramos um array aleatório com três números que serão os pesos

iniciais. O loop em destaque faz a atualização do array peso (weight) em cada iteração

do loop. No loop é calculada a função sigmoidal com os pesos iniciais e o resultado

atribuído à variável output. O método np.dot() faz o produto escalar entre os elementos

do array transposto (.T) com o array (t_out - output)*output(1-output). Que é a

implementação da equação vista anteriormente para o ajuste do peso.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

57

Redes Neurais

Page 58: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Por último a função show_prediction() mostra previsão para o array considerado. A

função faz uso dos pesos otimizados para o conjunto treino obtidos na função

neuron01() e usa a função sigmoidal para o cálculo do resultado.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

58

Redes Neurais

Page 59: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Abaixo temos o resultado da simulação.

Fonte da imagem: https://medium.com/technology-invention-and-more/how-to-build-a-simple-neural-network-in-9-lines-of-python-

code-cc8f23647ca1#.m56adhcdw

Acesso em: 27 de novembro de 2016.

59

Redes Neurais

<[email protected]>

|

sex 11/11, 10:54

Page 60: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

60

Um aspecto interessante que une a biologia e a computação de uma forma sinergética é o uso de algoritmos

biologicamente inspirados. A principal ideia dos algoritmos bio-inspirados é usar a natureza como fonte de

inspiração para propor novos algoritmos. Entre os algoritmos bio-inspirados de maior sucesso, temos os

algoritmos evolucionários, onde as ideais da evolução são usadas como inspiração para propormos novos

algoritmos.

Algoritmos Bio-inspirados

Page 61: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

As ideias da evolução têm sido usadas em

otimização de soluções de problemas

específicos. A otimização é um método

computacional (algoritmo), que procura

achar as condições ótimas para um dado

problema. Para evitar uma abordagem mais

matemática, vamos ilustrar a otimização

com um exemplo, chamado problema do

caixeiro viajante (travelling salesman

problem). Neste problema temos um

vendedor (caixeiro viajante), que tem que

passar por diversas cidades, digamos 4

cidades. O objetivo do problema é achar o

menor caminho possível, que leva o

caixeiro viajante a passar pelas quatro

cidades, sem repetir nenhuma cidade.

Sabemos as distâncias entre todos os pares

de cidades, dAB por exemplo, assim a

solução ótima (otimizada) é aquela que

leva a um menor percurso total. Este é o

típico problema de otimização.

C

D

A

B dAC

dAD

dAB

dBD

dBC

dCD

61

Otimização

Page 62: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Apresentaremos alguns conceitos da

evolução, usados como inspiração para os

algoritmos evolucionários.

Vamos considerar um ambiente que pode

sustentar só um número restrito de

indivíduos (joaninhas nas figuras aqui), a

natureza seleciona aquelas joaninhas que

lutam pelos os recursos limitados de forma

mais eficiente, em outras palavras, a

seleção natural dos indivíduos mais

adaptados da população (as joaninhas

mais adaptadas). Outro conceito básico da

teoria de Darwin, é a variação do fenótipo

entre indivíduos da população. Traços do

fenótipo são aqueles aspectos físicos e de

comportamento de um indivíduo, que estão

relacionados com sua reação ao ambiente,

por exemplo, a cor da joaninha. Os traços

do fenótipo determinam seu ajuste (fitness)

ao ambiente. 62

Indivíduo

População

A cor das joaninha é um traço do fenótipo

Conceitos Básicos sobre Evolução

Page 63: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Numa população, cada indivíduo mostra um

conjunto de traços do fenótipo exclusivos,

que estão continuamente sendo testados

pelo ambiente [HOLLAND, 1992]. O ajuste

de cada indivíduo pode ser quantificado

numa análise matemática do sistema

biológico, os indivíduos com maior sucesso

apresentam um ajuste mais alto, ou seja,

uma função ajuste (fitness function) mais

alta.

Veja que estamos modelando nosso

sistema biológico, para capturar os

aspectos essenciais do sistema, que

possibilitarão o seu uso para resolver

problemas de otimização. Colocando de

outra forma, estamos simplificando o

sistema biológico, para extrairmos suas

características mais fundamentais, como a

seleção natural.

63

Conceitos Básicos sobre Evolução

Indivíduo

População

A cor das joaninha é um traço do fenótipo

Referência:

HOLLAND JH. Adaptation in Natural and Artificial

Systems. MIR Press. Cambridge MA, 1992.

Page 64: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

População inicial da primeira geração

População inicial da segunda geração

Resumindo os conceitos básicos, uma

população é um conjunto de indivíduos, cada

um sendo considerado uma “ unidade de

seleção”, seu sucesso depende de o quão

bem adaptado ao ambiente eles estão.

Indivíduos mais bem adaptados apresentam

probabilidade mais alta de gerar descendentes,

e, mutações ocasionais, dão origem a novos

indivíduos que serão testados pelo ambiente.

Assim, de uma geração para outra, há variação

no genótipo (conjunto de genes) da população.

Cada gene codifica uma proteína, e pode ser

responsável por uma característica do indivíduo,

ou um conjunto de genes ser o responsável por

uma característica. Na figura vemos claramente

diferenças nos padrões de cores, embora

alguns indivíduos tenham sobrevivido de uma

geração para outra sem alterações.

64

Conceitos Básicos sobre Evolução

Page 65: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

O processo de evolução pode ser

visualizado usando uma superfície

adaptativa (adaptive surface). No gráfico

ao lado, a altura z representa a função

ajuste (fitness function), também chamada

de função escore (scoring function). Aqui,

quanto maior a altura na superfície, melhor

o ajuste do indivíduo. Os eixos x-y

representam todas as combinações

possíveis de dois traços do fenótipo. Cada

ponto na superfície representa um

indivíduo, com a combinação de traços do

fenótipo representados pelo valores de x e

y. Para exemplificar, o eixo x pode

representar a capacidade de mimetismo

(camuflagem) das joaninhas, e o eixo y a

capacidade de escalar obstáculos. A

combinação de x e y dará a função ajuste.

Os picos mais altos na figura representam

os indivíduos mais bem adaptados. 65

Conceitos Básicos sobre Evolução

Ajuste

x

y

Superfície adaptativa (adaptive surface)

Page 66: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Os vales indicam indivíduos menos

adaptados ao ambiente. Cada pico na

superfície indica um ponto ótimo local (ou

simplesmente máximo local). O pico mais

alto o ponto de ótimo global (ou máximo

global). A partir desta analogia, está clara

as implicações da evolução em problemas

de otimização, que podemos pensar que é

representado pelo ponto de ótimo global.

Num problema de otimização, como o do

caixeiro viajante, nós podemos ter uma lista

de soluções para o problema (diferentes

rotas), e tentamos achar a melhor solução.

O conjunto de soluções possíveis é

chamado de espaço de busca, a superfície

adaptativa, da figura ao lado, é uma

representação gráfica do espaço de busca.

Ajuste

x

y

66

Conceitos Básicos sobre Evolução

Máximo local

Máximo global

Superfície adaptativa (adaptive surface)

Page 67: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

A implementação de um algoritmo genético usa as ideias da evolução de Darwin, de

forma que os indivíduos de uma dada população são submetidos aos princípios da

evolução, tais como, seleção natural, cruzamento (crossover) e mutação. Veja abaixo,

um indivíduo será representado por uma string binária. Uma string binária é uma

sequência de “0” e “1”. No algoritmo genético a string binária é convertida num número

decimal, usando as operações matemáticas já vistas.

67

011011110001

Representação do genoma de um indivíduo

na abordagem de algoritmo genéticos

1777

String binária Decimal relacionado à string binária

Números Binários

Page 68: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Um algoritmo genético típico usa três operadores para manipular uma população de

indivíduos gerados aleatoriamente, são eles: seleção, crossover e mutação. Um

diagrama esquemático dá uma visão geral destes passos para uma iteração

(geração). A população inicial é formada de strings binárias geradas aleatoriamente,

os números indicados à esquerda.

101101011010

000010000100

000001111111

100111100111

111110011000

000001011010

000010111100

110100111100

Strings binárias

(populatção incial)

Operador

seleção

Operador

crossover

Operador

mutação

110100111010

101101011100

100110011000

111111110011

1

101101011010

100111100111

111110011000

110100111100

Strings binárias

(Nova população)

68

Algoritmo Genético

Page 69: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

O operador seleção é uma implementação computacional da “seleção natural”. É

uma tentativa de aplicar a pressão evolucionária sobre indivíduos de uma população.

Indivíduos com função ajuste (ou função escore) baixa serão descartados. Os

indivíduos de mais alto valor de função ajuste apresentam maior probabilidade de

sobreviver. Os sobreviventes farão parte da população, que começará a nova geração

(iteração).

69

101101011010

000010000100

000001111111

100111100111

111110011000

000001011010

000010111100

110100111100

Strings binárias

(populatção incial)

Operador

seleção

Operador

crossover

Operador

mutação

110100111010

101101011100

100110011000

111111110011

1

101101011010

100111100111

111110011000

110100111100

Strings binárias

(Nova população)

Algoritmo Genético

Page 70: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

O operador crossover, também conhecido como recombinação, faz com que os

indivíduos (strings binárias) troquem sua informação genética, de forma análoga à

reprodução sexuada. Uma forma de implementar tal operador, é selecionar pares de

indivíduos promovidos após a etapa de seleção (pais). Depois selecionamos

aleatoriamente um local único (locus) (indicado pela barra vermelha vertical), dentro

da string binária. Por último trocamos todos os dígitos à direita deste locus entre os

dois pais, conforme indicado abaixo.

110100111010

101101011100

100110011000

1111111100111

110100111100

101101011010

100111100111

111110011000

Locus

Locus

Pais Descendentes

Crossover

70

Algoritmo Genético

Page 71: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

O operador crossover é aplicado a um par de pais, parar gerar um par de novas

strings binárias (descendentes). Um par de pais será submetido ao operador

crossover, se e somente se, um número aleatório (Rn) for menor que a

probabilidade de crossover (Pc). Rn está no intervalo [0,1], e um típico valor de Pc

está no intervalo [0,4, 0,9].

110100111010

101101011100

100110011000

1111111100111

110100111100

101101011010

100111100111

111110011000

Locus

Locus

Pais Descendentes

Crossover

Gera um

número

aleatório (Rn)

Rn<=Pc?

Escolha novo

par de pais

Sim

Não

71

Algoritmo Genético

Page 72: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Para ilustrar os princípios básicos do algoritmo genético, vamos resolver o seguinte

problema simples, qual o número entre 0 e 4095 maximiza a função quadrática

(f(x)=x2)? OK, não precisamos de um algoritmo genético para saber a resposta deste

problema, tal problema é só para ilustrar o algoritmo. Na implementação deste

algoritmo temos strings binárias de comprimento 12 (11111111112 = 409510). Assim,

vamos gerar números aleatórios entre 0 e 4095, como mostrado parcialmente na

tabela abaixo. Esta faixa de números é nosso espaço de busca.

String binária Decimal

0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 1 1

0 0 0 0 0 0 0 0 0 0 1 0 2

0 0 0 0 0 0 0 0 0 0 1 1 3

0 0 0 0 0 0 0 0 0 1 0 0 4

0 0 0 0 0 0 0 0 0 1 0 1 5

0 0 0 0 0 0 0 0 0 1 1 0 6

0 0 0 0 0 0 0 0 0 1 1 1 7

0 0 0 0 0 0 0 0 1 0 0 0 8

.......... .....

1 1 1 1 1 1 1 1 1 1 1 0 4094

1 1 1 1 1 1 1 1 1 1 1 1 4095 72

Algoritmo Genético

Page 73: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Neste algoritmo simples, o operador seleção escolherá a melhor metade da

população, usando a função quadrática como função ajuste (fitness function).

Inicialmente temos que gerar a população de forma aleatória. Tal população é

formada por strings binárias (genótipo), também chamados de cromossomos no

jargão dos algoritmos genéticos. As strings binárias que serão convertidas em

números decimais, e então a função quadrática será calculada. A função quadrática é

nossa função ajuste. Nós classificamos a metade dos melhores indivíduos da

população e, então, aplicamos o operador crossover. Estes novos indivíduos gerados

pelo operador crossover serão submetidos ao operador mutação. Na mutação nem

todos os indivíduos serão submetidos a este operador, só aqueles que passarem no

critério de probabilidade de mutação (Pm). Na implementação do algoritmo

genético, usaremos o critério de número de iterações (gerações), como critério de

parada. Um típico conjunto de entrada para tal algoritmo é o seguinte:

Population size (tamanho da população):

Maximum number of iterations (Número máximo de iterações):

Probability of crossover (probabilidade de crossover):

Length of strings (tamanho das strings):

Probability of mutation (probabilidade de mutação):

73

Implementação de um Algoritmo Genético Simples

Page 74: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Gera uma população

aleatória de strings

binárias

Converte cada string

binária a um número

decimal

Calcula a função ajuste

para cada indivíduo

Seleciona parte da

população para seguir

(operador seleção)

Seleciona pares de pais

seguindo uma ordem

aleatória

Operador Crossover

Mutação dos

descendentes

(operador mutação)

Gera uma nova

população

Critério de

parada

satisfeito?

Retorna os resultados

Não

Sim

Ordena aleatoriamente

os melhores pais

74

Implementação de um Algoritmo Genético Simples

Page 75: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Inicialização. Números aleatórios são

gerados (genótipo), para representar

indivíduos numa população. Em

algoritmos genéticos tais números

são chamados cromossomos. Para

cada cromossomo uma função ajuste

(função escore) será calculada. 75

Initialização

A B

C D

Page 76: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Operador seleção (A). Agora um dos

maiores processos da evolução é

aplicado. Os cromossomos gerados

aleatoriamente são selecionados,

usando como critério a função ajuste.

Esta função indica o quão adaptado um

indivíduo está. Os indivíduos

selecionados são chamados “pais”. 76

Initialização

A B

C D

Page 77: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Operador crossover (B). Os

indivíduos selecionados (pais) podem

gerar descendentes (filhos). Os pais

são gerados aleatoriamente e seus

cromossomos são combinados para

gerar filhos. A posição de corte é

chamada locus, sendo gerada

aleatoriamente também.

.

77

Initialização

A B

C D

Page 78: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Operador mutação (C). É permitido

que os descendentes sofram mutação.

Em bactéria uma taxa de 2.10-3

mutações por genoma por geração é

observada. Aqui, o operador mutação

possibilita a diversidade genética na

simulação da evolução. 78

Initialização

A B

C D

Page 79: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Ao final, os indivíduos (pais mais

descendentes), tornam-se a população

inicial para um novo ciclo. Com objetivo

de manter a abordagem biológica, este

ciclo é chamado de geração. Em

computação um ciclo é chamado de

iteração. 79

Initialização

A B

C D

Page 80: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Este ciclo está completo e todo o

processo é repetido até que um critério

de parada seja satisfeito, como por

exemplo, o número de iterações

(gerações) máximo foi atingido.

80

Initialização

A B

C D

Page 81: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Agora temos uma visão geral de como

os algoritmos genéticos funcionam.

Vamos ver alguns conceitos de como

implementá-los. Os indivíduos nesta

população podem ser representados

por “0” e “1”, ou seja, uma string

binária. 81

Initialização

A B

C D

Page 82: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Na inicialização, números aleatórios

são gerados para representar cada

cromossomo na população. Cada linha

(string binária) é um cromossomo de

um indivíduo (equivalentes às

joaninhas de cores diferentes).

101101011010

000010000100

000001111111

100111100111

111110011000

000001011010

000010111100

110100111100

Strings binárias

82

Initialização

Page 83: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Initialização

A

Seleção. Para ilustrar a

evolução, vamos considerar

que queremos achar o máximo

da função quadrática para um

inteiro entre 0 e 4095. Agora

calculamos a função (f=x2) para

cada cromossomo. As strings

binárias são convertidas para

decimal e, então, calculamos a

função. Selecionamos a melhor

metade da população, segundo

a função ajuste.

101101011010

000010000100

000001111111

100111100111

111110011000

000001011010

000010111100

110100111100

101101011010

100111100111

111110011000

110100111100

f = x2

2906

132

127

2535

3992

90

188

3388

Converte

binário

para

decimal

2906

2535

3992

3388

Strings binárias Decimals (x)

8444836

17424

16129

6426225

15936064

8100

35344

11478544

Decimais (x)

8444836

6426225

15936064

11478544

Strings binárias

Seleção dos

melhores

resultados

83

Função ajuste ou

escore

Page 84: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Nesta etapa temos o operador crossover. Somente

os melhores pais são submetidos ao crossover,

(recombinação). Inicialmente as strings binárias são

aleatoriamente posicionadas e, então, a posição de

crossover é escolhida. Esta posição indica onde a

troca dos cromossomos acontecerá. Os novos

cromossomos agora fazem parte da população, junto

como os melhores pais.

10110101101

0

10011110011

1

11111001100

0

11010011110

0

Strings binárias

110100111010

101101011100

100110011000

1111111100111

110100111100

101101011010

100111100111

111110011000

101101011010

100111100111

111110011000

110100111100

Strings filhas

Strings de posição aleatória

84

Strings pais

Initialização

A B

Page 85: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

110100111010

101101011100

100110011000

1111111100111

101101011010

100111100111

111110011000

110100111100 O operador mutação é usualmente aplicado a um bit da string,

mudando-o de “0” para “1”, ou vice-versa. Na maioria das

aplicações, é sugerida uma probabilidade de mutação (Pm) de

0,001, ou seja, uma mutação para cada 1000 bits. 85

Strings pais

Strings filhas

Initialização

A B

C D

Page 86: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

110100111010

101101011100

100110011000

1111111100111

101101011010

100111100111

111110011000

110100111100 Há diversas formas de implementar o operador mutação, uma

forma é aplicá-lo a um bit (número “0” ou “1” na string) na

posição 1/pm e gerar um número aleatório, se o número aleatório

é maior que 0,5 muda o bit, caso contrário deixa como está. 86

Strings filhas

Strings pais

Initialização

A B

C D

Page 87: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

110100111010

101101011100

100110011000

1111111100111

101101011010

100111100111

111110011000

110100111100

O operador mutação funciona para

aumentar a diversidade genética,

evitando que a população fique

confinada a um máximo local.

110100111011

101101011100

100110011000

1111111100111

Strings filhas

101101011011

100111100111

111110011000

110100111100

Mutação

87

Strings pais

Strings filhas

Strings pais

Initialização

A B

C D

Page 88: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Depois da aplicação do operador

mutação, os indivíduos tornam-se a

população de uma nova iteração.

O ciclo é repetido até que um critério

de parada seja satisfeito. Podemos

fixar o número de iterações, ou outro

critério de parada. Um outro critério de

parada possível, está baseado na

variação da população, ou seja, se os

indivíduos de uma geração não estão

variando com relação à geração

anterior. Quando não há variação

durante um certo número de gerações,

não faz sentido continuar a simulação,

pois não iremos gerar indivíduos que

gerem melhores funções ajuste, assim

podemos parar a simulação.

110100111010

101101011100

100110011000

1111111100111

Strings binárias

101101011010

100111100111

111110011001

110100111100 88

Page 89: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Para o problema descrito de maximização,

temos numa simulação típica de algoritmos

genéticos, as seguintes entradas: número de

indivíduos da população inicial de 10

indivíduos, probabilidade de mutação de 0,01,

probabilidade de crossover de 0,8 e número

de iterações igual à 60. Com estes dados de

entrada, observamos uma convergência

para o valor correto após poucas iterações

(gerações). O gráfico ao lado mostra os

resultados de tal simulação. O eixo x indica o

número de iterações (gerações) e o eixo y o

valor máximo da função quadrática (função

escore ou ajuste), obtido para cada geração.

Como o indivíduo com maior valor para uma

string binária de 12 algarismos é

1111111111112 , cujo o valor decimal é 4095,

temos uma função quadrática de 16769025,

que é alcançada na iteração 18. Depois disso

não há alteração, dizemos que houve

convergência. 89

Implementação de um Algoritmo Genético Simples

Page 90: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Vimos um tipo de algoritmo evolucionário chamado de algoritmo genético. Há outros

algoritmos que usam as ideias de evolução, mas são baseados em métodos

computacionais distintos. Todos usam como inspiração a evolução, mas sua

implementação computacional varia de algoritmo para algoritmo. Um dos algoritmos

evolucionários de maior sucesso é o algoritmo de evolução diferencial. Na evolução

diferencial temos os operadores clássicos dos algoritmos genéticos: seleção, crossover

e mutação, como mostrados abaixo. Como uma implementação distinta do crossover.

90

Algoritmos Evolucionários (Evolução Diferencial)

Operador

seleção

Operador

crossover

Operador

mutação

Critério

de

parada

satisfeito

?

Mostra

resultados

Sim

Não

Page 91: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

O algoritmo de evolução diferencial executa a parte inicial de geração aleatória de uma

população com N cromossomos, em seguida avalia a função ajuste de cada

cromossomo. A novidade está na formação cromossomos filhos. O filhos são gerados

da seguinte forma, para cada cromossomo pai na população, chamado aqui

cromossomo j, são escolhidos aleatoriamente três outros cromossomos pais distintos,

cromossomos k, l e m. Calcula-se um novo cromossomo, chamado aqui de n, da

seguinte forma:

cromossomo(n) = cromossomo(m) + peso.[cromossomo(k) - cromossomo(l)]

o peso varia entre 0 e 2.

O cromossomo novo (n) será incorporado à população se ao gerarmos um número

aleatório entre 0 e 1, este for menor que a probabilidade de crossover, caso não seja, o

cromossomo filho não é considerado. Um último teste é realizado no cromossomo filho

n, se este apresenta função escore maior que o cromossomo pai j, caso seja, o

cromossomo j é deletado e substituído pelo cromossomo n. As etapas seguintes são

idênticas ao algoritmo genético original. Estamos considerando aqui que a função

ajuste de maior valor é a que representa um indivíduo mais bem adaptado. Veja, este

critério depende do tipo de problema a ser resolvido pelo algoritmo evolucionário.

91

Algoritmos Evolucionários (Evolução Diferencial)

Page 92: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Na implementação do algoritmo de

evolução diferencial, como nos

algoritmos genéticos, o primeiro passo é

gerar indivíduos de forma aleatória,

como no exemplo das joaninhas.

92

Algoritmos Evolucionários (Evolução Diferencial)

Page 93: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

No passo seguinte, calculamos a função

ajuste, que indica a adaptação de cada

indivíduo. Depois aplicamos o operador

crossover, descrito anteriormente, onde

três joaninhas pais (joaninhas cinza,

branca e amarela) geram uma joaninha

filha, para cada cromossomo pai

(joaninha verde), como mostrado ao

lado.

93

Cromossomo k Cromossomo l

Cromossomo m

cromossomo(n) = cromossomo(m) + peso.[cromossomo(k) - cromossomo(l)]

Algoritmos Evolucionários (Evolução Diferencial)

Cromossomo n

Cromossomo j

Page 94: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Considerando que o cromossomo n

passou no teste da probabilidade de

crossover, e que tem função ajuste

maior que a do pai (cromossomo j), este

ocupa o lugar do pai, ou seja, o

cromossomo j é deletado e substituído

pelo cromossomo n. Por último,

aplicamos a mutação, onde

selecionamos aleatoriamente

cromossomos filhos. O critério para

escolher se um cromossomo filho

sofrerá mutação, é a probabilidade de

mutação (Pm). Geramos um número

aleatório entre 0 e 1, se este número for

menor ou igual à probabilidade de

mutação, a mutação ocorre, caso

contrário não. Testamos a condição de

mutação para todos os cromossomos

filhos. Terminamos um ciclo da

evolução, ou iteração. O processo se

repete um número finito de vezes. 94

Cromossomo n

Cromossomo n mutado

Mutação

Algoritmos Evolucionários (Evolução Diferencial)

Cromossomo j é deletado e

substituído pelo n

Page 95: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Como toda metodologia, a simulação de

docking tem uma etapa de validação e

refinamento do protocolo. Tal etapa é o

que chamamos de re-docking, onde

achamos o melhor protocolo capaz de

recuperar a posição cristalográfica de

um ligante acoplado ao sítio ativo de uma

enzima. A condição para que possamos

validar nosso protocolo de docking, é que

haja informações sobre pelo menos uma

estrutura cristalográfica de um complexo

proteína-ligante. A estrutura

cristalográfica é uma informação

experimental precisa, sendo usada como

padrão para verificarmos se o nosso

programa de docking é capaz de achar a

posição do ligante no sítio ativo.

Chamamos da posição obtida computacionalmente de pose

(em vermelho) e a comparamos com a cristalográfica (em

cinza claro) a partir do RMSD (Root-Mean Square Deviation)

que pode ser pensado como uma régua que mede a

distância da posição cristalográfica da pose.

Bio-Inspired Algorithms Applied to Molecular Docking

Simulations. Heberlé G, De Azevedo WF Jr. Curr Med Chem

2011; 18 (9): 1339-1352.

95

Docking Molecular

Page 96: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

A estrutura cristalográfica tem que estar

presente como um “padrão ouro”, ou

seja, antes de usarmos a simulação de

docking, temos que verificar se o nosso

protocolo de docking está funcionando

adequadamente. Neste aspecto o

trabalho em bioinformática é similar ao

trabalho em bancada experimental.

Quando vamos testar um novo protocolo

experimental, normalmente recorremos

ao um padrão, para validarmos o

protocolo novo. No caso do docking, o

padrão é a estrutura cristalográfica.

Assim, visamos achar a posição do

ligante usando o docking e, ao final,

comparamos com a posição

cristalográfica, como mostrado ao lado.

96

Posição cristalográfica (cinza claro) e posição obtida pela

simulação de docking (vermelha).

Docking Molecular

Page 97: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

No re-docking, vamos “recolocar” o ligante no sítio ativo e comparar com a posição

cristalográfica. A comparação se faz por meio do cálculo do desvio médio

quadrático, ou RMSD (root-mean square deviation). Podemos pensar no RMSD

como uma média das distâncias atômicas entre a posição cristalográfica ( xcristal, ycristal,

zcristal) e a posição do ligante obtida pela simulação de docking ( xpose, ypose, zpose).

Chamamos esta posição de pose. Abaixo temos em vermelho a posição do ligante,

obtida pela simulação de docking (pose), e, em branco, a posição cristalográfica.

Vemos que temos uma boa concordância entre as duas posições. A equação para o

cálculo do RMSD está mostrada abaixo, onde N indica que a soma é feita para todos

os átomos do ligante.

97

Docking Molecular

N

zzyyxx

RMSD

N

j

jjjjjj

1

2

,2,1

2

,2,1

2

,2,1

Page 98: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

As posições dos átomos nas moléculas

são representadas por coordenadas

atômicas, x, y e z. As coordenadas

identificam a posição do centro do

átomo no espaço, como as posições

dos átomos mostradas ao lado. São

essas coordenadas atômicas que são

usadas para o cálculo do RMSD. Como

as coordenadas atômicas estão na

unidade angstrom (Å), o valor calculado

para o RMSD é dado também em Å.

98

Posição do átomo é indicada pelas coordenadas (x,y,z)

Docking Molecular

Page 99: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Abaixo temos a captura da tela do programa Molegro Virtual Docker (MVD), com um

inibidor de CDK2 na tela gráfica (lado direito). Ao colocarmos o cursor sobre o átomo,

vemos as coordenadas atômicas na janela à esquerda (dentro do retângulo vermelho),

as unidades em Å.

99

Coordenadas atômicas

do átomo indicado.

Docking Molecular

Page 100: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Nas simulações de docking, com

algoritmos evolucionários, o primeiro

passo é gerar posições aleatórias para a

molécula do ligante, como no exemplo

das joaninhas. Cada joaninha

representa uma posição do ligante. Veja

que é o mesmo ligante, com diferentes

posições.

100

Docking Molecular

Page 101: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

No passo seguinte, calculamos a função

ajuste (função escore), que indica a

adaptação de cada indivíduo, no caso

do docking a energia de ligação de cada

posição da molécula. Como a energia

de ligação de Gibbs, só que agora

usamos as coordenadas atômicas para

calcularmos a energia de ligação.

Depois aplicamos o operador crossover,

como descrito para o algoritmo da

evolução diferencial, onde três posições

da molécula (pais) geram uma posição

filha, como mostrado ao lado. Veja que

a função escore não é uma função

energia de fato, podemos chamar a

função escore, como o Moldock Score,

de pseudoenergia.

101

Cromossomo k Cromossomo l

Docking Molecular

Cromossomo m

cromossomo(n) = cromossomo(m) +

peso.[cromossomo(k) - cromossomo(l)]

Page 102: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Por último, aplicamos a mutação, onde

selecionamos aleatoriamente posições

filhas (cromossomos filhos), e suas

posições são modificadas. O critério

para escolher se um cromossomo filho

sofrerá mutação, é a probabilidade de

mutação (Pm). Geramos um número

aleatório entre 0 e 1, se este número for

menor ou igual à probabilidade de

mutação, a mutação ocorre, caso

contrário não. Testamos a condição de

mutação para todos os cromossomos

filhos. Terminamos um ciclo da

evolução, ou iteração. O processo se

repete um número finito de vezes.

102

Cromossomo n

Cromossomo n mutado

Mutação

Docking Molecular

Page 103: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Ao final temos a posição obtida da

simulação de docking (pose),

comparada com a cristalográfica, como

mostrada ao lado. Consideramos que

a simulação de docking está

funcionando bem, se o RMSD da

sobreposição for menor que 2,00 Å,

no exemplo ao lado o RMSD foi de 1,68

Å.

103

Docking Molecular

Page 104: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

A função ajuste ou escore, usada pelo programa Molegro Virtual Docker é chamada

MolDock Score. Esta função é uma aproximação da energia de interação entre o

ligante e a proteína alvo. Usamos as coordenadas atômicas do ligante e da proteína,

bem como, eventualmente, co-fatores e moléculas de água para calcular a função

escore. Assim, a entrada da função do MolDock Score é o sistema biológico em

estudo, ou seja, proteína, ligante, co-fatores e água. A saída é o valor da função

calculada para o sistema biológico. No caso do docking, temos o cálculo da função

MolDock Score para cada posição possível do ligante (pose). É a função que é usada

como critério de seleção das poses.

104

MolDock Scoring Function Sistema

biológico Score

Função MolDock Score

Page 105: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

Abaixo temos a seleção da função MolDock Score do programa MVD. Na opção

mostrada, temos a seleção de termos de energia do ligante (Internal ES, Internal HB,

Sp2-Sp2 torsions e Displaceable Water com Entropy Reward de 0,50).

105

Função MolDock Score (MVD)

Page 106: Apresentação do PowerPoint - azevedolab.netcalc,i) o método Ridge tende a reduzir o número de coeficientes (ω j), como destacado para o método Lasso. O N da primeira somatória

HODGKIN, ALAN L; HUXLEY, ANDREW F. "A quantitative description of membrane

current and its application to conduction and excitation in nerve". Journal of

Physiology, 1952; 117 (4): 500-544.

OLIVEIRA, Jarbas Rodrigues de; WACHTER, Paulo Harald; AZAMBUJA, Alan Arrieira.

Biofísica para ciências biomédicas. Porto Alegre: EDIPUCRS, 2002. 313 p.

OKUNO, Emiko; CALDAS, Iberê Luiz; CHOW, Cecil. Física para ciências biológicas e

biomédicas. São Paulo: Harper & Row do Brasil, 1982. 490 p.

PURVES, W. K., SADAVA, D., ORIANS, G. H., HELLER, H. G. Vida. A Ciência da

Biologia. 6a ed. Artmed editora. 2002.

VOET, Donald; VOET, Judith G. Bioquímica. 3ª edição. Porto Alegre: Artmed, 2006.

1596 p.

106

Referências