線圢回垰ずその回埩方法

線圢回垰ずその回埩方法
出所 xkcd

線圢回垰は、デヌタ分析に関連する倚くの分野の基本アルゎリズムの XNUMX ぀です。 その理由は明らかです。 これは非垞にシンプルで理解しやすいアルゎリズムであり、数癟幎ずは蚀わないたでも、䜕十幎にもわたっお広く䜿甚されおきたした。 その考え方は、XNUMX ぀の倉数が他の倉数のセットに察しお線圢䟝存しおいるず仮定し、この䟝存関係を埩元しようずするずいうものです。

ただし、この蚘事は線圢回垰を䜿甚しお実際的な問題を解決するこずに぀いおは説明したせん。 ここでは、機械孊習モゞュヌルを䜜成するずきに遭遇した、回埩のための分散アルゎリズムの実装の興味深い機胜を怜蚎したす。 アパッチ・むグナむト。 少し基本的な数孊、機械孊習、分散コンピュヌティングは、デヌタが数千のノヌドに分散しおいる堎合でも線圢回垰を実行する方法を理解するのに圹立ちたす。

䜕それ

私たちは線圢䟝存性を回埩するずいう課題に盎面しおいたす。 入力デヌタずしお、おそらく独立した倉数のベクトルのセットが䞎えられ、それぞれが埓属倉数の特定の倀に関連付けられたす。 このデヌタは XNUMX ぀の行列の圢匏で衚すこずができたす。

線圢回垰ずその回埩方法

ここで、䟝存性が仮定され、さらに線圢であるため、仮定を行列の積の圢匏で曞きたす (蚘録を簡略化するために、ここず以䞋では、方皋匏の自由項が背埌に隠されおいるず仮定したす) 線圢回垰ずその回埩方法、行列の最埌の列 線圢回垰ずその回埩方法 単䜍が含たれたす):

線圢回垰ずその回埩方法

連立䞀次方皋匏によく䌌おいたすね。 ず思われたすが、おそらくそのような方皋匏系の解は存圚したせん。 その理由は、ほずんどすべおの実デヌタに存圚するノむズです。 もう XNUMX ぀の理由は、線圢䟝存性自䜓が欠劂しおいるこずである可胜性がありたす。これは、元の倉数に非線圢に䟝存する远加の倉数を導入するこずで察凊できたす。 次の䟋を考えおみたしょう。
線圢回垰ずその回埩方法
出所 Wikipedia

これは、XNUMX ぀の倉数の関係を (軞に沿っお) 瀺す線圢回垰の簡単な䟋です。 線圢回垰ずその回埩方法) 別の倉数から (軞に沿っお) 線圢回垰ずその回埩方法。 この䟋に察応する線圢方皋匏系が解を埗るには、すべおの点が同じ盎線䞊に正確に存圚する必芁がありたす。 しかし、そうではありたせん。 しかし、正確にはノむズのため (たたは線圢関係の仮定が間違っおいたため)、これらは同じ盎線䞊にありたせん。 したがっお、実際のデヌタから線圢関係を埩元するには、通垞、もう XNUMX ぀の仮定を導入する必芁がありたす。入力デヌタにはノむズが含たれおおり、このノむズには 正芏分垃。 他のタむプのノむズ分垃に぀いおも仮定するこずができたすが、ほずんどの堎合、考慮されるのは正芏分垃です。これに぀いおは埌で説明したす。

最尀法

そこで、ランダムな正芏分垃ノむズが存圚するず仮定したした。 このような状況ではどうすればよいでしょうか? 数孊におけるこの堎合には、広く䜿甚されおいたす。 最尀法。 芁するに、その本質は遞択にありたす 尀床関数 そしおその埌の最倧化。

通垞のノむズを含むデヌタから線圢関係を埩元するこずに戻りたす。 仮定された線圢関係は数孊的な期埅倀であるこずに泚意しおください。 線圢回垰ずその回埩方法 既存の正芏分垃。 同時に、その確率は、 線圢回垰ずその回埩方法 芳枬可胜なものの存圚に応じお、䜕らかの倀を取る 線圢回垰ずその回埩方法このようになりたす

線圢回垰ずその回埩方法

代わりに眮き換えおみたしょう 線圢回垰ずその回埩方法 О 線圢回垰ずその回埩方法 必芁な倉数は次のずおりです。

線圢回垰ずその回埩方法

残っおいるのはベクトルを芋぀けるこずだけです 線圢回垰ずその回埩方法、この確率が最倧になるずき。 このような関数を最倧化するには、最初にその察数を取るず䟿利です (関数の察数は関数自䜓ず同じ点で最倧倀に達したす)。

線圢回垰ずその回埩方法

぀たり、次の関数を最小化するこずになりたす。

線圢回垰ずその回埩方法

ちなみにこれをメ゜ッドずいいたす 最小二乗。 倚くの堎合、䞊蚘の考慮事項はすべお省略され、この方法が単玔に䜿甚されたす。

QR分解

䞊蚘の関数の最小倀は、この関数の募配がれロになる点を芋぀けるこずによっお芋぀けるこずができたす。 そしお、募配は次のように蚘述されたす。

線圢回垰ずその回埩方法

QR分解 最小二乗法で䜿甚される最小化問題を解くための行列法です。 この点に関しお、方皋匏を行列圢匏で曞き盎したす。

線圢回垰ずその回埩方法

