Эх сурвалж:
Шугаман регресс нь өгөгдлийн шинжилгээтэй холбоотой олон талбарт зориулсан үндсэн алгоритмуудын нэг юм. Үүний шалтгаан нь ойлгомжтой. Энэ бол маш энгийн бөгөөд ойлгомжтой алгоритм бөгөөд үүнийг олон арван, магадгүй олон зуун жилийн турш өргөнөөр ашиглахад хувь нэмэр оруулсан. Гол санаа нь бид нэг хувьсагчийн шугаман хамаарлыг бусад хувьсагчийн багцаас авч үзээд энэ хамаарлыг сэргээхийг оролддог.
Гэхдээ энэ нийтлэл нь практик асуудлыг шийдвэрлэхийн тулд шугаман регрессийг ашиглах тухай биш юм. Энд бид машин сургалтын модулийг бичихдээ тулгарч байсан түүнийг сэргээх тархсан алгоритмуудыг хэрэгжүүлэх сонирхолтой онцлогуудыг авч үзэх болно.
Бид юу ярьж байна вэ?
Шугаман хамаарлыг сэргээх ажил бидний өмнө тулгараад байна. Оролтын өгөгдлийн хувьд бие даасан хувьсагчийн векторуудын багцыг өгсөн бөгөөд тэдгээр нь тус бүр нь хамааралтай хувьсагчийн тодорхой утгатай холбоотой байдаг. Энэ өгөгдлийг хоёр матриц хэлбэрээр илэрхийлж болно.
Одоо хамаарал, мөн шугаман гэж тооцогддог тул бид таамаглаа матрицын үржвэр хэлбэрээр бичих болно (бичлэгийг хялбарчлахын тулд энд болон доор тэгшитгэлийн чөлөөт гишүүний ард нуугдаж байна гэж үзнэ. , мөн матрицын сүүлчийн багана нэгж агуулсан):
Шугаман тэгшитгэлийн системтэй адилхан сонсогдож байна, тийм үү? Энэ нь харагдаж байна, гэхдээ ийм тэгшитгэлийн системд шийдэл байхгүй байх магадлалтай. Үүний шалтгаан нь бараг бүх бодит өгөгдөлд байдаг дуу чимээ юм. Өөр нэг шалтгаан нь шугаман хамаарал байхгүй байж болох бөгөөд энэ нь анхныхаас шугаман бус хамааралтай нэмэлт хувьсагчдыг нэвтрүүлэх замаар тэмцэж болно. Дараах жишээг авч үзье.
Эх сурвалж:
Энэ бол нэг хувьсагчийн (тэнхлэгийн дагуу) хамаарлыг харуулсан шугаман регрессийн энгийн жишээ юм ) өөр хувьсагчаас (тэнхлэгийн дагуу ). Энэ жишээнд тохирох шугаман тэгшитгэлийн систем шийдэлтэй байхын тулд бүх цэгүүд яг ижил шулуун дээр байрлах ёстой. Гэхдээ энэ нь үнэн биш юм. Гэхдээ тэд чимээ шуугианаас болж (эсвэл шугаман харилцааны таамаглал буруу байсан тул) яг ижил шулуун шугам дээр хэвтдэггүй. Тиймээс, бодит өгөгдлөөс шугаман харилцааг сэргээхийн тулд ихэвчлэн өөр нэг таамаглалыг оруулах шаардлагатай байдаг: оролтын өгөгдөл нь дуу чимээг агуулдаг бөгөөд энэ чимээ нь шуугиантай байдаг.
Хамгийн их магадлалын арга
Тиймээс бид санамсаргүй хэвийн тархсан дуу чимээ байгаа гэж таамагласан. Ийм нөхцөлд юу хийх вэ? Энэ тохиолдолд математикт байдаг бөгөөд өргөн хэрэглэгддэг
Бид ердийн чимээ шуугиантай өгөгдлөөс шугаман харилцааг сэргээхэд буцаж ирдэг. Таамагласан шугаман хамаарал нь математикийн хүлээлт гэдгийг анхаарна уу одоо байгаа хэвийн тархалт. Үүний зэрэгцээ, магадлал ажиглаж болохуйц байгаа нөхцөлд нэг буюу өөр утгыг авдаг , дараах байдлаар харагдаж байна.
Одоо оронд нь орлъё и Бидэнд хэрэгтэй хувьсагчууд нь:
Зөвхөн векторыг олох л үлдлээ , энэ үед энэ магадлал хамгийн их байна. Ийм функцийг нэмэгдүүлэхийн тулд эхлээд түүний логарифмыг авах нь тохиромжтой (функцийн логарифм нь функцтэй ижил цэг дээр хамгийн ихдээ хүрэх болно):
Энэ нь эргээд дараахь функцийг багасгахад хүргэдэг.
Дашрамд хэлэхэд үүнийг арга гэж нэрлэдэг
QR задрал
Дээрх функцийн хамгийн бага утгыг энэ функцийн градиент тэг байх цэгийг олох замаар олж болно. Мөн градиентийг дараах байдлаар бичнэ.
Тиймээс бид матрицыг задалдаг матрицууд руу и мөн хэд хэдэн хувиргалтыг хийнэ (QR задралын алгоритмыг энд авч үзэхгүй, зөвхөн даалгавартай холбоотой ашиглах):
Матриц ортогональ байна. Энэ нь биднийг ажлаас ангижруулах боломжийг олгодог :
Хэрэв та солих юм бол тухай , тэгвэл бүтнэ . Үүнийг харгалзан үзвэл дээд гурвалжин матриц нь дараах байдалтай байна.
Үүнийг орлуулах аргыг ашиглан шийдэж болно. Бүрэлдэхүүн байдлаар байрладаг , өмнөх элемент байдлаар байрладаг гэх мэт.
QR задралыг ашигласны улмаас үүссэн алгоритмын нарийн төвөгтэй байдал нь дараах байдалтай тэнцүү байгааг энд тэмдэглэх нь зүйтэй. . Түүнээс гадна матрицыг үржүүлэх үйлдлийг сайн зэрэгцүүлсэн боловч энэ алгоритмын үр дүнтэй тархсан хувилбарыг бичих боломжгүй юм.
Градиент уналт
Функцийг багасгах талаар ярихдаа (стохастик) градиент буурах аргыг үргэлж санах нь зүйтэй. Энэ нь функцийн градиентийг цэг дээр давталттайгаар тооцож, дараа нь градиентийн эсрэг чиглэлд шилжүүлэхэд үндэслэсэн энгийн бөгөөд үр дүнтэй багасгах арга юм. Ийм алхам бүр нь шийдлийг хамгийн багадаа ойртуулдаг. Градиент ижил хэвээр байна:
Энэ арга нь мөн градиент операторын шугаман шинж чанараас шалтгаалан сайн параллелж, тархсан байдаг. Дээрх томъёонд нийлбэрийн тэмдгийн доор бие даасан нэр томъёо байгааг анхаарна уу. Өөрөөр хэлбэл, бид бүх индексийн хувьд градиентийг бие даан тооцоолж болно эхнээс нь хүртэл , үүнтэй зэрэгцэн индексүүдийн градиентийг тооцоол нь . Дараа нь үүссэн градиентийг нэмнэ. Нэмэлтийн үр дүн нь бид эхнийхээс индексүүдийн градиентийг нэн даруй тооцоолсонтой ижил байх болно . Тиймээс, хэрэв өгөгдлийг хэд хэдэн өгөгдлийн хооронд хуваарилсан бол градиентийг хэсэг бүр дээр бие даан тооцоолж, дараа нь эцсийн үр дүнг гаргахын тулд эдгээр тооцооллын үр дүнг нэгтгэж болно.
Хэрэгжилтийн үүднээс авч үзвэл энэ нь парадигмд нийцэж байна
Хэрэгжүүлэхэд хялбар, MapReduce парадигмд хэрэгжүүлэх чадвартай хэдий ч градиент уналт нь бас сул талуудтай. Ялангуяа нэгдмэл байдалд хүрэхийн тулд шаардлагатай алхмуудын тоо бусад нарийн мэргэжлийн аргуудтай харьцуулахад хамаагүй өндөр байдаг.
LSQR
LSQR арга нь дээр суурилдаг
Гэхдээ бид матриц гэж үзвэл нь хэвтээ байдлаар хуваагдсан бол давталт бүрийг MapReduce-ийн хоёр алхам хэлбэрээр илэрхийлж болно. Ийм байдлаар давталт бүрийн үед өгөгдөл дамжуулахыг багасгах боломжтой (зөвхөн үл мэдэгдэх тоотой тэнцүү урттай векторууд):
Шугаман регрессийг хэрэгжүүлэхэд энэ аргыг ашигладаг
дүгнэлт
Шугаман регрессийг сэргээх олон алгоритмууд байдаг ч бүгдийг нь бүх нөхцөлд ашиглах боломжгүй. Тиймээс QR задрал нь жижиг өгөгдлийн багц дээр үнэн зөв шийдэл гаргахад маш сайн байдаг. Gradient descent нь хэрэгжүүлэхэд хялбар бөгөөд ойролцоогоор шийдлийг хурдан олох боломжийг танд олгоно. Мөн LSQR нь өмнөх хоёр алгоритмын хамгийн сайн шинж чанаруудыг нэгтгэдэг, учир нь энэ нь тархах боломжтой, градиент уналттай харьцуулахад илүү хурдан нийлдэг, мөн QR задралаас ялгаатай нь алгоритмыг эрт зогсоох, ойролцоо шийдэл олох боломжийг олгодог.
Эх сурвалж: www.habr.com