Beruflich Dokumente
Kultur Dokumente
CAMBORI (SC)
2014
CAMBORI (SC)
2014
SISTEMAS
DE
BANCA EXAMINADORA:
LISTA DE FIGURAS
LISTA DE QUADROS
LISTA DE TABELAS
GPL
IA
MCP
MLP
RAM
RNA
RESUMO
Palavras-chave:
Redes Neurais Artificiais, Backpropagation, Prottipo, Aprendizado de mquina.
SUMRIO
INTRODUO ......................................................................................... 9
INTRODUO
1.1
Apresentao
Com o avano tecnolgico e consequente surgimento da internet e das
redes e mdias sociais, muitas atividades ganharam novas maneiras, muitas vezes
mais eficientes, de serem executadas. Entre elas pode-se citar a comunicao entre
pessoas (mensagens entregues instantaneamente), o marketing e publicidade de
produtos e, para propsito desse trabalho, destacam-se a procura por emprego e o
recrutamento e seleo.
Conforme a pesquisa Tendncias globais em recrutamento para 2013,
realizada pela empresa LinkedIn, as redes sociais profissionais se tornaram, no ano
de 2013, a principal fonte para as contrataes de qualidade no Brasil. Representada
por 44%, a utilizao dessas ferramentas como meio de realizar contrataes de
qualidade1 dentro das empresas obteve um crescimento de 28% em apenas dois
anos (LINKEDIN, 2013).
Outra pesquisa, tambm realizada em 2013 e publicada pela Aberdeen
Group (2013), mostra que as redes sociais se tornaram a segunda fonte mais efetiva
no contexto geral de contrataes, ficando frente das pginas de carreiras de sites
empresariais e atrs apenas dos programas de recrutamento interno. Entre as
diferentes empresas que fornecem esses servios, a rede social profissional
LinkedIn, contando com mais de 300 milhes de usurios ao redor do mundo, se
tornou a principal ferramenta para desempenhar os papis de recrutamento
1
10
1.2
Descrio do problema
O LinkedIn se tornou uma tima ferramenta para manter profissionais
O Facebook uma rede social que possibilita uma maior proximidade entre as
pessoas, tendo como uma das caractersticas o compartilhamento de vdeos, fotos
e jogos (PARENZA et al., 2013).
11
1.3
Justificativa
As redes sociais esto definitivamente transformando e facilitando os
12
13
1.4
Objetivo geral
O objetivo deste trabalho produzir um prottipo que seja capaz de,
14
1.5
Objetivos especficos
Para este trabalho, tm-se como objetivos especficos:
a)
1.6
Metodologia
O presente trabalho parte de uma pesquisa experimental, que segundo
Best (1972, apud LAKATOS; MARCONI, 2008), acontece quando existe controle
sobre determinados fatores e sua importncia est nas relaes de causa e efeito.
Outra definio para esse tipo de pesquisa dada por Hymann (1967, apud
LAKATOS; MARCONI, 2008): Levantamentos explicativos, avaliativos e
interpretativos, que tm como objetivos a aplicao, a modificao e/ou a mudana
de alguma situao ou fenmeno.
Em relao aos objetivos, a pesquisa utilizada foi a exploratria, mais
precisamente, estudos de manipulao experimental. A determinao desse tipo de
pesquisa pode ser compreendida a partir da conceituao dada por Lakatos e
Marconi (2008):
[...] consistem naqueles estudos exploratrios que tm por finalidade
manipular uma varivel independente, a fim de localizar variveis
dependentes que potencialmente estejam associadas a ela, estudando-se o
fenmeno em seu meio natural. O propsito desses estudos geralmente
demonstrar a viabilidade de determinada tcnica ou programa como uma
soluo, potencial e vivel, para determinados programas prticos. Os
15
16
FUNDAMENTAO TERICA
2.1
17
Em 1861, um estudo da afasia feito por Paul Broca com pacientes cujos
crebros foram danificados permitiu o conhecimento da existncia de reas
localizadas do crebro responsveis por funes cognitivas especficas; mas
somente em 1873 foi possvel observar os neurnios do crebro individualmente
(RUSSELL; NORVIG, 2004, p.12). Por fim, a concluso alcanada por Searle
(1992 apud RUSSELL e NORVIG, 2004, p.13), foi de que uma coleo de clulas
simples pode levar ao pensamento, ao e conscincia.
18
19
Em conformidade com o que foi exposto por Braga et al. (2007, p.18),
constata-se que a aprendizagem uma etapa essencial para que seja possvel
realizar as tarefas de classificao. De forma geral, essa etapa se resume em
apresentar um conjunto de exemplos para a rede, possibilitando a ela extrair as
caractersticas necessrias para representar a informao recebida e para
posteriormente gerar respostas para o problema (BRAGA et al., 2007, p.3). Essa
capacidade das RNAs em aprender com dados existentes e fornecer respostas
coerentes a dados ainda no conhecidos (generalizao), extraindo informaes
implcitas, sem dvida, segundo Braga et al. (2007, p.3), o seu principal atrativo.
20
Componentes bsicos
possvel destacar como componentes bsicos da estrutura e processo de
21
rede de alimentao direta, cada unidade de uma camada s pode receber a entrada
de unidades que fazem parte de camadas precedentes. Em relao ao nmero de
camadas contidas em uma rede neural, isso poder variar de acordo com o tipo de
rede. As redes MCP tm apenas duas camadas, sendo elas a camada de entrada e a
camada de sada. As redes MLP, alm de possurem camadas de entrada e de sada,
tambm possuem as chamadas camadas ocultas, ou intermedirias.
Entradas (inputs): Um vetor de entrada o dado que serve como entrada
para a rede neural. Normalmente escrito como x, com elementos , onde i inicia-se
em um e segue at o nmero correspondente s dimenses da entrada;
Pesos (ou parmetros): So representados por uma matriz W contendo
elementos , que determinam os pesos associados s conexes entre os ns i e j.
Esses pesos so equivalentes s sinapses do crebro e a dimenso da matriz W ser
estabelecida de acordo com o tamanho de unidades entre as camadas conectadas
correspondentes;
Funo de Ativao: Uma funo de ativao uma funo matemtica
que determina a sada de um neurnio de acordo com o resultado da soma
ponderada de suas entradas. Essa funo possibilita que, como descrito por Russell
e Norvig (2004, p.714), a unidade seja ativa (prxima de +1) quando as entradas
corretas forem recebidas e inativa (prxima a 0) quando as entradas erradas
forem recebidas. A frmula de ativao de um neurnio definida por =
(=1 ) e uma eventual escolha para vista na Figura 4.
.
+
22
2.2
23
24
apresentada
anteriormente,
pelo
mesmo
autor,
aprendizado
2.3
Backpropagation
2.3.1
Motivao
Em redes de uma nica camada, o treinamento e o aprendizado da rede
25
(1)
() = ( )
(2)
=1
1
( ) = [ log ( ) + (1 ) log(1 ( ))]
(3)
=1
( )
(4)
26
27
redes de uma nica camada. Dessa forma, para contornar esse impasse, no ano de
1986, foi descrito o algoritmo backpropagation, que em sua fase backward (fase de
retorno) possibilita computar os erros associados a essas camadas.
Notaes utilizadas
Para a descrio do algoritmo backpropagation sero adotadas as
seguintes notaes:
- L: o nmero total de camadas que compem a rede;
- : nmero de unidades (desconsiderando a unidade bias) na camada l.
()
28
( + 1).
- ( () ) : matriz transposta de () .
2.3.3
Fase FeedForward
O algoritmo backpropagation iniciado pela fase de alimentao direta da
29
Inicializao
- Inicialize todos os pesos com valores baixos (positivos e
negativos).
Treinamento
Fase forward
(1)
(1)
(1)
(1)
1 = 10 0 + 11 1 + 12 2 + 13 3
(2)
(2)
1 = (1 )
(2)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
2 = 20 0 + 21 1 + 22 2 + 23 3
(2)
(2)
2 = (2 )
(2)
(1)
3 = 30 0 + 31 1 + 32 2 + 33 3
(2)
(2)
3 = (3 )
(2)
(2)
(2) (2)
(2) (2)
(2) (2)
(3) = 10
0 + 11 1 + 12 2 + 13 3
() = (3) = ( (3) )
Fase backward
...
Fonte: elaborado pelo autor
30
Fase forward
Calcule a ativao dos neurnios (2) e (3) :
(1) =
(2) = (1) (1)
(2) = ( (2) )
(3) = (2) (2)
() = (3) = ( (3) )
Fase backward
...
Fonte: elaborado pelo autor
2.3.4
Fase Backward
Na fase backward do algoritmo backpropagation, o objetivo calcular os
erros associados a cada uma das camadas da rede neural. Ou seja, alm de calcular o
erro na camada de sada, necessrio tambm calcular os erros associados s
camadas ocultas. Segundo Russell e Norvig (2004, p.721), o erro nas camadas
ocultas parece misterioso, porque os dados de treinamento no informam que valor
os ns ocultos devem ter.
5
31
para cada unidade da rede, dever ser calculado o termo , que representa o erro
do n j na camada l, para 2. Com isso, ainda considerando o exemplo da Figura
8, a unidade na camada de sada tem seu erro calculado por (3) = (3) , onde
(3) corresponde ao valor da hiptese de sada do neurnio da camada de sada
(camada 3) e t representa a sada desejada.
Como descrito por Russell e Norvig (2004, p.721), o erro encontrado na
camada de sada propagado para as camadas anteriores, a fim de possibilitar
()
()
()
( )
=1
(+1)
(5)
()
()
encontrados
pelos erros
()
() (+1)
( ) =
(6)
32
= 0 (para todo , , );
Para = 1 at
(1) = (1) ;
Calcular () para = 2, 3, ; (forward propagation)
Utilizando () , calcule () = () () ;
Calcule (1) , (2) , , (2) ;
()
()
(+1)
(() ) ;
= +
()
( )
()
()
= ;
Fonte: elaborado pelo autor
33
2.4
2.4.1
1 1
1
(7)
34
(preo)
(quantidade)
359,00
289,00
160,00
1 = 269,33
1 = 199
1 = 3
1 = 4
(preo)
(quantidade)
0,45
0.50
0,09
0.00
-0,54
-0.50
Fonte: elaborado pelo autor
de treinamento, como tambm ser visto no prximo item, uma questo que faz
parte do contexto da aplicao. Por esse motivo, Marsland (2009, p.64) evidencia
que no existe maneira alguma de se calcular qual a quantidade mnima de dados
requeridos para determinado problema.
35
Uma regra que tem sido utilizada por muito tempo e que pode ser
considerada, de acordo com Marsland (2009, p.64), de que o conjunto de dados
deve ter o tamanho equivalente a, no mnimo, dez vezes o tamanho dos parmetros.
Com isso, Marsland (2009, p.64) conclui que provavelmente a quantidade de
exemplos ser grande demais, e consequentemente, o treinamento da rede se tornar
uma operao dispendiosa.
Mesmo no existindo uma frmula matemtica que auxilie na
determinao do tamanho do conjunto de dados, Marsland (2009, p.64) descreve
que quanto mais dados, melhor o aprendizado. Entretanto, valido novamente
salientar que quanto maior a quantidade de dados, maior tambm ser o tempo gasto
para realizar o treinamento da rede.
2.4.3
Arquitetura
Segundo Braga et al. (2004, p.83), uma das maiores dificuldades em se
36
Underfitting e Overfitting
Apesar da boa capacidade das RNAs em solucionar problemas complexos
37
38
dados como tambm o rudo existente neles (ALPAYDIN, 2010, p.39). Esse
exemplo pode ser observado na Figura 11, onde so apresentados dois grficos de
diferentes hipteses para um mesmo conjunto de dados. Na imagem esquerda, a
linha traada prope a hiptese ideal para o problema, e a imagem direita ilustra o
efeito do problema de superdimensionamento, onde os dados so modelados
perfeitamente, incluindo o rudo; e o resultado disso uma rede com pouca
capacidade de generalizao para novos exemplos.
Quando se tem disponvel um conjunto de treinamento muito grande, uma
das formas de contornar o problema de overfitting separar o conjunto de dados em
dados de treinamento e validao. Dessa forma, possvel utilizar o conjunto de
treinamento para atualizao dos parmetros, e o conjunto de validao para estimar
a capacidade de generalizao do modelo. Assim, o treinamento pode ser
interrompido quando o erro no conjunto de validao comear a subir (BRAGA et
al., 2004, p.83).
Outra tcnica conhecida para evitar overfitting conhecida como poda
(pruning). Essa tcnica visa a retirada de pesos e neurnios irrelevantes para a
hiptese calculada pela rede, porm, ela apresenta a desvantagem de no considerar
a correlao entre eles. Dessa maneira, pode ocorrer que alguma informao
importante para o problema seja retirada de forma errnea (BRAGA et al., 2004,
p.84).
A regularizao tambm tem um papel importante na preveno de
overfitting e underfitting. Braga et al. (2004, p.84) explicam que esse mtodo
envolve a modificao da funo de custo atravs da adio de termos de
regularizao. Com isso, pretende-se, de acordo com Braga et al. (2004, p.84), obter
solues com pesos de norma mnima.
1 +1
() 2
[ log ( ) + (1 ) log(1 ( ))] +
( )
2
=1
=1 =1 =1
(8)
39
ela na predio de novos exemplos. Para isso, deve ser definido um conjunto
prprio destinado apenas para testes. E por que isso? Marsland (2009, p.67) explica
que testar a rede utilizando os mesmos dados utilizados para treinamento no
possibilitar saber se, por exemplo, um problema de overfitting est ocorrendo, nem
mesmo determinar a sua capacidade de generalizao.
Conforme visto no pargrafo anterior, existe a necessidade de reservar
parte do conjunto de dados para realizao de testes, certificando de que eles no
foram usados para treinamento. A grande desvantagem nesse processo, de acordo
com Marsland (2009, p.67), de que o conjunto de dados disponvel para
treinamento ser reduzido, e o autor afirma que no h como escapar disso.
Muitas vezes, alm de dividir os dados entre conjunto de treinamento e
conjunto de teste, necessrio tambm separ-lo em um terceiro conjunto, chamado
de conjunto de validao8. Esse conjunto utilizado para verificar quo bem a rede
est aprendendo durante o treinamento (MARSLAND, 2009, p.67).
A proporo de dados utilizados para treinamento, teste e validao
definida pelo desenvolvedor do projeto. Porm, Marsland (2009, p.67) considera
que na existncia de um grande conjunto de dados, a proporo comumente
escolhida de 50:25:25, e 60:20:20 quando no se possui um conjunto de dados
volumoso.
40
Avaliao de resultados
O treinamento de redes neurais MLP requer que o algoritmo seja
41
(9)
2.4.7
Curva de aprendizado
Uma das medidas apresentadas por Ng (2014) que pode influenciar
42
mais dados para treinamento da rede. Porm, essa tarefa s ir ajudar caso o
algoritmo no esteja sofrendo com problemas de alta rigidez (NG, 2014).
A maneira de verificar se a coleta de mais dados auxiliar no desempenho
da rede gerar um grfico conhecido como curva de aprendizado. Nesse grfico,
uma curva apresentada mostrando a variao do erro da rede de acordo com o
aumento do nmero de exemplos utilizados no treinamento. Com isso possvel
identificar se a coleta de mais dados ser vivel ou no.
43
2.5
Octave
As linguagens de prototipao mais comuns, utilizadas no contexto de
44
Dentre essas, a escolhida para prototipao do sistema foi o Octave, que alm de ser
considerada uma tima ferramenta para esse propsito (NG, 2014), um software
gratuito e de cdigo aberto (Open Source).
45
Operaes bsicas
Com o objetivo de facilitar a compreenso dos cdigos que sero vistos
Expresso
Resultado
5+6
11
32
58
40
1/2
0.5
2^6
11
46
Operador
Descrio
==
Igualdade
~=
Diferente
>
Maior
<
Menor
&&
E lgico
||
OU lgico
>> a =
>> b =
>> c =
c = 1
>>
>> v =
>>
>> A =
A =
1
3
5
3;
'hi';
3>=1
[1 2 3];
[1 2; 3 4; 5 6]
2
4
6
Fonte: elaborado pelo autor
47
>>
>>
>
>
>>
>>
>>
>
>
>
>>
>>
>
>
>
>
>
>
v = [1 2 3 4 5];
for i=1:5
v(i) = v(i)^2;
end
i = 1;
while i <= 5
v(i) = 100;
i = i+1;
end
if v(1)==1
disp('valor igual a 1');
elseif v(1)==2
disp('valor igual a 2');
else
disp('valor diferente de 1 e 2!');
end
Fonte: elaborado pelo autor
2.5.2
Funes
Para criar uma funo, escreve-se a funo em qualquer editor de texto,
48
>> cd /Users/Bruno/Octave/Funcoes
>> quadrado(2)
ans = 4
Fonte: elaborado pelo autor
Quadro 10 Funo que retorna mais de uma varivel.
2.5.3
Vetorizao
Conforme observado no incio desse captulo, o Octave possui bibliotecas
especiais para que o conceito de vetorizao possa ser aplicado (NG, 2014). O
processo de vetorizao consiste basicamente em converter cdigos compostos por
loops atravs de operaes de matrizes.
Para exemplificar esse processo, o Quadro 11 apresenta a forma no
vetorizada de se calcular a hiptese () = =0 , onde e so vetores.
Neste caso, o cdigo desenvolvido utilizando um lao de repetio para realizar o
clculo. O mesmo clculo implementado de maneira diferente no Quadro 12, e
representa a verso vetorizada, com apenas uma linha de cdigo.
Quadro 11 Exemplo de implementao no vetorizada.
49
>> A = [1 2; 3 4; 5 6]
A =
1
2
3
4
5
6
>>
>> B = A'
B =
1
3
5
2
4
6
Fonte: elaborado pelo autor
50
DESENVOLVIMENTO
3.1
Funcionamento do sistema
O prottipo foi desenvolvido sobre a ferramenta GNU Octave verso 3.2.4
51
seu
52
53
repetio.
Quadro 14 Parte da funo createDataset.m.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
cd 'Dados/Fotos vlidas';
X = ones(1,dimension);
A linha 9 faz a chamada da funo responsvel por fazer o prprocessamento da imagem. Feito esse processo, a imagem adicionada a matriz X
como um novo exemplo a ser utilizado. A linha 18 serve para retirar a primeira linha
da matriz X, que contm todos os valores igual a 1 e serviu apenas para inicializao
da varivel. A linha 19 cria um vetor com todos os elementos igual a 1, que
corresponde s sadas desejadas para cada exemplo vlido adicionado na matriz
X.
O Quadro 15 apresenta a funo adjustImage.m, onde a linha 5
corresponde converso para a escala de cinza9, a linha 2 ao redimensionamento
para dimenses padro e a linha 8 ao redesenho da matriz de pixel em uma nica
linha10. Feito isso, retornado o vetor com os valores dos atributos do exemplo
9
54
atual.
55
de treinamento, validao e teste (X, Xval, Xtest, y, yval, ytest), de acordo com a
proporo desejada.
As variveis definidas nessa funo so gravadas em um arquivo nomeado
por dataset.mat. Esse tipo de arquivo (.mat) armazena dados em binrio (no
legveis por humanos) e um formato interno do MATLAB (THE MATHWORKS
INC, 2014). Dessa forma, em qualquer momento pode ser utilizado o comando load
para carregar as variveis desse arquivo para o ambiente do Octave.
Arquitetura da RNA
Conforme descrito no item 2.4.3, a definio da arquitetura da rede MLP
56
Treinamento da RNA
Definidos o conjunto de dados para treinamento e a arquitetura da rede,
57
% Inicializao
3
4
5
fprintf('Carregando e visualizando os
dados...\n')
fflush(stdout);
load dataset.mat;
7
8
% Variaveis
input_layer_size = size(X,2);
% Camada de entrada
10 hidden_layer_size = 25;
% Camada intermediria
11 output_layer_size = 1;
% Camada de sada
12 image_height = image_width =
sqrt(input_layer_size);
13 lambda = 0.16;
14
15 X = [X; Xval];
16 y = [y; yval];
Fonte: elaborado pelo autor
58
epsilon_init = 0.12;
4
5
end
Fonte: elaborado pelo autor
59
3
4
5
6
m = size(X, 1);
J = 0;
Theta1_grad = zeros(size(Theta1));
Theta2_grad = zeros(size(Theta2));
10 X = [ones(m, 1) X];
11 % continuao no Quadro 19
Fonte: elaborado pelo autor
60
61
8
9 [nn_params, cost] = fmincg(costFunction, initial_nn_params, options);
Fonte: elaborado pelo autor
62
Avaliao do treinamento
Neste momento, o vetor nn_params contendo os valores de Theta1 e
63
Curva de aprendizado
Para avaliar a necessidade de adquirir mais exemplos para treinamento
64
m = size(X, 1);
loop = m/100;
error_train = zeros(loop, 1);
error_val = zeros(loop, 1);
for i = 1:loop
j=i*100;
theta = runTraining(X(1:j,:),y(1:j),lambda,i_size,h_size,o_size);
error_train(i) = nnCostFunction(theta,i_size,h_size,o_size,X(1:j,:),y(1:j),0);
error_val(i) = nnCostFunction(theta,i_size,h_size,o_size,Xval,yval,0);
end
plot(1:loop, error_train, 1:loop, error_val);
title('Curva de aprendizado')
legend('Train', 'Cross Validation')
xlabel('Nmero de exemplos (intervalo corresponde a 100 exemplos)')
ylabel('Erro')
Fonte: elaborado pelo autor
3.2
Testes e Resultados
Durante todo o projeto, uma srie de alteraes e tentativas foi realizada,
tanto nos cdigos quanto nos dados, a fim de melhorar a sua preciso. Essas
65
66
13
67
Qtde. de
dados
avaliados
N de
unidades
na camada 1
N de
unidades
na camada 2
Iteraes
Custo
final
Preciso
Data do
treinamento
7652
618
1024
25
0,16
100
0,14145
88,35
25/09/2014
7652
618
625
25
0,01
100
0,13341
87,38
24/09/2014
7410
823
676
25
0,16
100
0,1481
87,36
19/10/2014
7751
627
484
25
100
0,22904
87,24
19/09/2014
7751
627
625
40
0.64
100
0,23657
87,08
18/09/2014
7652
618
625
25
0,01
100
0,30163
86,73
23/09/2014
7652
618
1024
35
1.24
100
0,14985
86,57
26/09/2014
7652
618
625
25
0,24
100
0,18198
86,41
24/09/2014
7410
823
676
25
0,16
100
0,19163
86,27
19/10/2014
7652
618
1024
25
0.08
100
0,13307
85,92
25/09/2014
3.3
Concluso
O resultado que representou a melhor generalizao nos exemplos do
68
69
CONSIDERAES FINAIS
70
REFERNCIAS BIBLIOGRFICAS
ABERDEEN GROUP (Org.). What Is Your Most Effective Source of Hire? 2013.
Disponvel em: <http://web.jobvite.com/rs/jobvite/images/Aberdeen Sourcing Report.pdf>. Acesso em: 27 ago. 2014
ALPAYDIN, Ethem. Introduction to Machine Learning. [s.l]: The Mit Press,
2010. 584 p.
BISHOP, Christopher M.. Pattern Recognition and Machine Learning. New
York: Springer, 2006.
BRAGA, Antnio de Pdua; CARVALHO, Andr Carlos Ponce de Leon Ferreira
de; LUDERMIR, Teresa Bernarda. Redes neurais artificiais: teoria e aplicaes. 2.
ed. Rio de Janeiro: Livros Tcnicos e Cientficos, 2011. xii, 226 p.
BULLHORN (Org.). AN INSIDE LOOK AT SOCIAL RECRUITING IN THE
USA: THE BULLHORN REACH RANKINGS REPORT. 2012. Disponvel em:
<http://reach.bullhornreach.com/reach/cmsites/default/files/BullhornReachRankings
Report Final_0.pdf>. Acesso em: 27 ago. 2014.
CALDEIRA, Andr. Seu perfil no LinkedIn: qual a 1a impresso? 2014. Disponvel
em:
<http://exame.abril.com.br/rede-de-blogs/muito-trabalho-poucostress/2014/02/02/seu-perfil-no-linkedin-qual-a-1a-impressao/>. Acesso em: 27 ago.
2014.
CONCEIO, Daniel Tr da. Redes Neurais Artificiais Aplicadas ao Jogo da
Velha 3D em Pinos. 2009. 84 f. TCC (Graduao) - Curso de Tecnlogo da Informao e da Comunicao, Instituto Superior de Tecnologia em Cincia da Informao
de
Petrpolis,
Petrpolis,
2009.
Disponvel
em:
<http://www.lncc.br/~borges/doc/Redes Neurais Artificiais Aplicadas ao Jogo da
Velha 3D em Pinos.TCC.pdf>. Acesso em: 20 set. 2014.
DOYLE, Alison. How to Take and Choose a Good Profile Photo for Linkedin.
2014. Disponvel em: <http://jobsearch.about.com/od/tips/qt/linked-profilephoto.htm>. Acesso em: 27 ago. 2014.
EATON, John W.. About GNU Octave. 2013. Disponvel
<https://www.gnu.org/software/octave/about.html>. Acesso em: 20 out. 2014.
em:
EATON,
John
W..
GNU
Octave.
2013.
Disponvel
<https://www.gnu.org/software/octave/>. Acesso em: 20 out. 2014.
em:
HEMPEL, Jessi. How LinkedIn will fire up your career. 2010. Disponvel em:
<http://money.cnn.com/2010/03/24/technology/linkedin_social_networking.fortune/
>. Acesso em: 27 ago. 2014.
JOBVITE (Org.). Social Recruiting Survey Results 2013. 2013. Disponvel em:
<http://web.jobvite.com/rs/jobvite/images/Jobvite_2013_SocialRecruitingSurveyRe
sults.pdf>. Acesso em: 27 ago. 2014.
KLINE, Scott R.. A Professional Photographers Guide to Getting the Right
LinkedIn
Profile
Photo.
2014.
Disponvel
em:
<http://blog.linkedin.com/2014/07/14/a-professional-photographers-guide-togetting-the-right-linkedin-profile-photo/>. Acesso em: 05 dez. 2014.
LAKATOS, Eva Maria; MARCONI, Marina de Andrade. Tcnicas de pesquisa:
planejamento e execuo de pesquisas, amostragens e tcnicas de pesquisa, elaborao, anlise e interpretao de dados . 7. ed. So Paulo: Atlas, 2008. 277 p. ISBN
9788522451524.
LINKEDIN (Brasil) (Org.). LinkedIn - Tendncias globais em recrutamento para 2013: As cinco principais tendncias em atrao de talentos que voc precisa
saber.
2013.
Disponvel
em:
<http://pt.slideshare.net/linkedin-talentsolutions/global-recruiting-trends-2013-brazil-portuguese>. Acesso em: 27 ago.
2014.
LUGER, George F.. Artificial Intelligence: Structures and Strategies for Complex
Problem Solving. Massachusetts: Pearson Education, 2009. 754 p.
IDOETA, Paula Adamo. Redes sociais mudam a dinmica da busca por empregos.
2013.
Disponvel
em:
<http://www.bbc.co.uk/portuguese/noticias/2013/08/130808_redes_sociais_empreg
os_pai.shtml>. Acesso em: 27 ago. 2014
MAHONEY, Carol; LERMUSI, Yves. How to Measure and Improve Quality of
Hire: Results from a roundtable with Silicon Valley companies. 2010. Disponvel
em: <http://web.checkster.com/wp-content/uploads/2012/09/Checkster-Quality-ofHire-Roundtable.pdf>. Acesso em: 04 dez. 2014.
MARSLAND, Stephen. Machine Learning: An Algorithmic Perspective. [s.l]:
Chapman & Hall/CRC, 2009.
MITCHELL, Tom. Machine Learning. [s.l]: McGraw-Hill, 1997. 414 p.
NASH, Adam. A Photo is Worth a Thousand Words. 2007. Disponvel em:
<http://blog.linkedin.com/2007/09/27/a-pictures-wort/>. Acesso em: 27 ago. 2014.
NG, Andrew. Advice for applying machine learning: Learning curves. Disponvel
em: <https://class.coursera.org/ml-005/lecture/39>. Acesso em: 30 out. 2014.
em:
em:
NG,
Andrew.
Octave
Tutorial:
Vectorization.
Disponvel
<https://class.coursera.org/ml-005/lecture/30>. Acesso em: 30 out. 2014.
em:
PARENZA, Greice Kelly et al. Analisando o Papel das Redes Socias no Processo
de Recrutamento e Seleo: Um Estudo Multicaso em Empresas do Setor Metal
Mecnico.
2013.
Disponvel
em:
<http://semead6.tempsite.ws/16semead/resultado/trabalhosPDF/1038.pdf>. Acesso
em: 10 ago. 2014
RIBEIRO,
Thyago.
Multiplicao
de
Matrizes.
Disponvel
em:
<http://www.infoescola.com/matematica/operacoes-com-matrizes-multiplicacao/>.
Acesso em: 29 out. 2014
RUSSELL, Stuart; NORVIG, Peter. Artificial Intelligence: A Modern Approach. 3.
ed. New Jersey: Pearson Education, 2010. 1132 p.
RUSSELL, Stuart; NORVIG, Peter. Inteligncia artificial: traduo da segunda
edio. Campinas: Campus, 2004. 1021 p.
SEETHA, M. et al. ARTIFICIAL NEURAL NETWORKS AND OTHER METHODS OF IMAGE CLASSIFICATION. Journal Of Theoretical And Applied
Information Technology. [S.l], p. 1039-1053. nov 2008. Disponvel em:
<http://www.jatit.org/volumes/research-papers/Vol4No11/5Vol4No11.pdf>. Acesso
em: 19 ago. 2014
SKEELS, Meredith M.; GRUDIN, Jonathan. When Social Networks Cross
Boundaries: A Case Study of Workplace Use of Facebook and LinkedIn. 2009.
Disponvel
em:
<http://research.microsoft.com/enus/um/people/jgrudin/publications/newwave/socialnetworking2009.pdf>.
Acesso
em: 27 ago. 2014.
THAI, Le Hoang; HAI, Tran Son; THUY, Nguyen Thanh. Image Classification
using Support Vector Machine and Artificial Neural Network. International
Journal Of Information Technology And Computer Science. [S.l], p. 32-38.
maio 2012. Disponvel em: <http://www.mecs-press.org/ijitcs/ijitcs-v4-n5/IJITCSV4-N5-5.pdf>. Acesso em: 19 ago.
THE LADDERS. Keeping an eye on recruiter behavior: NEW STUDY CLARIFIES
RECRUITER
DECISION-MAKING.
2012.
Disponvel
em:
<http://cdn.theladders.net/static/images/basicSite/pdfs/TheLadders-EyeTrackingStudyC2.pdf>. Acesso em: 04 dez. 2014.
THE MATHWORKS INC (Ed.). MAT-File Format. Natick, Massachusetts (USA):
The
Mathworks,
Inc,
2014.
38
p.
Disponvel
em:
<http://www.mathworks.com/help/pdf_doc/matlab/matfile_format.pdf>. Acesso em:
27 out. 2014.