そこで行列を分解したす 線圢回垰ずその回埩方法 行列に 線圢回垰ずその回埩方法 О 線圢回垰ずその回埩方法 そしお、䞀連の倉換を実行したす (QR 分解アルゎリズム自䜓はここでは考慮されたせん。圓面のタスクに関連しおその䜿甚のみが考慮されたす)。

線圢回垰ずその回埩方法

行列 線圢回垰ずその回埩方法 盎亀しおいる。 これにより、仕事を取り陀くこずができたす 線圢回垰ずその回埩方法:

線圢回垰ずその回埩方法

そしお、眮き換えるず、 線圢回垰ずその回埩方法 Ма 線圢回垰ずその回埩方法、それなら䜕ずかなるだろう 線圢回垰ずその回埩方法。 それを考えるず 線圢回垰ずその回埩方法 は䞊䞉角行列で、次のようになりたす。

線圢回垰ずその回埩方法

これは代入法を䜿えば解決できたす。 芁玠 線圢回垰ずその回埩方法 ずしお䜍眮しおいたす 線圢回垰ずその回埩方法、前の芁玠 線圢回垰ずその回埩方法 ずしお䜍眮しおいたす 線圢回垰ずその回埩方法 などなど。

ここで、QR 分解の䜿甚によっお埗られるアルゎリズムの耇雑さは次のずおりであるこずに泚目しおください。 線圢回垰ずその回埩方法。 さらに、行列乗算挔算は十分に䞊列化されおいるにもかかわらず、このアルゎリズムの効果的な分散バヌゞョンを䜜成するこずは䞍可胜です。

募配降䞋法

関数の最小化に぀いお話すずきは、(確率的) 募配降䞋法を垞に芚えおおく䟡倀がありたす。 これは、ある点における関数の募配を繰り返し蚈算し、それを募配ず反察の方向にシフトするこずに基づいた、シンプルで効果的な最小化方法です。 このような各ステップは、解決策を最小倀に近づけたす。 グラデヌションはただ同じように芋えたす。

線圢回垰ずその回埩方法

このメ゜ッドは、募配挔算子の線圢特性により、適切に䞊列化および分散されたす。 䞊の匏では、和蚘号の䞋に独立した項があるこずに泚意しおください。 蚀い換えれば、すべおのむンデックスに察しお独立しお募配を蚈算できたす。 線圢回垰ずその回埩方法 最初から 線圢回垰ずその回埩方法、これず䞊行しお、むンデックスの募配を蚈算したす。 線圢回垰ずその回埩方法 ЎП 線圢回垰ずその回埩方法。 次に、結果のグラデヌションを远加したす。 加算の結果は、最初から XNUMX 番目たでのむンデックスの募配を即座に蚈算した堎合ず同じになりたす。 線圢回垰ずその回埩方法。 したがっお、デヌタが耇数のデヌタに分散されおいる堎合、募配を各デヌタに察しお個別に蚈算し、これらの蚈算の結果を合蚈しお最終結果を埗るこずができたす。

線圢回垰ずその回埩方法

実装の芳点から芋るず、これはパラダむムに適合したす MapReduce。 募配降䞋法の各ステップで、募配を蚈算するタスクが各デヌタ ノヌドに送信され、蚈算された募配がたずめお収集され、それらの合蚈の結果が結果を改善するために䜿甚されたす。

MapReduce パラダむムは実装が簡単で実行機胜があるにもかかわらず、募配降䞋法には欠点もありたす。 特に、収束を達成するために必芁なステップ数は、他のより特殊な方法ず比范しお倧幅に倚くなりたす。

LSQR

LSQR これは問題を解決するためのもう XNUMX ぀の方法であり、線圢回垰の埩元ず連立䞀次方皋匏の解法の䞡方に適しおいたす。 その䞻な特城は、マトリックス手法ず反埩アプロヌチの利点を組み合わせおいるこずです。 このメ゜ッドの実装は䞡方のラむブラリにありたす。 SciPy、および マトラブ。 この方法の説明はここでは行いたせん (蚘事で芋぀けるこずができたす) LSQR: スパヌス線圢方皋匏およびスパヌス最小二乗法のアルゎリズム。 代わりに、分散環境での実行に LSQR を適応させるアプロヌチが瀺されたす。

LSQR メ゜ッドは以䞋に基づいおいたす。 XNUMX 重察角化手順。 これは反埩的な手順であり、各反埩は次のステップで構成されたす。
線圢回垰ずその回埩方法

しかし、行列だず仮定するず、 線圢回垰ずその回埩方法 が氎平方向に分割されおいる堎合、各反埩は XNUMX ぀の MapReduce ステップずしお衚すこずができたす。 このようにしお、各反埩䞭のデヌタ転送を最小限に抑えるこずができたす (未知数の数に等しい長さのベクトルのみ)。

線圢回垰ずその回埩方法

線圢回垰を実装するずきに䜿甚されるのはこのアプロヌチです。 Apache Ignite ML.

たずめ

線圢回垰回埩アルゎリズムは数倚くありたすが、そのすべおがすべおの状況に適甚できるわけではありたせん。 したがっお、QR 分解は、小さなデヌタセットを正確に解決するのに最適です。 募配降䞋法は実装が簡単で、近䌌解をすぐに芋぀けるこずができたす。 たた、LSQR は、分散可胜であり、募配降䞋法ず比范しおより速く収束するため、前の XNUMX ぀のアルゎリズムの最良の特性を組み合わせたものであり、QR 分解ずは異なり、近䌌解を芋぀けるためにアルゎリズムを早期に停止するこずもできたす。

出所 habr.com

コメントを远加したす