User Tools

Site Tools


gradient_descent

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
gradient_descent [2026/05/12 22:02] – [rs01] hkimscilgradient_descent [2026/05/12 22:02] (current) – [ro01] hkimscil
Line 872: Line 872:
 <tabbox ro01> <tabbox ro01>
 <code> <code>
- 
 > # 아래는 a 와 b 를 랜덤하게 정한 후 (rnorm) > # 아래는 a 와 b 를 랜덤하게 정한 후 (rnorm)
 > # 두 가지 일을 하게 된다. 첫 째는   > # 두 가지 일을 하게 된다. 첫 째는  
Line 942: Line 941:
 + } + }
  
-> mses 
- [1] 18.5823236 11.9374649  7.6828723  4.9587220  3.2144868  2.0976752  1.3825935  0.9247339  0.6315705 
-[10]  0.4438601  0.3236703  0.2467134  0.1974381  0.1658872  0.1456852  0.1327499  0.1244674  0.1191640 
-[19]  0.1157683  0.1135940  0.1122018  0.1113103  0.1107395  0.1103740  0.1101400  0.1099901  0.1098942 
-[28]  0.1098327  0.1097934  0.1097682  0.1097520  0.1097417  0.1097351  0.1097309  0.1097282  0.1097264 
-[37]  0.1097253  0.1097246  0.1097241  0.1097238  0.1097237  0.1097235  0.1097235  0.1097234  0.1097234 
-[46]  0.1097234  0.1097234  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233 
-[55]  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233 
-[64]  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233  0.1097233 
-[73]  0.1097233  0.1097233  0.1097233 
-> as 
- [1] -0.1210308  0.5352713  1.0603129  1.4803462  1.8163729  2.0851942  2.3002513  2.4722969  2.6099334 
-[10]  2.7200426  2.8081300  2.8785999  2.9349758  2.9800766  3.0161571  3.0450216  3.0681132  3.0865865 
-[19]  3.1013651  3.1131880  3.1226463  3.1302129  3.1362662  3.1411089  3.1449830  3.1480823  3.1505617 
-[28]  3.1525453  3.1541321  3.1554016  3.1564172  3.1572296  3.1578796  3.1583996  3.1588156  3.1591484 
-[37]  3.1594146  3.1596276  3.1597980  3.1599343  3.1600433  3.1601305  3.1602003  3.1602562  3.1603008 
-[46]  3.1603366  3.1603652  3.1603880  3.1604063  3.1604210  3.1604327  3.1604420  3.1604495  3.1604555 
-[55]  3.1604603  3.1604642  3.1604672  3.1604697  3.1604716  3.1604732  3.1604745  3.1604755  3.1604763 
-[64]  3.1604769  3.1604774  3.1604779  3.1604782  3.1604784  3.1604787  3.1604788  3.1604790  3.1604791 
-[73]  3.1604792  3.1604792  3.1604793 
-> bs 
- [1] -0.882887399 -0.678061874 -0.513791804 -0.382047207 -0.276388041 -0.191649390 -0.123688991 
- [8] -0.069184752 -0.025472351  0.009584993  0.037700984  0.060250009  0.078334326  0.092837949 
-[15]  0.104469854  0.113798642  0.121280331  0.127280644  0.132092896  0.135952322  0.139047582 
-[22]  0.141529980  0.143520863  0.145117551  0.146398096  0.147425092  0.148248743  0.148909311 
-[29]  0.149439087  0.149863967  0.150204721  0.150478005  0.150697180  0.150872957  0.151013931 
-[36]  0.151126992  0.151217667  0.151290388  0.151348711  0.151395485  0.151432999  0.151463084 
-[43]  0.151487213  0.151506564  0.151522084  0.151534530  0.151544513  0.151552518  0.151558939 
-[50]  0.151564088  0.151568218  0.151571530  0.151574187  0.151576317  0.151578026  0.151579396 
-[57]  0.151580495  0.151581376  0.151582083  0.151582650  0.151583104  0.151583469  0.151583762 
-[64]  0.151583996  0.151584184  0.151584335  0.151584456  0.151584553  0.151584631  0.151584693 
-[71]  0.151584743  0.151584783  0.151584816  0.151584841  0.151584862 
- 
-> ep 
- [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 
-[34] 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 
-[67] 67 68 69 70 71 72 73 74 75 
-> das 
- [1] -8.203776e+00 -6.563021e+00 -5.250416e+00 -4.200333e+00 -3.360267e+00 -2.688213e+00 -2.150571e+00 
- [8] -1.720456e+00 -1.376365e+00 -1.101092e+00 -8.808737e-01 -7.046990e-01 -5.637592e-01 -4.510073e-01 
-[15] -3.608059e-01 -2.886447e-01 -2.309158e-01 -1.847326e-01 -1.477861e-01 -1.182289e-01 -9.458309e-02 
-[22] -7.566648e-02 -6.053318e-02 -4.842654e-02 -3.874124e-02 -3.099299e-02 -2.479439e-02 -1.983551e-02 
-[29] -1.586841e-02 -1.269473e-02 -1.015578e-02 -8.124626e-03 -6.499701e-03 -5.199761e-03 -4.159809e-03 
-[36] -3.327847e-03 -2.662277e-03 -2.129822e-03 -1.703858e-03 -1.363086e-03 -1.090469e-03 -8.723751e-04 
-[43] -6.979001e-04 -5.583200e-04 -4.466560e-04 -3.573248e-04 -2.858599e-04 -2.286879e-04 -1.829503e-04 
-[50] -1.463603e-04 -1.170882e-04 -9.367056e-05 -7.493645e-05 -5.994916e-05 -4.795933e-05 -3.836746e-05 
-[57] -3.069397e-05 -2.455518e-05 -1.964414e-05 -1.571531e-05 -1.257225e-05 -1.005780e-05 -8.046240e-06 
-[64] -6.436992e-06 -5.149594e-06 -4.119675e-06 -3.295740e-06 -2.636592e-06 -2.109273e-06 -1.687419e-06 
-[71] -1.349935e-06 -1.079948e-06 -8.639584e-07 -6.911667e-07 -5.529334e-07 
-> dbs 
- [1] -2.553934e+00 -2.048255e+00 -1.642701e+00 -1.317446e+00 -1.056592e+00 -8.473865e-01 -6.796040e-01 
- [8] -5.450424e-01 -4.371240e-01 -3.505734e-01 -2.811599e-01 -2.254902e-01 -1.808432e-01 -1.450362e-01 
-[15] -1.163191e-01 -9.328788e-02 -7.481688e-02 -6.000314e-02 -4.812252e-02 -3.859426e-02 -3.095260e-02 
-[22] -2.482398e-02 -1.990883e-02 -1.596688e-02 -1.280544e-02 -1.026996e-02 -8.236511e-03 -6.605682e-03 
-[29] -5.297757e-03 -4.248801e-03 -3.407538e-03 -2.732846e-03 -2.191742e-03 -1.757777e-03 -1.409737e-03 
-[36] -1.130609e-03 -9.067487e-04 -7.272125e-04 -5.832244e-04 -4.677460e-04 -3.751323e-04 -3.008561e-04 
-[43] -2.412866e-04 -1.935118e-04 -1.551965e-04 -1.244676e-04 -9.982301e-05 -8.005805e-05 -6.420656e-05 
-[50] -5.149366e-05 -4.129791e-05 -3.312093e-05 -2.656298e-05 -2.130351e-05 -1.708542e-05 -1.370250e-05 
-[57] -1.098941e-05 -8.813506e-06 -7.068432e-06 -5.668882e-06 -4.546444e-06 -3.646248e-06 -2.924291e-06 
-[64] -2.345281e-06 -1.880915e-06 -1.508494e-06 -1.209812e-06 -9.702695e-07 -7.781561e-07 -6.240812e-07 
-[71] -5.005131e-07 -4.014115e-07 -3.219321e-07 -2.581895e-07 -2.070680e-07 
 > tmp <- data.frame(ep, das, as, dbs, bs, mse) > tmp <- data.frame(ep, das, as, dbs, bs, mse)
 > tmp > tmp
-   ep           das         as           dbs           bs      mse +   ep           das         as          dbs        bs      mse 
-1   1 -8.203776e+00 -0.1210308 -2.553934e+00 -0.882887399 18404982 +1   1 -8.349964e+00 -0.1795060 6.595337e-01 0.4187294 18404982 
-2   2 -6.563021e+00  0.5352713 -2.048255e+00 -0.678061874 18404982 +2   2 -6.679971e+00  0.4884911 5.289460e-01 0.3658348 18404982 
-3   3 -5.250416e+00  1.0603129 -1.642701e+00 -0.513791804 18404982 +3   3 -5.343977e+00  1.0228888 4.242147e-01 0.3234133 18404982 
-4   4 -4.200333e+00  1.4803462 -1.317446e+00 -0.382047207 18404982 +4   4 -4.275181e+00  1.4504069 3.402202e-01 0.2893913 18404982 
-5   5 -3.360267e+00  1.8163729 -1.056592e+00 -0.276388041 18404982 +5   5 -3.420145e+00  1.7924215 2.728566e-01 0.2621057 18404982 
-6   6 -2.688213e+00  2.0851942 -8.473865e-01 -0.191649390 18404982 +6   6 -2.736116e+00  2.0660331 2.188310e-01 0.2402226 18404982 
-7   7 -2.150571e+00  2.3002513 -6.796040e-01 -0.123688991 18404982 +7   7 -2.188893e+00  2.2849224 1.755025e-01 0.2226723 18404982 
-8   8 -1.720456e+00  2.4722969 -5.450424e-01 -0.069184752 18404982 +8   8 -1.751114e+00  2.4600338 1.407530e-01 0.2085970 18404982 
-9   9 -1.376365e+00  2.6099334 -4.371240e-01 -0.025472351 18404982 +9   9 -1.400891e+00  2.6001229 1.128839e-01 0.1973086 18404982 
-10 10 -1.101092e+00  2.7200426 -3.505734e-01  0.009584993 18404982 +10 10 -1.120713e+00  2.7121942 9.053288e-02 0.1882553 18404982 
-11 11 -8.808737e-01  2.8081300 -2.811599e-01  0.037700984 18404982 +11 11 -8.965705e-01  2.8018513 7.260737e-02 0.1809946 18404982 
-12 12 -7.046990e-01  2.8785999 -2.254902e-01  0.060250009 18404982 +12 12 -7.172564e-01  2.8735769 5.823111e-02 0.1751715 18404982 
-13 13 -5.637592e-01  2.9349758 -1.808432e-01  0.078334326 18404982 +13 13 -5.738051e-01  2.9309574 4.670135e-02 0.1705014 18404982 
-14 14 -4.510073e-01  2.9800766 -1.450362e-01  0.092837949 18404982 +14 14 -4.590441e-01  2.9768619 3.745448e-02 0.1667559 18404982 
-15 15 -3.608059e-01  3.0161571 -1.163191e-01  0.104469854 18404982 +15 15 -3.672353e-01  3.0135854 3.003849e-02 0.1637521 18404982 
-16 16 -2.886447e-01  3.0450216 -9.328788e-02  0.113798642 18404982 +16 16 -2.937882e-01  3.0429642 2.409087e-02 0.1613430 18404982 
-17 17 -2.309158e-01  3.0681132 -7.481688e-02  0.121280331 18404982 +17 17 -2.350306e-01  3.0664673 1.932088e-02 0.1594109 18404982 
-18 18 -1.847326e-01  3.0865865 -6.000314e-02  0.127280644 18404982 +18 18 -1.880245e-01  3.0852697 1.549535e-02 0.1578613 18404982 
-19 19 -1.477861e-01  3.1013651 -4.812252e-02  0.132092896 18404982 +19 19 -1.504196e-01  3.1003117 1.242727e-02 0.1566186 18404982 
-20 20 -1.182289e-01  3.1131880 -3.859426e-02  0.135952322 18404982 +20 20 -1.203357e-01  3.1123452 9.966668e-03 0.1556220 18404982 
-21 21 -9.458309e-02  3.1226463 -3.095260e-02  0.139047582 18404982 +21 21 -9.626853e-02  3.1219721 7.993268e-03 0.1548226 18404982 
-22 22 -7.566648e-02  3.1302129 -2.482398e-02  0.141529980 18404982 +22 22 -7.701482e-02  3.1296736 6.410601e-03 0.1541816 18404982 
-23 23 -6.053318e-02  3.1362662 -1.990883e-02  0.143520863 18404982 +23 23 -6.161186e-02  3.1358348 5.141302e-03 0.1536674 18404982 
-24 24 -4.842654e-02  3.1411089 -1.596688e-02  0.145117551 18404982 +24 24 -4.928949e-02  3.1407637 4.123324e-03 0.1532551 18404982 
-25 25 -3.874124e-02  3.1449830 -1.280544e-02  0.146398096 18404982 +25 25 -3.943159e-02  3.1447069 3.306906e-03 0.1529244 18404982 
-26 26 -3.099299e-02  3.1480823 -1.026996e-02  0.147425092 18404982 +26 26 -3.154527e-02  3.1478614 2.652139e-03 0.1526592 18404982 
-27 27 -2.479439e-02  3.1505617 -8.236511e-03  0.148248743 18404982 +27 27 -2.523622e-02  3.1503850 2.127015e-03 0.1524465 18404982 
-28 28 -1.983551e-02  3.1525453 -6.605682e-03  0.148909311 18404982 +28 28 -2.018897e-02  3.1524039 1.705866e-03 0.1522759 18404982 
-29 29 -1.586841e-02  3.1541321 -5.297757e-03  0.149439087 18404982 +29 29 -1.615118e-02  3.1540190 1.368105e-03 0.1521391 18404982 
-30 30 -1.269473e-02  3.1554016 -4.248801e-03  0.149863967 18404982 +30 30 -1.292094e-02  3.1553111 1.097220e-03 0.1520294 18404982 
-31 31 -1.015578e-02  3.1564172 -3.407538e-03  0.150204721 18404982 +31 31 -1.033675e-02  3.1563448 8.799704e-04 0.1519414 18404982 
-32 32 -8.124626e-03  3.1572296 -2.732846e-03  0.150478005 18404982 +32 32 -8.269403e-03  3.1571717 7.057362e-04 0.1518708 18404982 
-33 33 -6.499701e-03  3.1578796 -2.191742e-03  0.150697180 18404982 +33 33 -6.615523e-03  3.1578333 5.660005e-04 0.1518142 18404982 
-34 34 -5.199761e-03  3.1583996 -1.757777e-03  0.150872957 18404982 +34 34 -5.292418e-03  3.1583625 4.539324e-04 0.1517688 18404982 
-35 35 -4.159809e-03  3.1588156 -1.409737e-03  0.151013931 18404982 +35 35 -4.233935e-03  3.1587859 3.640538e-04 0.1517324 18404982 
-36 36 -3.327847e-03  3.1591484 -1.130609e-03  0.151126992 18404982 +36 36 -3.387148e-03  3.1591246 2.919711e-04 0.1517032 18404982 
-37 37 -2.662277e-03  3.1594146 -9.067487e-04  0.151217667 18404982 +37 37 -2.709718e-03  3.1593956 2.341608e-04 0.1516798 18404982 
-38 38 -2.129822e-03  3.1596276 -7.272125e-04  0.151290388 18404982 +38 38 -2.167774e-03  3.1596124 1.877970e-04 0.1516610 18404982 
-39 39 -1.703858e-03  3.1597980 -5.832244e-04  0.151348711 18404982 +39 39 -1.734220e-03  3.1597858 1.506132e-04 0.1516460 18404982 
-40 40 -1.363086e-03  3.1599343 -4.677460e-04  0.151395485 18404982 +40 40 -1.387376e-03  3.1599245 1.207918e-04 0.1516339 18404982 
-41 41 -1.090469e-03  3.1600433 -3.751323e-04  0.151432999 18404982 +41 41 -1.109901e-03  3.1600355 9.687500e-05 0.1516242 18404982 
-42 42 -8.723751e-04  3.1601305 -3.008561e-04  0.151463084 18404982 +42 42 -8.879204e-04  3.1601243 7.769375e-05 0.1516164 18404982 
-43 43 -6.979001e-04  3.1602003 -2.412866e-04  0.151487213 18404982 +43 43 -7.103363e-04  3.1601954 6.231039e-05 0.1516102 18404982 
-44 44 -5.583200e-04  3.1602562 -1.935118e-04  0.151506564 18404982 +44 44 -5.682691e-04  3.1602522 4.997293e-05 0.1516052 18404982 
-45 45 -4.466560e-04  3.1603008 -1.551965e-04  0.151522084 18404982 +45 45 -4.546153e-04  3.1602977 4.007829e-05 0.1516012 18404982 
-46 46 -3.573248e-04  3.1603366 -1.244676e-04  0.151534530 18404982 +46 46 -3.636922e-04  3.1603340 3.214279e-05 0.1515980 18404982 
-47 47 -2.858599e-04  3.1603652 -9.982301e-05  0.151544513 18404982 +47 47 -2.909538e-04  3.1603631 2.577852e-05 0.1515954 18404982 
-48 48 -2.286879e-04  3.1603880 -8.005805e-05  0.151552518 18404982 +48 48 -2.327630e-04  3.1603864 2.067437e-05 0.1515933 18404982 
-49 49 -1.829503e-04  3.1604063 -6.420656e-05  0.151558939 18404982 +49 49 -1.862104e-04  3.1604050 1.658085e-05 0.1515917 18404982 
-50 50 -1.463603e-04  3.1604210 -5.149366e-05  0.151564088 18404982 +50 50 -1.489683e-04  3.1604199 1.329784e-05 0.1515903 18404982 
-51 51 -1.170882e-04  3.1604327 -4.129791e-05  0.151568218 18404982 +51 51 -1.191747e-04  3.1604318 1.066487e-05 0.1515893 18404982 
-52 52 -9.367056e-05  3.1604420 -3.312093e-05  0.151571530 18404982 +52 52 -9.533973e-05  3.1604414 8.553223e-06 0.1515884 18404982 
-53 53 -7.493645e-05  3.1604495 -2.656298e-05  0.151574187 18404982 +53 53 -7.627178e-05  3.1604490 6.859685e-06 0.1515877 18404982 
-54 54 -5.994916e-05  3.1604555 -2.130351e-05  0.151576317 18404982 +54 54 -6.101743e-05  3.1604551 5.501467e-06 0.1515872 18404982 
-55 55 -4.795933e-05  3.1604603 -1.708542e-05  0.151578026 18404982 +55 55 -4.881394e-05  3.1604600 4.412177e-06 0.1515867 18404982 
-56 56 -3.836746e-05  3.1604642 -1.370250e-05  0.151579396 18404982 +56 56 -3.905115e-05  3.1604639 3.538566e-06 0.1515864 18404982 
-57 57 -3.069397e-05  3.1604672 -1.098941e-05  0.151580495 18404982 +57 57 -3.124092e-05  3.1604670 2.837930e-06 0.1515861 18404982 
-58 58 -2.455518e-05  3.1604697 -8.813506e-06  0.151581376 18404982 +58 58 -2.499274e-05  3.1604695 2.276020e-06 0.1515859 18404982 
-59 59 -1.964414e-05  3.1604716 -7.068432e-06  0.151582083 18404982 +59 59 -1.999419e-05  3.1604715 1.825368e-06 0.1515857 18404982 
-60 60 -1.571531e-05  3.1604732 -5.668882e-06  0.151582650 18404982 +60 60 -1.599535e-05  3.1604731 1.463945e-06 0.1515855 18404982 
-61 61 -1.257225e-05  3.1604745 -4.546444e-06  0.151583104 18404982 +61 61 -1.279628e-05  3.1604744 1.174084e-06 0.1515854 18404982 
-62 62 -1.005780e-05  3.1604755 -3.646248e-06  0.151583469 18404982 +62 62 -1.023703e-05  3.1604754 9.416152e-07 0.1515853 18404982 
-63 63 -8.046240e-06  3.1604763 -2.924291e-06  0.151583762 18404982 +63 63 -8.189621e-06  3.1604762 7.551754e-07 0.1515853 18404982 
-64 64 -6.436992e-06  3.1604769 -2.345281e-06  0.151583996 18404982 +64 64 -6.551696e-06  3.1604769 6.056507e-07 0.1515852 18404982 
-65 65 -5.149594e-06  3.1604774 -1.880915e-06  0.151584184 18404982 +65 65 -5.241357e-06  3.1604774 4.857318e-07 0.1515851 18404982 
-66 66 -4.119675e-06  3.1604779 -1.508494e-06  0.151584335 18404982 +66 66 -4.193086e-06  3.1604778 3.895569e-07 0.1515851 18404982 
-67 67 -3.295740e-06  3.1604782 -1.209812e-06  0.151584456 18404982 +67 67 -3.354469e-06  3.1604782 3.124247e-07 0.1515851 18404982 
-68 68 -2.636592e-06  3.1604784 -9.702695e-07  0.151584553 18404982 +68 68 -2.683575e-06  3.1604784 2.505646e-07 0.1515850 18404982 
-69 69 -2.109273e-06  3.1604787 -7.781561e-07  0.151584631 18404982 +69 69 -2.146860e-06  3.1604786 2.009528e-07 0.1515850 18404982 
-70 70 -1.687419e-06  3.1604788 -6.240812e-07  0.151584693 18404982 +70 70 -1.717488e-06  3.1604788 1.611641e-07 0.1515850 18404982 
-71 71 -1.349935e-06  3.1604790 -5.005131e-07  0.151584743 18404982 +71 71 -1.373990e-06  3.1604789 1.292536e-07 0.1515850 18404982 
-72 72 -1.079948e-06  3.1604791 -4.014115e-07  0.151584783 18404982 +72 72 -1.099192e-06  3.1604791 1.036614e-07 0.1515850 18404982 
-73 73 -8.639584e-07  3.1604792 -3.219321e-07  0.151584816 18404982 +73 73 -8.793538e-07  3.1604791 8.313646e-08 0.1515850 18404982 
-74 74 -6.911667e-07  3.1604792 -2.581895e-07  0.151584841 18404982 +74 74 -7.034830e-07  3.1604792 6.667544e-08 0.1515850 18404982 
-75 75 -5.529334e-07  3.1604793 -2.070680e-07  0.151584862 18404982+75 75 -5.627864e-07  3.1604793 5.347370e-08 0.1515850 18404982
  
 +> # 위의 루프를 이해했는지 체크하기
 > a.init > a.init
-[1] -0.9414084+[1] -1.014502
 > b.init > b.init
-[1] -1.138281+[1] 0.4846828
 > tmp.p <- predict(zx, a.init, b.init) > tmp.p <- predict(zx, a.init, b.init)
 > # a.init b.init 일 때의 미분 결과 > # a.init b.init 일 때의 미분 결과
Line 1092: Line 1031:
 > tmp.g > tmp.g
 $b $b
-[1] -2.553934+[1] 0.6595337
  
 $a $a
-[1] -8.203776+[1] -8.349964
  
  
 +> # 이 값에 learning rate 값을 곱한 후에
 > a.step <- tmp.g$a*learning.rate > a.step <- tmp.g$a*learning.rate
 > b.step <- tmp.g$b*learning.rate > b.step <- tmp.g$b*learning.rate
  
 +> # 이를 원래 a값에서 빼준 값을 다음 순서의
 > a.init <- a.init-a.step > a.init <- a.init-a.step
 > b.init <- b.init-b.step > b.init <- b.init-b.step
 +> # a, b값으로 쓰고, 이 때의 미분 값을 구한 후에
 +> # (루프 안에서), 미분 결과를 다시 learning rate
 +> # 로 곱해 준 값을 (두번째 단계의) a, b 값에서 
 +> # 빼 준 값을 다음 단계의 a, b값으로 쓰고, 다시
 +> # . . . . . . 위의 loop문은 이것을 75번 반복한 것
  
 > # scaled > # scaled
 +> # 이렇게 해서 구한 제일 마지막 a, b 값은 x 변인 대신에 
 +> # 표준화한 zx 변인을 사용해서 구한 값이므로 이 값을 
 +> # 다시 x 를 사용했을 때의 값으로 환원을 해야 한다 (unscale).
 > data.frame(a, b) > data.frame(a, b)
-                 +                
-1 3.160479 0.1515849+1 3.160479 0.151585
  
 > # unscale coefficients to make them comprehensible > # unscale coefficients to make them comprehensible
Line 1113: Line 1062:
 > # and  > # and 
 > # http://commres.net/wiki/gradient_descent#how_to_unnormalize_unscale_a_and_b > # http://commres.net/wiki/gradient_descent#how_to_unnormalize_unscale_a_and_b
-> #   
 > a =  a - (mean(x) / sd(x)) * b > a =  a - (mean(x) / sd(x)) * b
 > b =  b / sd(x) > b =  b / sd(x)
 > cat(" unscaled a:", a, "\n unscaled b:", b, "\n") > cat(" unscaled a:", a, "\n unscaled b:", b, "\n")
- unscaled a: 1.614429  + unscaled a: 1.614428  
- unscaled b: 0.01447617 + unscaled b: 0.01447618  
 +> # 아래 lm 결과와 확인
 > summary(mo) > summary(mo)
  
Line 1140: Line 1089:
  
  
-> # changes of estimators+> # 아래는 a와 b를 구하는 과정에서 저장했던 temporary 
 +> # a, b 값들은 (as, bs 변인 내의) 모두 unscale한 것
 > as <- as - (mean(x) /sd(x)) * bs > as <- as - (mean(x) /sd(x)) * bs
 > bs <- bs / sd(x) > bs <- bs / sd(x)
  
 > as > as
- [1] 8.883749 7.450986 6.300598 5.376937 4.635321 4.039872 3.561785 3.177929 2.869732 2.622283 2.423609 + [1] -4.45022736 -3.24274555 -2.27568113 -1.50116427 -0.88085678 -0.38405420  0.01383425  0.33250300 
-[122.264096 2.136025 2.033200 1.950644 1.884362 1.831146 1.788421 1.754118 1.726578 1.704467 1.686715 + [9 0.58772512  0.79213308  0.95584412  1.08696106  1.19197340  1.27607853  1.34343904  1.39738872 
-[23] 1.672463 1.661020 1.651834 1.644459 1.638537 1.633784 1.629967 1.626903 1.624443 1.622468 1.620883 +[17]  1.44059760  1.47520412  1.50292095  1.52511976  1.54289914  1.55713894  1.56854386  1.57767829 
-[34] 1.619610 1.618588 1.617768 1.617109 1.616581 1.616156 1.615816 1.615542 1.615322 1.615146 1.615004 +[25]  1.58499424  1.59085375  1.59554676  1.59930551  1.60231600  1.60472717  1.60665835  1.60820509 
-[45] 1.614891 1.614800 1.614726 1.614668 1.614620 1.614583 1.614552 1.614528 1.614508 1.614492 1.614480 +[33]  1.60944392  1.61043613  1.61123083  1.61186734  1.61237714  1.61278545  1.61311249  1.61337442 
-[56] 1.614470 1.614462 1.614455 1.614450 1.614446 1.614442 1.614439 1.614437 1.614436 1.614434 1.614433 +[41 1.61358422  1.61375225  1.61388684  1.61399463  1.61408097  1.61415012  1.61420551  1.61424987 
-[67] 1.614432 1.614431 1.614431 1.614430 1.614430 1.614430 1.614429 1.614429 1.614429+[49]  1.61428541  1.61431387  1.61433666  1.61435492  1.61436954  1.61438126  1.61439064  1.61439815 
 +[57]  1.61440417  1.61440899  1.61441285  1.61441594  1.61441842  1.61442041  1.61442199  1.61442327 
 +[65 1.61442429  1.61442510  1.61442576  1.61442628  1.61442670  1.61442704  1.61442731  1.61442752 
 +[73]  1.61442769  1.61442783  1.61442794
 > bs > bs
- [1] -0.0843146613 -0.0647540755 -0.0490664857 -0.0364850387 -0.0263947182 -0.0183022811 -0.0118121466 + [1] 0.03998814 0.03493677 0.03088558 0.02763651 0.02503077 0.02294096 0.02126493 0.01992076 0.01884273 
- [8-0.0066070587 -0.0024325783  0.0009153551  0.0036003976  0.0057538017  0.0074808319  0.0088659100 +[10] 0.01797815 0.01728476 0.01672866 0.01628267 0.01592498 0.01563812 0.01540805 0.01522354 0.01507556 
-[15]  0.0099767427  0.0108676305  0.0115821225  0.0121551451  0.0126147092  0.0129832796  0.0132788731 +[19] 0.01495689 0.01486170 0.01478537 0.01472415 0.01467505 0.01463567 0.01460409 0.01457877 0.01455845 
-[22]  0.0135159391  0.0137060660  0.0138585478  0.0139808382  0.0140789151  0.0141575727  0.0142206562 +[28] 0.01454216 0.01452910 0.01451862 0.01451021 0.01450348 0.01449807 0.01449373 0.01449026 0.01448747 
-[29]  0.0142712491  0.0143118246  0.0143443662  0.0143704645  0.0143913954  0.0144081820  0.0144216448 +[37] 0.01448523 0.01448344 0.01448200 0.01448085 0.01447992 0.01447918 0.01447859 0.01447811 0.01447773 
-[36 0.0144324420  0.0144411013  0.0144480461  0.0144536158  0.0144580827  0.0144616652  0.0144645383 +[46] 0.01447742 0.01447717 0.01447698 0.01447682 0.01447669 0.01447659 0.01447651 0.01447644 0.01447639 
-[43]  0.0144668426  0.0144686906  0.0144701727  0.0144713614  0.0144723147  0.0144730792  0.0144736924 +[55] 0.01447635 0.01447631 0.01447629 0.01447626 0.01447625 0.01447623 0.01447622 0.01447621 0.01447621 
-[50]  0.0144741841  0.0144745785  0.0144748948  0.0144751485  0.0144753519  0.0144755151  0.0144756460 +[64] 0.01447620 0.01447619 0.01447619 0.01447619 0.01447619 0.01447618 0.01447618 0.01447618 0.01447618 
-[57]  0.0144757509  0.0144758351  0.0144759026  0.0144759567  0.0144760001  0.0144760350  0.0144760629 +[73] 0.01447618 0.01447618 0.01447618
-[64]  0.0144760853  0.0144761032  0.0144761177  0.0144761292  0.0144761385  0.0144761459  0.0144761519 +
-[71]  0.0144761566  0.0144761605  0.0144761636  0.0144761660  0.0144761680+
  
 +> # 이것을 그래프로 나타내기 위해서 parameters 라는 
 +> # 변인으로 저장
 +> # 이하 if 문들은 그래프에 처음 a, b값과 루프 문에서의
 +> # 그 값들이 변화하는 것을 모두 나타내기 위해서 사용한 
 +> # 것으로 결과와 상관없다. 
 > parameters <- data.frame(as, bs, mses) > parameters <- data.frame(as, bs, mses)
  
 > cat(paste0("Intercept: ", a, "\n", "Slope: ", b, "\n")) > cat(paste0("Intercept: ", a, "\n", "Slope: ", b, "\n"))
-Intercept: 1.61442902414182 +Intercept: 1.61442794384896 
-Slope: 0.0144761679939984+Slope: 0.0144761780722265
 > summary(lm(y~x, data=sam))$coefficients > summary(lm(y~x, data=sam))$coefficients
               Estimate  Std. Error  t value     Pr(>|t|)               Estimate  Std. Error  t value     Pr(>|t|)
Line 1197: Line 1153:
 [1] 2.092215 [1] 2.092215
 > y.max > y.max
-[1] 8.883749+[1] 3.878048
 > y.min > y.min
-[1] 1.614429+[1] -4.450227
  
 > ggplot(sam, aes(x = x, y = y)) +  > ggplot(sam, aes(x = x, y = y)) + 
Line 1240: Line 1196:
  
 > data.frame(head(as), head(bs)) > data.frame(head(as), head(bs))
-  head.as.    head.bs. +    head.as.   head.bs. 
-8.883749 -0.08431466 +1 -4.4502274 0.03998814 
-7.450986 -0.06475408 +2 -3.2427456 0.03493677 
-6.300598 -0.04906649 +3 -2.2756811 0.03088558 
-5.376937 -0.03648504 +4 -1.5011643 0.02763651 
-4.635321 -0.02639472 +5 -0.8808568 0.02503077 
-4.039872 -0.01830228+6 -0.3840542 0.02294096
 > data.frame(tail(as), tail(bs)) > data.frame(tail(as), tail(bs))
   tail.as.   tail.bs.   tail.as.   tail.bs.
-1 1.614430 0.01447615 +1 1.614427 0.01447618 
-2 1.614430 0.01447616 +2 1.614427 0.01447618 
-3 1.614430 0.01447616 +3 1.614428 0.01447618 
-4 1.614429 0.01447616 +4 1.614428 0.01447618 
-5 1.614429 0.01447617 +5 1.614428 0.01447618 
-6 1.614429 0.01447617+6 1.614428 0.01447618
 > a > a
-[1] 1.614429+[1] 1.614428
 > b > b
-[1] 0.01447617+[1] 0.01447618
  
 > ggplot(sam, aes(x = x, y = y)) +  > ggplot(sam, aes(x = x, y = y)) + 
Line 1269: Line 1225:
 +   theme_classic() + +   theme_classic() +
 +   labs(title = 'Gradient descent. blue: start, red: end, green: gradients') +   labs(title = 'Gradient descent. blue: start, red: end, green: gradients')
-+>
 </code> </code>
  
gradient_descent.1778623341.txt.gz · Last modified: by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki