Aumentando a base de dados de reconhecimento de dígitos

Heitor Victor

2019-10-05

Neste relatório será praticado um pouco de feature engineering utilizando a base de dados dos digítos. O dataset terá suas dimensões aumentadas tanto em linhas quanto em colunas.

Criando novas colunas

Para criar novas colunas para o dataset, será utilizada a transformada dct (discrete cosine transformation) bi-dimensional (para matrizes). A transformada dct é muito útil pois ela comprime toda a informação contida em uma matriz p x p nas coordenadas iniciais desta matriz, entregando uma perda mínima de informação. Esta transformada pode ser aplicada em imagens, já que uma imagem é, na verdade uma matriz.

A transformada dct é dada pela equação

\[ {\displaystyle G_{ij}={\frac {1}{\sqrt {2n}}}C_{i}C_{j}\sum _{x=0}^{n-1}\sum _{y=0}^{n-1}p_{xy}\cos {\left({\frac {(2y+1)j\pi }{2n}}\right)}\cos {\left({\frac {(2x+1)i\pi }{2n}}\right)},} \text{ para } {\displaystyle 0\leq i,j\leq n-1}{\displaystyle 0\leq i,j\leq n-1} \]

onde

\[ {\displaystyle C_{f}={\begin{cases}{\frac {1}{\sqrt {n}}},&f=0\\{\sqrt {2/n}},&f>0\end{cases}}} \]

Essa transformada pode ser considerada como uma rotação (ou duas rotações consecutivas, uma em cada dimensão), ou ainda como uma base ortogonal num espaço vetorial de n dimensões. Essa transformação resulta em uma matriz onde os coeficientes mais significativos se acumulam no canto superior esquerdo (início da matriz) e os demais coeficientes são de pequeno valor.

Como exemplo, esta imagem com o número 4 será utilizada.

Lembrando que as imagens do dataset dos digítos possui dimensões 28x28. Sendo assim, temos que transformar essa imagem também.

A transformada dct pode ser conseguida com o pacote mrbsizeR. A seguir a imagem com a transformada.

##            [,1]       [,2]       [,3]       [,4]        [,5]         [,6]
## [1,] 14.6076199 -4.5645468  3.4969950 -2.0505122  1.76151762 -1.064669321
## [2,] -4.3254878  1.2502970 -1.1786136  0.8242283 -0.67939971  0.125765390
## [3,]  3.2526548 -1.0040006  0.4610961 -0.5660329  0.31609599 -0.127314537
## [4,] -1.9967154  0.7137687 -0.3873121  0.1647508 -0.08955135  0.280065689
## [5,]  1.6220781 -0.5877768  0.4228431 -0.1151111  0.36171900 -0.141957523
## [6,] -0.9754082  0.2528617 -0.3330893  0.2174282 -0.10407070  0.005715265
##             [,7]        [,8]        [,9]       [,10]       [,11]
## [1,]  1.18264071 -0.87315159  1.06842527 -0.53573326  0.72475593
## [2,] -0.20817782  0.47162324 -0.48204884  0.05110212 -0.08230965
## [3,]  0.39021830 -0.19949399  0.15283326 -0.02094665  0.15909403
## [4,] -0.27259840 -0.01741389 -0.08791830  0.06843048 -0.13049810
## [5,] -0.02235212 -0.17247039  0.16905712 -0.03589557  0.09483385
## [6,] -0.16425933  0.06274141  0.04646826  0.13132130 -0.13747906
##            [,12]       [,13]       [,14]       [,15]        [,16]
## [1,] -0.33494101  0.76477053 -0.33414532  0.50878821 -0.115336241
## [2,]  0.15992513 -0.39135700  0.07428731 -0.03911883  0.037056011
## [3,] -0.18679313  0.15006594  0.01148055  0.06813739 -0.079910844
## [4,]  0.08868334 -0.04209940  0.01506061 -0.07489318  0.046780695
## [5,] -0.02762839  0.07777365 -0.02803413  0.08611839 -0.033035045
## [6,] -0.05959185 -0.01123332  0.04956096 -0.08141875  0.005801358
##             [,17]        [,18]       [,19]       [,20]       [,21]
## [1,]  0.522557945 -0.201776202  0.40100108  0.03751185  0.35548093
## [2,] -0.254975307  0.097553159 -0.05810649 -0.05513207 -0.14430668
## [3,]  0.170354093  0.009692337  0.01718119 -0.01836287  0.14257576
## [4,] -0.072296229 -0.031554510 -0.04037120  0.04741622 -0.07581406
## [5,]  0.021812453 -0.001435987  0.07801964 -0.02603729  0.01781957
## [6,] -0.009104959  0.028723883 -0.02826471 -0.01836514 -0.03129389
##             [,22]        [,23]       [,24]        [,25]        [,26]
## [1,] -0.053860443  0.337048151  0.11256908  0.219397198  0.093651414
## [2,]  0.061610089 -0.112112068 -0.06624514 -0.042705843 -0.021231339
## [3,] -0.009092404 -0.009493222  0.03276980  0.118488023 -0.015341206
## [4,] -0.036954437  0.024127862  0.01294442 -0.101639648  0.004786173
## [5,]  0.027576029  0.055715844 -0.01160915  0.014826450  0.032426706
## [6,]  0.026337054 -0.032848136 -0.03343909 -0.005380708  0.004070082
##            [,27]        [,28]
## [1,]  0.23867352  0.144493489
## [2,] -0.10602619 -0.023284585
## [3,] -0.01721723  0.083738648
## [4,]  0.04247120 -0.075375750
## [5,]  0.03891602 -0.001004663
## [6,] -0.03225029 -0.001783210

Veja que o maior coeficiente é o elemento [1,1] da matriz com transformação, como era de se esperar.