Linear regression ug mga pamaagi sa pagbawi niini

Linear regression ug mga pamaagi sa pagbawi niini
Source: xkcd

Ang linear regression mao ang usa sa mga batakang algorithm alang sa daghang mga lugar nga may kalabutan sa pagtuki sa datos. Ang hinungdan niini klaro. Kini usa ka yano ug masabtan nga algorithm, nga nakatampo sa kaylap nga paggamit niini sulod sa daghang napulo, kung dili gatusan, mga tuig. Ang ideya mao nga atong isipon ang usa ka linear nga pagsalig sa usa ka variable sa usa ka set sa uban nga mga variable, ug unya pagsulay sa pagpasig-uli niini nga pagsalig.

Apan kini nga artikulo dili bahin sa paggamit sa linear regression aron masulbad ang praktikal nga mga problema. Dinhi atong hisgotan ang makapaikag nga mga bahin sa pagpatuman sa gipang-apod-apod nga mga algorithm alang sa pagbawi niini, nga atong nasugatan sa pagsulat sa usa ka module sa pagkat-on sa makina sa Apache Ignite. Ang gamay nga batakang matematika, pagkat-on sa makina, ug gipang-apod-apod nga kompyuter makatabang kanimo nga mahibal-an kung giunsa paghimo ang linear regression bisan kung ang imong datos giapod-apod sa libu-libo nga mga node.

Unsa man ang atong gihisgutan?

Kita nag-atubang sa tahas sa pagpasig-uli sa linear pagsalig. Ingon nga data sa input, usa ka set sa mga vector sa gituohan nga independente nga mga variable ang gihatag, ang matag usa adunay kalabotan sa usa ka piho nga kantidad sa dependent variable. Kini nga datos mahimong irepresentar sa porma sa duha ka matrice:

Linear regression ug mga pamaagi sa pagbawi niini

Karon, tungod kay ang pagsalig gituohan, ug, dugang pa, linear, atong isulat ang atong pangagpas sa porma sa usa ka produkto sa mga matrices (aron pasimplehon ang pagrekord, dinhi ug sa ubos gituohan nga ang libre nga termino sa equation gitago sa luyo. Linear regression ug mga pamaagi sa pagbawi niini, ug ang kataposang kolum sa matrix Linear regression ug mga pamaagi sa pagbawi niini adunay mga yunit):

Linear regression ug mga pamaagi sa pagbawi niini

Morag usa ka sistema sa linear equation, dili ba? Ingon og, apan lagmit nga wala’y mga solusyon sa ingon nga sistema sa mga equation. Ang hinungdan niini mao ang kasaba, nga anaa sa halos bisan unsang tinuod nga datos. Ang laing rason tingali mao ang kakulang sa linear dependence nga ingon niana, nga mahimong mabuntog pinaagi sa pagpaila sa dugang nga mga variable nga dili linearly nagdepende sa orihinal. Tagda ang mosunod nga pananglitan:
Linear regression ug mga pamaagi sa pagbawi niini
Source: Wikipedia

Kini usa ka yano nga pananglitan sa linear regression nga nagpakita sa relasyon sa usa ka variable (uban sa axis Linear regression ug mga pamaagi sa pagbawi niini) gikan sa laing variable (ubay sa axis Linear regression ug mga pamaagi sa pagbawi niini). Aron ang sistema sa linear equation nga katugbang niini nga pananglitan adunay solusyon, ang tanan nga mga punto kinahanglan gayud nga nahimutang sa samang tul-id nga linya. Apan dili kana tinuod. Apan wala sila mamakak sa parehas nga tul-id nga linya tungod sa kasaba (o tungod kay ang pag-angkon sa usa ka linear nga relasyon sayup). Busa, aron mapasig-uli ang usa ka linear nga relasyon gikan sa tinuod nga datos, kasagaran gikinahanglan ang pagpaila sa usa pa ka pangagpas: ang input data adunay kasaba ug kini nga kasaba adunay normal nga pag-apod-apod. Makahimo ka og mga pangagpas bahin sa ubang mga matang sa pag-apod-apod sa kasaba, apan sa kadaghanan sa mga kaso kini ang normal nga pag-apod-apod nga gikonsiderar, nga hisgutan pa.

Maximum nga posibilidad nga pamaagi

Mao nga, among gihunahuna ang presensya sa random nga kasagarang giapod-apod nga kasaba. Unsa ang buhaton sa ingon nga kahimtang? Alang niini nga kaso sa matematika adunay ug kaylap nga gigamit maximum nga posibilidad nga pamaagi. Sa laktud, ang esensya niini anaa sa pagpili mga function sa kalagmitan ug ang sunod nga pag-maximize niini.

Nagbalik kami sa pagpasig-uli sa usa ka linear nga relasyon gikan sa datos nga adunay normal nga kasaba. Timan-i nga ang gituohan nga linear nga relasyon mao ang mathematical expectation Linear regression ug mga pamaagi sa pagbawi niini kasamtangan nga normal nga distribution. Sa samang higayon, ang kalagmitan nga Linear regression ug mga pamaagi sa pagbawi niini nagkuha sa usa ka bili o lain, ubos sa presensya sa mga obserbasyon Linear regression ug mga pamaagi sa pagbawi niini, ingon sa mosunod:

Linear regression ug mga pamaagi sa pagbawi niini

Atong ilisan na hinuon Linear regression ug mga pamaagi sa pagbawi niini ΠΈ Linear regression ug mga pamaagi sa pagbawi niini Ang mga variable nga atong gikinahanglan mao ang:

Linear regression ug mga pamaagi sa pagbawi niini

Ang nahabilin mao ang pagpangita sa vector Linear regression ug mga pamaagi sa pagbawi niini, diin kini nga posibilidad mao ang labing kataas. Aron ma-maximize ang ingon nga function, sayon ​​​​ang pagkuha una og logarithm niini (ang logarithm sa function moabot sa maximum sa samang punto sa function mismo):

Linear regression ug mga pamaagi sa pagbawi niini

Nga, sa baylo, nahulog sa pagminus sa mosunod nga function:

Linear regression ug mga pamaagi sa pagbawi niini

Pinaagi sa dalan, kini gitawag nga pamaagi labing gamay nga mga kwadro. Kasagaran ang tanan nga mga konsiderasyon sa ibabaw wala iapil ug kini nga pamaagi gigamit ra.

QR decomposition

Ang labing gamay nga function sa ibabaw makit-an pinaagi sa pagpangita sa punto diin ang gradient niini nga function mao ang zero. Ug ang gradient isulat ingon sa mosunod:

Linear regression ug mga pamaagi sa pagbawi niini

QR decomposition mao ang usa ka matrix nga pamaagi sa pagsulbad sa minimization nga problema nga gigamit sa pinakagamay nga squares nga pamaagi. Niining bahina, atong isulat pag-usab ang equation sa matrix nga porma:

Linear regression ug mga pamaagi sa pagbawi niini

Busa atong gibuak ang matrix Linear regression ug mga pamaagi sa pagbawi niini sa matrices Linear regression ug mga pamaagi sa pagbawi niini ΠΈ Linear regression ug mga pamaagi sa pagbawi niini ug paghimo og sunod-sunod nga mga pagbag-o (ang QR decomposition algorithm mismo dili hisgotan dinhi, ang paggamit lamang niini kalabot sa buluhaton nga giatubang):

Linear regression ug mga pamaagi sa pagbawi niini

Matrix Linear regression ug mga pamaagi sa pagbawi niini orthogonal. Kini nagtugot kanato sa pagtangtang sa trabaho Linear regression ug mga pamaagi sa pagbawi niini:

Linear regression ug mga pamaagi sa pagbawi niini

Ug kung imong ilisan Linear regression ug mga pamaagi sa pagbawi niini sa Linear regression ug mga pamaagi sa pagbawi niini, unya kini molihok Linear regression ug mga pamaagi sa pagbawi niini. Sa pagkonsiderar niana Linear regression ug mga pamaagi sa pagbawi niini kay usa ka taas nga triangular nga matrix, ingon niini:

Linear regression ug mga pamaagi sa pagbawi niini

Mahimo kining masulbad gamit ang substitution method. elemento Linear regression ug mga pamaagi sa pagbawi niini nahimutang ingon Linear regression ug mga pamaagi sa pagbawi niini, miaging elemento Linear regression ug mga pamaagi sa pagbawi niini nahimutang ingon Linear regression ug mga pamaagi sa pagbawi niini ug sa ingon sa.

Angay nga matikdan dinhi nga ang pagkakomplikado sa resulta nga algorithm tungod sa paggamit sa QR decomposition parehas sa Linear regression ug mga pamaagi sa pagbawi niini. Dugang pa, bisan pa sa kamatuoran nga ang operasyon sa pagpadaghan sa matrix maayo nga pagkaparehas, dili posible ang pagsulat sa usa ka epektibo nga gipang-apod-apod nga bersyon niini nga algorithm.

Gradient nga Descent

Kung naghisgot bahin sa pagminus sa usa ka function, kinahanglan kanunay nga hinumdoman ang pamaagi sa (stochastic) gradient nga kagikan. Kini usa ka yano ug epektibo nga pamaagi sa pagminus base sa balikbalik nga pagkalkula sa gradient sa usa ka function sa usa ka punto ug dayon ibalhin kini sa direksyon nga atbang sa gradient. Ang matag ingon nga lakang nagdala sa solusyon nga mas duol sa minimum. Ang gradient mao gihapon ang hitsura:

Linear regression ug mga pamaagi sa pagbawi niini

Kini nga pamaagi maayo usab nga parallelized ug giapod-apod tungod sa mga linear nga kabtangan sa gradient operator. Timan-i nga sa ibabaw nga pormula, ubos sa sum sign adunay mga independenteng termino. Sa laing pagkasulti, mahimo natong kuwentahon ang gradient nga independente alang sa tanan nga mga indeks Linear regression ug mga pamaagi sa pagbawi niini gikan sa una ngadto sa Linear regression ug mga pamaagi sa pagbawi niini, dungan niini, kuwentaha ang gradient para sa mga indeks nga adunay Linear regression ug mga pamaagi sa pagbawi niini sa Linear regression ug mga pamaagi sa pagbawi niini. Dayon idugang ang resulta nga gradients. Ang resulta sa pagdugang mahimong parehas nga kung gikalkulo dayon namon ang gradient alang sa mga indeks gikan sa una hangtod Linear regression ug mga pamaagi sa pagbawi niini. Busa, kung ang datos ipang-apod-apod sa daghang piraso sa datos, ang gradient mahimong makalkula nga independente sa matag piraso, ug dayon ang mga resulta niini nga mga kalkulasyon mahimong masumada aron makuha ang katapusang resulta:

Linear regression ug mga pamaagi sa pagbawi niini

Gikan sa punto sa pagpatuman, kini mohaum sa paradigm MapReduce. Sa matag lakang sa gradient descent, usa ka buluhaton ang ipadala sa matag data node aron makalkulo ang gradient, unya ang mga kalkulado nga gradients kolektahon, ug ang resulta sa ilang sum gigamit sa pagpauswag sa resulta.

Bisan pa sa kasayon ​​​​sa pagpatuman ug ang abilidad sa pagpatuman sa paradigm sa MapReduce, ang gradient descent usab adunay mga kakulangan. Sa partikular, ang gidaghanon sa mga lakang nga gikinahanglan aron makab-ot ang convergence labi ka taas kung itandi sa ubang labi ka espesyal nga mga pamaagi.

LSQR

LSQR mao ang lain nga pamaagi sa pagsulbad sa problema, nga angay alang sa pagpasig-uli sa linear regression ug sa pagsulbad sa mga sistema sa linear equation. Ang nag-unang bahin niini mao nga kini naghiusa sa mga bentaha sa mga pamaagi sa matrix ug usa ka iterative nga pamaagi. Ang mga pagpatuman niini nga pamaagi makita sa duha ka librarya SciPy, ug sa MATLAB. Ang usa ka paghulagway niini nga pamaagi dili ihatag dinhi (kini makita sa artikulo LSQR: Usa ka algoritmo alang sa mga gamay nga linear equation ug mga gamay nga mga kwadro). Hinuon, usa ka pamaagi ang ipakita aron ipahiangay ang LSQR sa pagpatuman sa usa ka giapod-apod nga palibot.

Ang pamaagi sa LSQR gibase sa pamaagi sa bidiagonalization. Kini usa ka iterative nga pamaagi, ang matag pag-uli naglangkob sa mosunod nga mga lakang:
Linear regression ug mga pamaagi sa pagbawi niini

Apan kung atong hunahunaon nga ang matrix Linear regression ug mga pamaagi sa pagbawi niini gibahin sa pinahigda, unya ang matag pag-uli mahimong irepresentar isip duha ka lakang sa MapReduce. Niining paagiha, posible nga maminusan ang mga pagbalhin sa datos sa matag pag-uli (mga vector ra nga adunay gitas-on nga katumbas sa gidaghanon sa wala mailhi):

Linear regression ug mga pamaagi sa pagbawi niini

Kini ang pamaagi nga gigamit sa pagpatuman sa linear regression sa Apache Ignite ML.

konklusyon

Adunay daghang mga linear regression recovery algorithm, apan dili tanan niini mahimong magamit sa tanan nga mga kondisyon. Mao nga ang QR decomposition maayo kaayo alang sa tukma nga solusyon sa gagmay nga mga set sa datos. Ang gradient nga pagkanaog yano nga ipatuman ug gitugotan ka nga dali nga makapangita usa ka gibanabana nga solusyon. Ug gihiusa sa LSQR ang labing kaayo nga mga kabtangan sa miaging duha nga mga algorithm, tungod kay mahimo kini nga maapod-apod, mas paspas nga mag-converge kung itandi sa gradient nga pagkunsad, ug gitugotan usab ang sayo nga paghunong sa algorithm, dili sama sa pagkadunot sa QR, aron makapangita usa ka gibanabana nga solusyon.

Source: www.habr.com

Idugang sa usa ka comment