{"id":37955,"date":"2019-10-31T22:20:47","date_gmt":"2019-10-31T19:20:47","guid":{"rendered":"https:\/\/prohoster.info\/blog\/linejnaya-regressiya-i-metody-eyo-vosstanovleniya\/"},"modified":"2019-10-31T22:20:47","modified_gmt":"2019-10-31T19:20:47","slug":"linejnaya-regressiya-i-metody-eyo-vosstanovleniya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/linejnaya-regressiya-i-metody-eyo-vosstanovleniya","title":{"rendered":"Lineaarne regressioon ja selle taastamise meetodid","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/60ca67872405e9f15b151e958f04260d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Allikas: <noindex><a rel=\"nofollow\" href=\"https:\/\/xkcd.com\/1725\/\">xkcd<\/a><\/noindex><\/i><\/p>\n<p>Lineaarne regressioon on \u00fcks p\u00f5hilisi algoritme paljude valdkondade jaoks, mis on seotud andmete anal\u00fc\u00fcsiga. P\u00f5hjus on ilmne. See on v\u00e4ga lihtne ja arusaadav algoritm, mis soodustab selle laialdast kasutamist juba mitmeid k\u00fcmneid, kui mitte sadu, aastaid. Idee seisneb selles, et eeldame \u00fche muutuja lineaarset s\u00f5ltuvust hulga teiste muutujate arvelt ja seej\u00e4rel proovime seda s\u00f5ltuvust taastada.<\/p>\n<p>Kuid selles artiklis ei r\u00e4\u00e4gita lineaarse regressiooni rakendamisest praktiliste probleemide lahendamiseks. Siin k\u00e4sitleme huvitavaid omadusi jagatud algoritmide taastamisest, millega me kokku puutusime masin\u00f5ppe mooduli kirjutamise k\u00e4igus. <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/\">Apache Ignite<\/a><\/noindex>. Veidi p\u00f5himeetodeid, masin\u00f5ppe aluseid ja jaotatud arvutust aitab m\u00f5ista, kuidas taastada lineaarset regressiooni, isegi kui andmed on jagatud tuhandete s\u00f5lmedeni.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Millest jutt?<\/h3>\n<p>\nMeie ees on lineaarse s\u00f5ltuvuse taastamise \u00fclesanne. Sisendandmetena antakse hulk vektoreid eeldatavalt s\u00f5ltumatutest muutujatest, millele vastab teatud v\u00e4\u00e4rtus s\u00f5ltumatule muutujale. Need andmed saab esitada kahe maatriksi kujul:<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/2ffbdd09fdc5efaf287fbb4935033302.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nN\u00fc\u00fcd, kuna eeldatakse s\u00f5ltuvust, ja lisaks sellele veel ka lineaarset, kirja me meie eeldust maatriksite korrutise kujul (kiri lihtsustamiseks ja edaspidi eeldatakse, et vaba liik on varjatud <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/21e90cb829e0bc2e12c836f7810c1b1a.png\" style=\"display:block;margin: 0 auto;\" \/>, ja viimane veerg maatriksis <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/25c0af2e153ae371e71588efe3bc2ee2.png\" style=\"display:block;margin: 0 auto;\" \/> sisaldab \u00fchte):<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/b1c3c8d2332ae27eedeef675178dee4f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nSee sarnaneb t\u00f5eliselt lineaarsete v\u00f5rrandite s\u00fcsteemiga, eks? T\u00f5epoolest, aga sellise v\u00f5rrandite s\u00fcsteemi lahendeid t\u00f5en\u00e4oliselt ei ole. P\u00f5hjus on m\u00fcra, mis esineb praktiliselt k\u00f5igis reaalsetes andmetes. Samuti v\u00f5ib p\u00f5hjus olla lineaarse s\u00f5ltuvuse puudumine, millega saab proovida v\u00f5idelda, lisades t\u00e4iendavaid muutujaid, mis s\u00f5ltuvad algsetest mittelineaarselt. Vaadake j\u00e4rgmisi n\u00e4iteid:<br \/>\n<img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/d449b8f931e91cc7b33634ee8d4a4329.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Allikas: <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Linear_regression\">Wikipedia<\/a><\/noindex><\/i><\/p>\n<p>See on lihtne lineaarse regressiooni n\u00e4ide, mis demonstreerib \u00fche muutuja (teljel <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/fdea97dff413fb13444d7fd8ab65ca0b.png\" style=\"display:block;margin: 0 auto;\" \/>) s\u00f5ltuvust teisest muutujast (teljel <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/edf9cb265e4e4655cd84fb8739843952.png\" style=\"display:block;margin: 0 auto;\" \/>). Ette, et vastav antud n\u00e4itele lineaarsete v\u00f5rrandite s\u00fcsteemil oleks lahendus, peavad k\u00f5ik punktid olema t\u00e4pselt \u00fchel ja samal joonel. Kuid see ei ole nii. Ja nad ei asu \u00fchel joonel just m\u00fcra t\u00f5ttu (v\u00f5i seet\u00f5ttu, et eeldus lineaarse s\u00f5ltuvuse olemasolu kohta oli vale). Seega, et taastada lineaarne s\u00f5ltuvus tegelike andmete p\u00f5hjal, on tavaliselt vajalik lisada veel \u00fcks eeldus: sisendandmed sisaldavad m\u00fcra ja see m\u00fcra on <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Normal_distribution\">normaaljaotusega<\/a><\/noindex>. V\u00f5ib teha eeldusi ka teiste m\u00fcra jaotuste t\u00fc\u00fcpide kohta, kuid valdavas enamuses juhtudest k\u00e4sitletakse just normaaljaotust, millest edasi r\u00e4\u00e4gitakse.<\/p>\n<h3>Maksimaalse t\u00f5en\u00e4osuse meetod<\/h3>\n<p>\nNii oleme eeldanud juhusliku normaaljaotusega m\u00fcra olemasolu. Kuidas sellises olukorras edasi toimida? Selleks on matemaatikas olemas ja laialdaselt kasutatakse <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Maximum_likelihood_estimation\">maksimaalse t\u00f5en\u00e4osuse meetodit<\/a><\/noindex>. L\u00fchidalt, selle olemus seisneb <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Likelihood_function\">t\u00f5en\u00e4osuse funktsiooni<\/a><\/noindex> valimises ja selle j\u00e4rgnevas maksimeerimises.<\/p>\n<p>Tagasi lineaarse s\u00f5ltuvuse taastamise juurde normaalsete m\u00fcraandmetega. T\u00e4hendab, et eeldatav lineaarne s\u00f5ltuvus on matemaatiline ootus <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/73cd24a6605bce1a4f38339ee8c61613.png\" style=\"display:block;margin: 0 auto;\" \/> olemasolevast normaaljaotusest. Samal ajal on t\u00f5en\u00e4osus, et <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/caaf32b1af58d748244acbab640bbab8.png\" style=\"display:block;margin: 0 auto;\" \/> v\u00f5tab mingit v\u00e4\u00e4rtust, s\u00f5ltuvalt tuvastatavatest <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/9cda87721bba4812b7cec96f204ff5f6.png\" style=\"display:block;margin: 0 auto;\" \/>, see n\u00e4eb v\u00e4lja j\u00e4rgmine:<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/7acbd6bff263d52773617904d3249a96.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nAsendame n\u00fc\u00fcd vajalikud muutujaid: <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/d5a167a87fa416e938678b2a80b353dc.png\" style=\"display:block;margin: 0 auto;\" \/> ja <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/330ad17be2629a5159b513ba95a96c72.png\" style=\"display:block;margin: 0 auto;\" \/> Peab veel leidma vektori<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/57531f93ee0d0050b1fbfc64419f44ad.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\n, mille puhul see t\u00f5en\u00e4osus on maksimaalne. Selle funktsiooni maksimeerimiseks on mugav k\u00f5igepealt see logaritmeerida (funktsiooni logaritm saavutab maksimumi samas kohas, kus ka funktsioon ise): <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/801ebcd43ae0bc0cf54bc0f68bdc21da.png\" style=\"display:block;margin: 0 auto;\" \/>Mis omakorda viib j\u00e4rgmise funktsiooni minimaalseteni:<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/7485448a44f8ee201254fea4208deb54.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nMuide, seda nimetatakse meetodiks<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/0957864e5dfbfc1147c24784df67af20.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nv\u00e4ikseimate ruutude meetod <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Linear_least_squares\">. Sageli j\u00e4etakse k\u00f5ik eespool toodud arutlused v\u00e4lja ja kasutatakse lihtsalt seda meetodit.<\/a><\/noindex>QR lagundamine<\/p>\n<h3>Eelneva funktsiooni miinimumi leidmiseks tuleb leida punkt, kus selle funktsiooni gradient on null. Gradient on j\u00e4rgmine:<\/h3>\n<p>\non maatriksite meetod, mida kasutatakse \u00fclesande optimeerimise lahendamiseks, mis on seotud v\u00e4ikseimate ruutude meetodiga. Seet\u00f5ttu kirjutame v\u00f5rrandi maatrikse kujul \u00fcmber:<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/1581c46f8fa625826ae2f76ec561dc3f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/QR_decomposition\">Eelneva funktsiooni miinimumi leidmiseks tuleb leida punkt, kus selle funktsiooni gradient on null. Gradient on j\u00e4rgmine:<\/a><\/noindex> Nii et me lagundame maatriksi<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/4ee809a96550577df855fbd57049a41c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nmaatriksideks <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/2fa2b32bef5246132da5b3b9bc713ab5.png\" style=\"display:block;margin: 0 auto;\" \/> konstruktsioonide <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/fd8c620c602ae49e8d6e39ef8b551d0b.png\" style=\"display:block;margin: 0 auto;\" \/> ja <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/32804631a9a2f8bff35d0bcf7c29bfc6.png\" style=\"display:block;margin: 0 auto;\" \/> ja teeme mitmeid transformatsioone (QR desimaalimise algoritmi siin ei k\u00e4sitleta, vaid ainult selle rakendust antud \u00fclesande jaoks):<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/56cfb4ed9126e632cba51940c0d9afe6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nMaatriks <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/106bb4d6704eb9f42078555c662a8b97.png\" style=\"display:block;margin: 0 auto;\" \/> on ortogonaalne. See v\u00f5imaldab meil vabaneda korrutisest <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/618077c012f7b81f23756b9c1e54eb73.png\" style=\"display:block;margin: 0 auto;\" \/>:<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/1715fb2e77d8be75e68e4791997aaa44.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nJa kui asendada <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/926c51120ec8608bf81dc8f36fcc3ef4.png\" style=\"display:block;margin: 0 auto;\" \/> . Tundub, et <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/9e578153ea2dc36d0eb86be4eedf4899.png\" style=\"display:block;margin: 0 auto;\" \/>, siis saadakse <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/8cd914db7317c01dc5449c70b36dba73.png\" style=\"display:block;margin: 0 auto;\" \/>. Arvestades, et <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/88fa4e81fc2bedf16e41e90e320a5647.png\" style=\"display:block;margin: 0 auto;\" \/> on \u00fclemine kolmnurkne maatriks, n\u00e4eb see v\u00e4lja j\u00e4rgmiselt:<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/689eaaece2a497c5bd02582e3e672a41.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nSeda saab lahendada asenduste meetodil. Element <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/e163597c97a539238731c31ca5ce011b.png\" style=\"display:block;margin: 0 auto;\" \/> leidub kui <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/211d86418c9a38f164f490b1a7b5fb71.png\" style=\"display:block;margin: 0 auto;\" \/>, eelmine element <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/ed3742b3a7cfb14bad801485a8cf01df.png\" style=\"display:block;margin: 0 auto;\" \/> leidub kui <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/b3e582f565e1060b47af4008a98c3524.png\" style=\"display:block;margin: 0 auto;\" \/> ja nii edasi.<\/p>\n<p>Siinkohal tasub m\u00e4rkida, et saadud algoritmi keerukus QR desimalimise kasutamise t\u00f5ttu on <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/c5c20145b7b165120d9979c2e2ca4711.png\" style=\"display:block;margin: 0 auto;\" \/>. Kuigi maatriksite korrutamise operaator on h\u00e4sti paralleelne, ei ole efektiivse jagatud versiooni kirjutamine sellest algoritmist v\u00f5imalik.<\/p>\n<h3>Gradientne laskumine<\/h3>\n<p>\nR\u00e4\u00e4kides m\u00f5ne funktsiooni minimeerimisest, tasub alati meeles pidada (stohhastilise) gradientlanguse meetodit. See on lihtne ja t\u00f5hus minimeerimise meetod, mis p\u00f5hineb funktsiooni gradienti iteratiivsel arvutamisel punktis ja selle j\u00e4rgmisel nihutamisel gradienti vastassuunas. Iga selline samm l\u00e4heneb lahendusele miinimumile. Gradient n\u00e4eb v\u00e4lja tutvustatult:<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/d195806787197323312be7c0b9d8b240.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>See meetod on samuti h\u00e4sti paralleelne ja jagatud, t\u00e4nu gradientoperaatori lineaarsetele omadustele. T\u00e4heldame, et \u00fclaltoodud valemis summa all on s\u00f5ltumatud liikmed. Teisis\u00f5nu, me saame arvutada gradienti iseseisvalt k\u00f5igi indeksite puhul <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/0c10d574f70b318b6562fb444e460fa7.png\" style=\"display:block;margin: 0 auto;\" \/> esimesest kuni <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/c9b39d76c5f724af137b5db3053e1a60.png\" style=\"display:block;margin: 0 auto;\" \/>, korraga arvutada gradienti indeksite jaoks alates <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/1a9407fcb4ec67a171463d36dca30a80.png\" style=\"display:block;margin: 0 auto;\" \/> kuni <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/f1e29c5b16d68d6377108f53803a9cd0.png\" style=\"display:block;margin: 0 auto;\" \/>. Siis liidetakse saadud gradientid. Liitmise tulemus on sama, mis kui oleksime kohe arvutanud gradienti indeksitele esimesest kuni <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/c5ec5004c59a5343f22894ef676606e3.png\" style=\"display:block;margin: 0 auto;\" \/>. Seega, kui andmed on jaotatud mitme andmeosa vahel, saab gradienti arvutada iseseisvalt igaosa peal ja seej\u00e4rel saab nende arvutuste tulemused kokku liita, et saada l\u00f5plik tulemus:<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/073ce5e3a6688e3a1ae7774aaff1a843.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Rakendamise seisukohalt sobib see paradigmasse <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/MapReduce\">MapReduce<\/a><\/noindex>. Igal gradientlanguse sammul saadetakse igale andmelementile \u00fclesanne gradienti arvutamiseks, seej\u00e4rel kogutakse arvutatud gradientid kokku ja nende summamise tulemust kasutatakse tulemuse parandamiseks.<\/p>\n<p>Malgr\u00e9 la simplicit\u00e9 de mise en \u0153uvre et la possibilit\u00e9 d'ex\u00e9cution dans la paradigme MapReduce, la descente de gradient pr\u00e9sente \u00e9galement des inconv\u00e9nients. En particulier, le nombre d'\u00e9tapes n\u00e9cessaires pour atteindre la convergence est consid\u00e9rablement sup\u00e9rieur \u00e0 celui d'autres m\u00e9thodes plus sp\u00e9cialis\u00e9es.<\/p>\n<h3>LSQR<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/web.stanford.edu\/group\/SOL\/software\/lsqr\/\">LSQR<\/a><\/noindex> est une autre m\u00e9thode de r\u00e9solution du probl\u00e8me pos\u00e9, adapt\u00e9e \u00e0 la fois \u00e0 la restauration des r\u00e9gressions lin\u00e9aires et \u00e0 la r\u00e9solution de syst\u00e8mes d'\u00e9quations lin\u00e9aires. Sa principale caract\u00e9ristique r\u00e9side dans le fait qu'elle combine les avantages des m\u00e9thodes matricielles et de l'approche it\u00e9rative. Ce m\u00e9thode peut \u00eatre trouv\u00e9e dans les biblioth\u00e8ques <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.scipy.org\/doc\/scipy-0.14.0\/reference\/generated\/scipy.sparse.linalg.lsqr.html\">SciPy<\/a><\/noindex>, kui ka <noindex><a rel=\"nofollow\" href=\"http:\/\/matlab.izmiran.ru\/help\/techdoc\/ref\/lsqr.html\">MATLAB<\/a><\/noindex>. La description de cette m\u00e9thode ne sera pas fournie ici (elle peut \u00eatre trouv\u00e9e dans l'article <noindex><a rel=\"nofollow\" href=\"https:\/\/web.stanford.edu\/group\/SOL\/software\/lsqr\/lsqr-toms82a.pdf\">LSQR : Un algorithme pour des \u00e9quations lin\u00e9aires creuses et des moindres carr\u00e9s creux<\/a><\/noindex>). Au lieu de cela, une approche permettant d'adapter LSQR \u00e0 l'ex\u00e9cution dans un environnement distribu\u00e9 sera d\u00e9montr\u00e9e.<\/p>\n<p>Au c\u0153ur de la m\u00e9thode LSQR se trouve <noindex><a rel=\"nofollow\" href=\"http:\/\/www.netlib.org\/utk\/people\/JackDongarra\/etemplates\/node198.html\">la proc\u00e9dure de bidiagonalisation<\/a><\/noindex>. C'est une proc\u00e9dure it\u00e9rative, chaque it\u00e9ration consistant en les \u00e9tapes suivantes :<br \/>\n<img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/3c2f7b5c6f57830e9b522023a8e72a48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMais si l'on consid\u00e8re que la matrice <img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/e86c3c422629b78bc574f66db8a6139d.png\" style=\"display:block;margin: 0 auto;\" \/> est partitionn\u00e9e horizontalement, chaque it\u00e9ration peut \u00eatre repr\u00e9sent\u00e9e sous la forme de deux \u00e9tapes MapReduce. Cela permet de minimiser le transfert de donn\u00e9es durant chacune des it\u00e9rations (uniquement des vecteurs de longueur \u00e9gale au nombre d'inconnues) :<\/p>\n<p><img decoding=\"async\" alt=\"Lineaarne regressioon ja selle taastamise meetodid\" src=\"\/wp-content\/uploads\/2019\/09\/6b67654b29ed24283c4b04d66c05ea5c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nC'est cette approche qui est utilis\u00e9e dans l'impl\u00e9mentation de la r\u00e9gression lin\u00e9aire dans <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/apache\/ignite\/blob\/master\/modules\/ml\/src\/main\/java\/org\/apache\/ignite\/ml\/math\/isolve\/lsqr\/AbstractLSQR.java\">Apache Ignite ML<\/a><\/noindex>.<\/p>\n<h3>Kokkuv\u00f5te<\/h3>\n<p>\nIl existe de nombreux algorithmes pour la restauration de la r\u00e9gression lin\u00e9aire, mais tous ne peuvent pas \u00eatre appliqu\u00e9s dans toutes les conditions. Ainsi, la d\u00e9composition QR est tr\u00e8s appropri\u00e9e pour une solution exacte sur de petits ensembles de donn\u00e9es. La descente de gradient est facilement r\u00e9alisable et permet de trouver rapidement une solution approximative. Alors que LSQR combine les meilleures propri\u00e9t\u00e9s des deux algorithmes pr\u00e9c\u00e9dents, car il peut \u00eatre distribu\u00e9, converge plus rapidement que la descente de gradient et permet \u00e9galement un arr\u00eat pr\u00e9coce de l'algorithme, contrairement \u00e0 la d\u00e9composition QR pour la recherche d'une solution approximative.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/465743\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: xkcd \u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u044d\u0442\u043e\u043c\u0443 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u0430. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0447\u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u0435\u0442 \u0435\u0433\u043e \u0448\u0438\u0440\u043e\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0443\u0436\u0435 \u043c\u043d\u043e\u0433\u0438\u0435 \u0434\u0435\u0441\u044f\u0442\u043a\u0438, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0441\u043e\u0442\u043d\u0438, \u043b\u0435\u0442. \u0418\u0434\u0435\u044f \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u044b \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c \u043b\u0438\u043d\u0435\u0439\u043d\u0443\u044e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0434\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u0442 \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28483,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37955","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a:\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/linejnaya-regressiya-i-metody-eyo-vosstanovleniya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u0435\u0451 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a:\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/linejnaya-regressiya-i-metody-eyo-vosstanovleniya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:20:47+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:47+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47R\u00e9gression lin\u00e9aire et m\u00e9thodes de restauration | ProHoster","description":"Allikas:","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/linejnaya-regressiya-i-metody-eyo-vosstanovleniya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u0435\u0451 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f | ProHoster","og:description":"\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a:","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/linejnaya-regressiya-i-metody-eyo-vosstanovleniya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:20:47+00:00","article:modified_time":"2019-10-31T19:20:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37955","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:55:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:17:23","updated":"2026-01-23 19:55:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=37955"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37955\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/28483"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=37955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=37955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=37955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}