{"id":372005,"date":"2024-05-21T05:01:48","date_gmt":"2024-05-21T05:01:48","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=372005"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=372005","title":{"rendered":"<span>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0438 Softmax-\u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441 \u043d\u0443\u043b\u044f \u043d\u0430 Python<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"float full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/534\/886\/f17\/534886f17762383c69e43edba8765d88.png\" width=\"771\" height=\"442\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/534\/886\/f17\/534886f17762383c69e43edba8765d88.png\"\/><\/figure>\n<p>\u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e. \u041b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u2014 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0441\u0438\u0433\u043c\u043e\u0438\u0434\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u043c\u0443 \u043a\u043b\u0430\u0441\u0441\u0443. \u041e\u0431\u044b\u0447\u043d\u043e \u043f\u043e\u0440\u043e\u0433 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f 0.5: \u0435\u0441\u043b\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u043e\u0440\u043e\u0433\u0430 \u2014 \u043a\u043b\u0430\u0441\u0441 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a 0, \u0430 \u0435\u0441\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u2014 \u043a 1. \u0412 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u043a\u0430\u043a \u0438 \u0443 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0431\u0438\u043d\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0430\u0440\u0433\u0435\u0442\u0430.<\/p>\n<blockquote>\n<p><em>\u041d\u043e\u0443\u0442\u0431\u0443\u043a \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0430\u00a0<\/em><a href=\"https:\/\/www.kaggle.com\/code\/egazakharenko\/logistic-softmax-regressions-from-scratch\" rel=\"noopener noreferrer nofollow\"><strong><em>Kaggle<\/em><\/strong><\/a><em>\u00a0(eng) \u0438\u00a0<\/em><a href=\"https:\/\/github.com\/egaoharu-kensei\/ML-algorithms-from-scratch.-Course-for-beginners\/blob\/main\/Notebooks%20%5Brus%5D\/ML-%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B%20%D1%81%20%D0%BD%D1%83%D0%BB%D1%8F\/02%29%20%D0%9B%D0%BE%D0%B3%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F%20%D0%B8%20Softmax-%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D0%B8.ipynb\" rel=\"noopener noreferrer nofollow\"><strong><em>GitHub<\/em><\/strong><\/a><em>\u00a0(rus).<\/em> <\/p>\n<\/blockquote>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u0432 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043b\u044e\u0431\u043e\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435, \u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u043a \u043a\u043b\u0430\u0441\u0441\u0443 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 [0; 1], \u0442\u043e \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u0432\u0438\u0434\u0435 \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0430 \u0448\u0430\u043d\u0441\u043e\u0432 (\u0448\u0430\u043d\u0441 \u2014 \u044d\u0442\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043a \u0435\u0433\u043e \u043d\u0435\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e) \u0438 \u0443\u0436\u0435 \u0438\u0437 \u043d\u0435\u0433\u043e \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u044c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u043a \u043a\u043b\u0430\u0441\u0441\u0443. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u0433\u043c\u043e\u0438\u0434\u0430\u043b\u044c\u043d\u043e\u0439.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\ln(\\frac{p_+}{1 - p_+}) = w \\cdot x + b\" alt=\"\\ln(\\frac{p_+}{1 - p_+}) = w \\cdot x + b\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a5c\/948\/2d9\/a5c9482d9b3aedce242ca543f3cda9ba.svg\" width=\"190\" height=\"42\"\/><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{p_+}{1 - p_+} = e^{w \\cdot x + b} \\ \\ \\Rightarrow \\ \\ p_+ = \\frac{1}{1 + e^{-(w \\cdot x + b)}} = \\sigma(w \\cdot x + b)\" alt=\"\\frac{p_+}{1 - p_+} = e^{w \\cdot x + b} \\ \\ \\Rightarrow \\ \\ p_+ = \\frac{1}{1 + e^{-(w \\cdot x + b)}} = \\sigma(w \\cdot x + b)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bbe\/48d\/5cf\/bbe48d5cfff7f7ef1c69ec9c86ea0fe0.svg\" width=\"467\" height=\"46\"\/><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f30\/e20\/cc1\/f30e20cc18082d80fd59d21ca65825a9.png\" alt=\"\u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f vs \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u043f\u0440\u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u0430\" title=\"\u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f vs \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u043f\u0440\u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u0430\" width=\"695\" height=\"568\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f30\/e20\/cc1\/f30e20cc18082d80fd59d21ca65825a9.png\"\/><\/p>\n<div><figcaption><strong>\u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f vs \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u043f\u0440\u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u0430<\/strong><\/figcaption><\/div>\n<\/figure>\n<h4>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u0438 \u043c\u0435\u0442\u043e\u0434 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u0438\u044f<\/h4>\n<p>\u0412\u044b\u0431\u043e\u0440 \u043b\u0438\u043d\u0438\u0438 (\u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u0438) \u0434\u043b\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0443\u0441\u0440\u0435\u0434\u043d\u0451\u043d\u043d\u043e\u0439 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438\u00a0<em>\u043c\u0435\u0442\u043e\u0434\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u0438\u044f<\/em>. \u0421\u0443\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u043e\u0438\u0441\u043a\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f\u043c \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e, \u0430 \u0435\u0433\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0435 \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u0438\u044f \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u0438\u044f \u0438\u0437-\u0437\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432. \u041f\u0440\u043e\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0440\u0435\u0434\u043d\u0438\u043c\u0438 \u043f\u043e\u0442\u0435\u0440\u044f\u043c\u0438 \u043d\u0430 \u0432\u0441\u0451\u043c \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u043c \u043d\u0430\u0431\u043e\u0440\u0435.<\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0432 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0432\u0438\u0434\u0435, \u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0433\u043b\u0430\u0434\u043a\u043e\u0439 \u0438 \u0432\u044b\u043f\u0443\u043a\u043b\u043e\u0439, \u0442\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u0441\u043f\u0443\u0441\u043a\u0430 \u043a\u0430\u043a \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438.<\/p>\n<h4>\u0412\u044b\u0432\u043e\u0434 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0438 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 \u0435\u0451 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c<\/h4>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043e\u0442\u0435\u0440\u044c:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\begin{equation}   L(\\sigma(z), y_i) = \\begin{cases}     - \\ln\\sigma(z) &amp; \\text{if $y_i=1$}\\\\     - \\ln(1 - \\sigma(z)) &amp; \\text{if $y_i=0$}   \\end{cases} \\end{equation}\" alt=\"\\begin{equation}   L(\\sigma(z), y_i) = \\begin{cases}     - \\ln\\sigma(z) &amp; \\text{if $y_i=1$}\\\\     - \\ln(1 - \\sigma(z)) &amp; \\text{if $y_i=0$}   \\end{cases} \\end{equation}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/db8\/71b\/d12\/db871bd12ac6ab2d2849681e89b4c34e.svg\" width=\"339\" height=\"49\"\/><\/p>\n<p>\u041c\u0435\u0442\u043e\u0434 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u0438\u044f:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"L(\\sigma(z), y_i) = \\prod\\limits_{i=1}^{n} \u03c3(z)^{y_i} (1 - \\sigma(z))^{(1-y_i)}\" alt=\"L(\\sigma(z), y_i) = \\prod\\limits_{i=1}^{n} \u03c3(z)^{y_i} (1 - \\sigma(z))^{(1-y_i)}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/73f\/f7b\/a58\/73ff7ba5876c4833c23c4b2523060da6.svg\" width=\"314\" height=\"57\"\/><\/p>\n<p>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u0442\u0435\u0440\u0438 \u0441 \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u043e\u043c \u043f\u043e\u0434\u043e\u0431\u0438\u044f:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"L_{log}(\\sigma(z), y_i) = -[y_i\\ln\\sigma(z) + (1 - y_i)\\ln(1 - \\sigma(z))]\" alt=\"L_{log}(\\sigma(z), y_i) = -[y_i\\ln\\sigma(z) + (1 - y_i)\\ln(1 - \\sigma(z))]\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e37\/46d\/5cd\/e3746d5cd9f840ad831f19ed943c598a.svg\" width=\"423\" height=\"23\"\/><\/p>\n<p><strong><em>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u0434\u043b\u044f \u0432\u0441\u0435\u0433\u043e \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430<\/em><\/strong>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"J(w, b) = \\frac{1}{n} \\sum\\limits_{i = 1}^{n} L_{log}(\\sigma(z), y_i)\" alt=\"J(w, b) = \\frac{1}{n} \\sum\\limits_{i = 1}^{n} L_{log}(\\sigma(z), y_i)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e72\/e5d\/395\/e72e5d395bf85b57f304c6151ea808e4.svg\" width=\"243\" height=\"57\"\/><\/p>\n<p><strong><em>\u0413\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c \u0434\u043b\u044f \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0438 \u0432\u0435\u0441\u043e\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e<\/em><\/strong>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{\\partial J(w, b)}{\\partial b} = (\\frac{1}{n} \\sum\\limits_{i = 1}^{n} L_{log}(\\sigma(z), y_i))' =  \\frac{1}{n} \\sum\\limits_{i = 1}^{n} \\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{b}} = \\frac{1}{n} \\sum\\limits_{i = 1}^{n} (\\sigma(z) - y_i)\" alt=\"\\frac{\\partial J(w, b)}{\\partial b} = (\\frac{1}{n} \\sum\\limits_{i = 1}^{n} L_{log}(\\sigma(z), y_i))' =  \\frac{1}{n} \\sum\\limits_{i = 1}^{n} \\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{b}} = \\frac{1}{n} \\sum\\limits_{i = 1}^{n} (\\sigma(z) - y_i)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/db5\/6df\/5a7\/db56df5a754e9f357a86a0d1c964a632.svg\" width=\"650\" height=\"57\"\/><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{\\partial J(w, b)}{\\partial \\omega} = (\\frac{1}{n} \\sum\\limits_{i = 1}^{n} L_{log}(\\sigma(z), y_i))' =  \\frac{1}{n} \\sum\\limits_{i = 1}^{n} \\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{\\omega}} = \\frac{1}{n} \\sum\\limits_{i = 1}^{n} (\\sigma(z) - y_i)x_i\" alt=\"\\frac{\\partial J(w, b)}{\\partial \\omega} = (\\frac{1}{n} \\sum\\limits_{i = 1}^{n} L_{log}(\\sigma(z), y_i))' =  \\frac{1}{n} \\sum\\limits_{i = 1}^{n} \\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{\\omega}} = \\frac{1}{n} \\sum\\limits_{i = 1}^{n} (\\sigma(z) - y_i)x_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a6c\/ffd\/eaa\/a6cffdeaaf5d586715d9e05aca59915a.svg\" width=\"668\" height=\"57\"\/><\/p>\n<blockquote>\n<p><em>\u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0440\u0430\u0441\u0447\u0451\u0442\u044b \u0447\u0430\u0441\u0442\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0445 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043e\u0442\u0435\u0440\u044c \u0434\u043b\u044f \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0438 \u0432\u0435\u0441\u043e\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e:<\/em><\/p>\n<\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{b}} =  \\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{\\sigma(z)}} \\cdot  \\frac{\\partial{\\sigma(z)}}{\\partial{z}} \\cdot \\frac{\\partial{z}}{\\partial{b}}\" alt=\"\\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{b}} =  \\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{\\sigma(z)}} \\cdot  \\frac{\\partial{\\sigma(z)}}{\\partial{z}} \\cdot \\frac{\\partial{z}}{\\partial{b}}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/df2\/ca7\/f6c\/df2ca7f6c004708f252814ed0fceb731.svg\" width=\"383\" height=\"51\"\/><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{\\omega}} =  \\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{\\sigma(z)}} \\cdot  \\frac{\\partial{\\sigma(z)}}{\\partial{z}} \\cdot \\frac{\\partial{z}}{\\partial{\\omega}}\" alt=\"\\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{\\omega}} =  \\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{\\sigma(z)}} \\cdot  \\frac{\\partial{\\sigma(z)}}{\\partial{z}} \\cdot \\frac{\\partial{z}}{\\partial{\\omega}}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/86a\/022\/bf7\/86a022bf7dcb4ed85fca2abba40961fb.svg\" width=\"386\" height=\"51\"\/><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{\\sigma(z)}} = -[y_i(\\ln\\sigma(z))' + (1 - y_i)(\\ln(1 - \\sigma(z)))'] = \\\\ = -[y_i \\cdot \\frac{1}{\\sigma(z)} + (1 - y_i) \\cdot \\frac{1}{1-\\sigma(z)} \\cdot (-1)] = \\\\ = \\frac{1 - y_i}{1 - \\sigma(z)} - \\frac{y_i}{\\sigma(z)} = \\frac{\\sigma(z) - \\sigma(z) y_i - y_i + \\sigma(z) y_i}{\\sigma(z) (1 - \\sigma(z)} = \\frac{\\sigma(z) - y_i}{\\sigma(z)(1 - \\sigma(z))}\" alt=\"\\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{\\sigma(z)}} = -[y_i(\\ln\\sigma(z))' + (1 - y_i)(\\ln(1 - \\sigma(z)))'] = \\\\ = -[y_i \\cdot \\frac{1}{\\sigma(z)} + (1 - y_i) \\cdot \\frac{1}{1-\\sigma(z)} \\cdot (-1)] = \\\\ = \\frac{1 - y_i}{1 - \\sigma(z)} - \\frac{y_i}{\\sigma(z)} = \\frac{\\sigma(z) - \\sigma(z) y_i - y_i + \\sigma(z) y_i}{\\sigma(z) (1 - \\sigma(z)} = \\frac{\\sigma(z) - y_i}{\\sigma(z)(1 - \\sigma(z))}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/730\/f18\/401\/730f184011efcb122feff6cb13215dd7.svg\" width=\"697\" height=\"160\"\/><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{\\partial{\\sigma(z)}}{\\partial{z}} = ((1 + e^{-z})^{-1})' = \\frac{-1}{(1 + e^{-z})^{-2}} \\cdot e^{-z} \\cdot (-1) = \\frac{e^{-z}}{(1 + e^{-z})^{-2}} = \\\\ = |e^{-z} = \\frac{1}{\\sigma(z)} - 1 = \\frac{1-\\sigma(z)}{\\sigma(z)}| = \\frac{1 - \\sigma(z)}{\\sigma(z)(1 + \\frac{1 - \\sigma(z)}{\\sigma(z)})^{2}} = \\sigma(z)(1 - \\sigma(z))\" alt=\"\\frac{\\partial{\\sigma(z)}}{\\partial{z}} = ((1 + e^{-z})^{-1})' = \\frac{-1}{(1 + e^{-z})^{-2}} \\cdot e^{-z} \\cdot (-1) = \\frac{e^{-z}}{(1 + e^{-z})^{-2}} = \\\\ = |e^{-z} = \\frac{1}{\\sigma(z)} - 1 = \\frac{1-\\sigma(z)}{\\sigma(z)}| = \\frac{1 - \\sigma(z)}{\\sigma(z)(1 + \\frac{1 - \\sigma(z)}{\\sigma(z)})^{2}} = \\sigma(z)(1 - \\sigma(z))\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bb2\/e5b\/734\/bb2e5b7342cc35f716354cf1c8dda6db.svg\" width=\"697\" height=\"120\"\/><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{\\partial z}{\\partial b} = (w \\cdot x_i)' + b' = 0 + 1 = 1\" alt=\"\\frac{\\partial z}{\\partial b} = (w \\cdot x_i)' + b' = 0 + 1 = 1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/122\/6b2\/3d8\/1226b23d887cae863ceffdf1c14501c9.svg\" width=\"260\" height=\"43\"\/><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{\\partial z}{\\partial \\omega} = w' \\cdot x_i + w \\cdot x_i' + b' = x_i + 0 + 0 = x_i\" alt=\"\\frac{\\partial z}{\\partial \\omega} = w' \\cdot x_i + w \\cdot x_i' + b' = x_i + 0 + 0 = x_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7ea\/250\/3b3\/7ea2503b3d8ad1f2f89071c78cbcfd27.svg\" width=\"366\" height=\"43\"\/><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{b}} =  \\frac{\\sigma(z) - y_i}{\\sigma(z)(1 - \\sigma(z))} \\cdot  \\sigma(z)(1 - \\sigma(z)) = \\sigma(z) - y_i\" alt=\"\\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{b}} =  \\frac{\\sigma(z) - y_i}{\\sigma(z)(1 - \\sigma(z))} \\cdot  \\sigma(z)(1 - \\sigma(z)) = \\sigma(z) - y_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a57\/8db\/130\/a578db130cb6592b77cea8fe517131a5.svg\" width=\"509\" height=\"51\"\/><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{\\omega}} =  \\frac{\\sigma(z) - y_i}{\\sigma(z)(1 - \\sigma(z))} \\cdot  \\sigma(z)(1 - \\sigma(z)) \\cdot x_i = (\\sigma(z) - y_i)x_i\" alt=\"\\frac{\\partial{L_{log}(\\sigma(z), y_i)}}{\\partial{\\omega}} =  \\frac{\\sigma(z) - y_i}{\\sigma(z)(1 - \\sigma(z))} \\cdot  \\sigma(z)(1 - \\sigma(z)) \\cdot x_i = (\\sigma(z) - y_i)x_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dd3\/851\/c48\/dd3851c48b4b46f3e38873cdbfabd2d7.svg\" width=\"573\" height=\"51\"\/><\/p>\n<p>\u0413\u0434\u0435:<\/p>\n<ul>\n<li>\n<p> <img loading=\"lazy\" decoding=\"async\" class=\"formula inline\" source=\"\\sigma(z) = \\frac{1}{1 + e^{-z}}\" alt=\"\\sigma(z) = \\frac{1}{1 + e^{-z}}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ac5\/ca1\/e55\/ac5ca1e55e3dee9fee355830e3dfba40.svg\" width=\"129\" height=\"43\"\/> \u2014 \u0441\u0438\u0433\u043c\u043e\u0438\u0434\u0430\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p> <img loading=\"lazy\" decoding=\"async\" class=\"formula inline\" source=\"z_{w, b}(x_i) = w \\cdot x_i + b\" alt=\"z_{w, b}(x_i) = w \\cdot x_i + b\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/251\/caf\/681\/251caf681584855b5529a3fe4682af51.svg\" width=\"166\" height=\"23\"\/> \u2014 \u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p> <img loading=\"lazy\" decoding=\"async\" class=\"formula inline\" source=\"b\" alt=\"b\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/82d\/f94\/a0a\/82df94a0a85492a7293761298aebcccb.svg\" width=\"8\" height=\"17\"\/> \u2014 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435;<\/p>\n<\/li>\n<li>\n<p> <img loading=\"lazy\" decoding=\"async\" class=\"formula inline\" source=\"w\" alt=\"w\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cdb\/70b\/a78\/cdb70ba78308a6f6dd1e733ff02b3c8d.svg\" width=\"14\" height=\"12\"\/> \u2014 \u0432\u0435\u043a\u0442\u043e\u0440 \u0432\u0435\u0441\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p> <img loading=\"lazy\" decoding=\"async\" class=\"formula inline\" source=\"x_i\" alt=\"x_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ec8\/4a8\/507\/ec84a850739d1e7ba0b247f36377bb38.svg\" width=\"18\" height=\"15\"\/> \u2014 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 i-\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0446\u0430.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438<\/h4>\n<p>\u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f, \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 \u0441\u0438\u0433\u043c\u043e\u0438\u0434\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0432\u0435\u0441\u043e\u0432 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u043d\u043e\u0437, \u0430 \u0437\u0430\u0442\u0435\u043c \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0447\u0435\u0440\u0435\u0437 \u0441\u0438\u0433\u043c\u043e\u0438\u0434\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e: \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u043e\u0433\u0443 (\u043e\u0431\u044b\u0447\u043d\u043e 0.5).<\/p>\n<p>\u0421\u0442\u043e\u0438\u0442 \u0442\u0430\u043a\u0436\u0435 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u043b\u044f \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u043f\u043b\u0430\u043d\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u0438\u0437\u0430\u0446\u0438\u0438, \u043a\u0430\u043a \u0438 \u0434\u043b\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439.<\/p>\n<h3>Softmax-regression<\/h3>\n<p>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u043e\u0431\u0449\u0438\u0442\u044c \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u043e\u043a\u043b\u0430\u0441\u0441\u043e\u0432\u043e\u0439 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 2 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438:<\/p>\n<ul>\n<li>\n<p><strong>one vs rest<\/strong>, \u043a\u043e\u0433\u0434\u0430 \u043e\u0431\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0432 \u0442\u0430\u0440\u0433\u0435\u0442\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u043d\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0430 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043a\u043b\u0430\u0441\u0441 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e;<\/p>\n<\/li>\n<li>\n<p><strong>softmax<\/strong>, \u043a\u043e\u0433\u0434\u0430 \u043e\u0434\u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u0447\u0442\u043e \u043c\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e.<\/p>\n<\/li>\n<\/ul>\n<p>\u0418\u0434\u0435\u044f softmax-\u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0431\u0438\u043d\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0430\u0440\u0433\u0435\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e one-hot \u0438 \u0434\u043b\u044f \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u0435\u0441\u043e\u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435, \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0447\u0438\u0441\u043b\u0443 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u0442\u0430\u0440\u0433\u0435\u0442\u0435. \u0414\u0430\u043b\u0435\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u0432\u0435\u0441\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u0430 \u043e\u0442 0 \u0434\u043e 1 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 softmax, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u0430\u043a\u0436\u0435 \u0435\u0449\u0451 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439.<\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c <em>\u043f\u0435\u0440\u0435\u043a\u0440\u0451\u0441\u0442\u043d\u0430\u044f \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044f (cross-entropy)<\/em> \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0430 \u0448\u0442\u0440\u0430\u0444\u0443\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0438\u0437\u043a\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u043a\u0440\u043e\u0441\u0441-\u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u043e\u0446\u0435\u043d\u043e\u0447\u043d\u044b\u0445 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0446\u0435\u043b\u0435\u0432\u044b\u043c \u043a\u043b\u0430\u0441\u0441\u0430\u043c. \u0418\u0442\u043e\u0433\u043e\u0432\u044b\u043c \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u043e\u043c \u043d\u0430 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u0431\u0443\u0434\u0435\u0442 \u043a\u043b\u0430\u0441\u0441 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<p><strong>\u0424\u043e\u0440\u043c\u0443\u043b\u044b \u0434\u043b\u044f \u0440\u0430\u0441\u0447\u0451\u0442\u043e\u0432<\/strong><\/p>\n<p>\u041b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0430 <img loading=\"lazy\" decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dfd\/ed9\/ea0\/dfded9ea0bf304fa71385f868c06ec9f.svg\" width=\"10\" height=\"17\"\/> :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"z_k (x^{(i)}) = w_k \\cdot x^{(i)} + b_k\" alt=\"z_k (x^{(i)}) = w_k \\cdot x^{(i)} + b_k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/afc\/069\/bf8\/afc069bf815c8c5fb3b9223ee2417ab9.svg\" width=\"193\" height=\"26\"\/><\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f softmax:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"p_k = \\frac{e^{z_k (x^{(i)})}}{\\sum \\limits_{j=1}^{K} e^{z_j (x^{(i)})}}\" alt=\"p_k = \\frac{e^{z_k (x^{(i)})}}{\\sum \\limits_{j=1}^{K} e^{z_j (x^{(i)})}}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/304\/d2c\/40a\/304d2c40aaa7c4f7a03c8429846003f2.svg\" width=\"132\" height=\"86\"\/><\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"J(\\Theta) = - \\frac{1}{n} \\sum \\limits_{i=1}^{n} \\sum \\limits_{k=1}^{K} y_k^{(i)} log(\\hat p_k^{(i)})\" alt=\"J(\\Theta) = - \\frac{1}{n} \\sum \\limits_{i=1}^{n} \\sum \\limits_{k=1}^{K} y_k^{(i)} log(\\hat p_k^{(i)})\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9ad\/656\/0f0\/9ad6560f07bf33344d49d3d2a368d99a.svg\" width=\"262\" height=\"60\"\/><\/p>\n<p>\u0413\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0430 <img loading=\"lazy\" decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9e1\/43a\/c84\/9e143ac843484f791aa43cf5089563bb.svg\" width=\"10\" height=\"17\"\/>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{\\partial J(\\Theta)}{\\partial b_k} = \\frac{1}{n} \\sum \\limits_{i=1}^{n} (\\hat p_k^{(i)} - y_k^{(i)})\" alt=\"\\frac{\\partial J(\\Theta)}{\\partial b_k} = \\frac{1}{n} \\sum \\limits_{i=1}^{n} (\\hat p_k^{(i)} - y_k^{(i)})\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e25\/6f4\/3d1\/e256f43d1d0cd888af5bd007278fce7b.svg\" width=\"229\" height=\"57\"\/><\/p>\n<p>\u0412\u0435\u043a\u0442\u043e\u0440-\u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u0432\u0435\u0441\u043e\u0432 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0430 <img loading=\"lazy\" decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9e1\/43a\/c84\/9e143ac843484f791aa43cf5089563bb.svg\" width=\"10\" height=\"17\"\/>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\frac{\\partial J(\\Theta)}{\\partial w_k} = \\frac{1}{n} \\sum \\limits_{i=1}^{n} (\\hat p_k^{(i)} - y_k^{(i)}) x^{(i)}\" alt=\"\\frac{\\partial J(\\Theta)}{\\partial w_k} = \\frac{1}{n} \\sum \\limits_{i=1}^{n} (\\hat p_k^{(i)} - y_k^{(i)}) x^{(i)}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4dc\/807\/f7b\/4dc807f7bd043b25b54febfba37e681e.svg\" width=\"258\" height=\"57\"\/><\/p>\n<p>\u0413\u0434\u0435:<\/p>\n<ul>\n<li>\n<p> <img loading=\"lazy\" decoding=\"async\" class=\"formula inline\" source=\"K\" alt=\"K\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d03\/a90\/045\/d03a900455dff3bfe09bee1612c9b837.svg\" width=\"17\" height=\"17\"\/> \u2014 \u0447\u0438\u0441\u043b\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p> <img loading=\"lazy\" decoding=\"async\" class=\"formula inline\" source=\"\\Theta\" alt=\"\\Theta\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8d2\/c9a\/e15\/8d2c9ae15489890965e5dc0b88ab5008.svg\" width=\"15\" height=\"17\"\/> \u2014 \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u043f\u043e \u0441\u0443\u0442\u0438, softmax \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u0443\u044e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e one vs rest, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043b\u0438\u0448\u043d\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430\u043c\u0438. \u0415\u0449\u0451 \u043e\u0434\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0443\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0432 \u0442\u0430\u0440\u0433\u0435\u0442\u0435 (k=2) \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u0431\u0443\u0434\u0435\u0442 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u0430 log loss \u0432 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0434\u043b\u044f \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f. <\/p>\n<h4>\u0418\u043c\u043f\u043e\u0440\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a<\/h4>\n<pre><code class=\"python\">import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler, LabelEncoder from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score from mlxtend.plotting import plot_decision_regions<\/code><\/pre>\n<h4>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 Python \u0441 \u043d\u0443\u043b\u044f<\/h4>\n<p><strong>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f<\/strong><\/p>\n<pre><code class=\"python\">class GDLogisticRegression:     def __init__(self, learning_rate=0.1, tolerance=0.0001, max_iter=1000):         self.learning_rate = learning_rate         self.tolerance = tolerance         self.max_iter = max_iter      def fit(self, X, y):         n_samples, n_features = X.shape         self.bias, self.weights = 0, np.zeros(n_features)         previous_db, previous_dw = 0, np.zeros(n_features)          for _ in range(self.max_iter):             y_pred_linear = X @ self.weights + self.bias             y_pred_sigmoid = 1 \/ (1 + np.exp(-y_pred_linear))             db = 1 \/ n_samples * np.sum(y_pred_sigmoid - y)             dw = 1 \/ n_samples * X.T @ (y_pred_sigmoid - y)              self.bias -= self.learning_rate * db             self.weights -= self.learning_rate * dw             abs_db_reduction = np.abs(db - previous_db)             abs_dw_reduction = np.abs(dw - previous_dw)              if abs_db_reduction &lt; self.tolerance:                 if abs_dw_reduction.all() &lt; self.tolerance:                     break              previous_db = db             previous_dw = dw      def predict(self, X_test):         y_pred_linear = X_test @ self.weights + self.bias         y_pred_sigmoid = 1 \/ (1 + np.exp(-y_pred_linear))         classes = np.array([0 if pred &lt; 0.5 else 1 for pred in y_pred_sigmoid])          return classes<\/code><\/pre>\n<p><strong>Softmax-\u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f<\/strong><\/p>\n<pre><code class=\"python\">class SoftmaxRegression:     def __init__(self, learning_rate=0.1, tolerance=0.0001, max_iter=1000):         self.learning_rate = learning_rate         self.tolerance = tolerance         self.max_iter = max_iter      def _softmax(self, predictions):         exp = np.exp(predictions)          return exp \/ np.sum(exp, axis=1, keepdims=True)      def fit(self, X, y):         n_classes = len(np.unique(y))         n_samples, n_features = X.shape         one_hot_y = pd.get_dummies(y).to_numpy()          self.bias = np.zeros(n_classes)         self.weights = np.zeros((n_features, n_classes))         previous_db = np.zeros(n_classes)         previous_dw = np.zeros((n_features, n_classes))          for _ in range(self.max_iter):             y_pred_linear = X @ self.weights + self.bias             y_pred_softmax = self._softmax(y_pred_linear)             db = 1 \/ n_samples * np.sum(y_pred_softmax - one_hot_y, axis=0)   # sum by columns             dw = 1 \/ n_samples * X.T @ (y_pred_softmax - one_hot_y)              self.bias -= self.learning_rate * db             self.weights -= self.learning_rate * dw             abs_db_reduction = np.abs(db - previous_db)             abs_dw_reduction = np.abs(dw - previous_dw)              if abs_db_reduction.all() &lt; self.tolerance:                 if abs_dw_reduction.all() &lt; self.tolerance:                     break              previous_db = db             previous_dw = dw      def predict(self, X_test):         y_pred_linear = X_test @ self.weights + self.bias         y_pred_softmax = self._softmax(y_pred_linear)         most_prob_classes = np.argmax(y_pred_softmax, axis=1)          return most_prob_classes<\/code><\/pre>\n<h4>\u041a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/h4>\n<pre><code class=\"python\">def decision_boundary_plot(X, y, X_train, y_train, clf, feature_indexes, title=None):     feature1_name, feature2_name = X.columns[feature_indexes]     X_feature_columns = X.values[:, feature_indexes]     X_train_feature_columns = X_train.values[:, feature_indexes]     clf.fit(X_train_feature_columns, y_train.values)      plot_decision_regions(X=X_feature_columns, y=y.values, clf=clf)     plt.xlabel(feature1_name)     plt.ylabel(feature2_name)     plt.title(title)<\/code><\/pre>\n<h4>\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u043e\u0432<\/h4>\n<p>\u0414\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u00a0<a href=\"https:\/\/www.kaggle.com\/datasets\/rashikrahmanpritom\/heart-attack-analysis-prediction-dataset\" rel=\"noopener noreferrer nofollow\">Heart Attack dataset<\/a>, \u0433\u0434\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u043b\u0438\u0431\u043e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0434\u0435\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430 \u0443 \u043f\u0430\u0446\u0438\u0435\u043d\u0442\u043e\u0432, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0438\u0445 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0445.<\/p>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 softmax-\u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f\u00a0<a href=\"https:\/\/www.kaggle.com\/datasets\/sujithmandala\/credit-score-classification-dataset\/data\" rel=\"noopener noreferrer nofollow\">Credit Score Classification Dataset<\/a>\u00a0\u0434\u043b\u044f \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0430 \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0430 \u043b\u044e\u0434\u0435\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0438\u0445 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430, \u0434\u043e\u0445\u043e\u0434\u0430 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.<\/p>\n<pre><code class=\"python\">df_path = \"\/content\/drive\/MyDrive\/heart_attack.csv\" heart_attack = pd.read_csv(df_path) print(heart_attack.head())  X1, y1 = heart_attack.iloc[:, :-1], heart_attack.iloc[:, -1] X1_scaled = StandardScaler().fit_transform(X1) y1 = pd.Series(LabelEncoder().fit_transform(y1))  X1_train, X1_test, y1_train, y1_test = train_test_split(X1, y1, random_state=0) X1_train_s, X1_test_s, y1_train, y1_test = train_test_split(X1_scaled, y1, random_state=0)      age  sex  cp  trtbps  chol  fbs  restecg  thalachh  exng  oldpeak  slp  \\ 0   63    1   3     145   233    1        0       150     0      2.3    0    1   37    1   2     130   250    0        1       187     0      3.5    0    2   41    0   1     130   204    0        0       172     0      1.4    2    3   56    1   1     120   236    0        1       178     0      0.8    2    4   57    0   0     120   354    0        1       163     1      0.6    2        caa  thall  output   0    0      1       1   1    0      2       1   2    0      2       1   3    0      2       1   4    0      2       1  <\/code><\/pre>\n<pre><code class=\"python\">df_path = \"\/content\/drive\/MyDrive\/credit_score.csv\" credit_score = pd.read_csv(df_path) print(credit_score.head())  X2, y2 = credit_score.iloc[:, :-1], credit_score.iloc[:, -1] cat_features_list = X2.select_dtypes(include=['object']).columns X2[cat_features_list] = X2[cat_features_list].apply(LabelEncoder().fit_transform) X2_scaled = StandardScaler().fit_transform(X2) y2 = pd.Series(LabelEncoder().fit_transform(y2))  X2_train, X2_test, y2_train, y2_test = train_test_split(X2, y2, random_state=0) X2_train_s, X2_test_s, y2_train, y2_test = train_test_split(X2_scaled, y2, random_state=0)      Age  Gender  Income            Education Marital Status  \\ 0   25  Female   50000    Bachelor's Degree         Single    1   30    Male  100000      Master's Degree        Married    2   35  Female   75000            Doctorate        Married    3   40    Male  125000  High School Diploma         Single    4   45  Female  100000    Bachelor's Degree        Married        Number of Children Home Ownership Credit Score   0                   0         Rented         High   1                   2          Owned         High   2                   1          Owned         High   3                   0          Owned         High   4                   3          Owned         High <\/code><\/pre>\n<h4>\u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u043e\u0446\u0435\u043d\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432<\/h4>\n<p>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u043d\u043e \u043d\u0435 \u0441\u0430\u043c\u044b\u0439 \u043b\u0443\u0447\u0448\u0438\u0439. \u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0448\u0443\u043c\u043e\u043c \u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u043e \u0432\u0441\u0451 \u0436\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434, \u0447\u0442\u043e \u043e\u043d \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u0433\u0434\u0435 \u043f\u0440\u043e\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u044f\u0440\u043a\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u043d\u043e\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u044f \u0441 softmax-\u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0435\u0439.<\/p>\n<p><strong>Logistic regression<\/strong>  <\/p>\n<pre><code class=\"python\">logistic_regression = GDLogisticRegression() logistic_regression.fit(X1_train_s, y1_train) pred_res = logistic_regression.predict(X1_test_s) accuracy = accuracy_score(y1_test, pred_res)  print(f'Logistic regression accuracy: {accuracy}') print(f'prediction: {pred_res}')   Logistic regression accuracy: 0.8289473684210527 prediction: [0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0  1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0  0 1]<\/code><\/pre>\n<p><strong>Logistic regression (scikit-learn)<\/strong>  <\/p>\n<pre><code class=\"python\">sk_logistic_regression = LogisticRegression(penalty=None, max_iter=1000, multi_class='ovr') sk_logistic_regression.fit(X1_train, y1_train) sk_pred_res = sk_logistic_regression.predict(X1_test) sk_accuracy = accuracy_score(y1_test, sk_pred_res)  print(f'sk Logistic regression accuracy: {sk_accuracy}') print(f'prediction: {sk_pred_res}')  feature_indexes = [3, 9] title1 = 'LogisticRegression surface' decision_boundary_plot(X1, y1, X1_train, y1_train, sk_logistic_regression, feature_indexes, title1)   sk Logistic regression accuracy: 0.8289473684210527 prediction: [0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0  1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0  0 1]<\/code><\/pre>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/667\/648\/c18\/667648c18d2344f95e2dd44adeb444ee.png\" width=\"574\" height=\"455\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/667\/648\/c18\/667648c18d2344f95e2dd44adeb444ee.png\"\/><\/figure>\n<p><strong>Softmax-regression<\/strong>  <\/p>\n<pre><code class=\"python\">softmax_regression = SoftmaxRegression() softmax_regression.fit(X2_train_s, y2_train) softmax_pred_res = softmax_regression.predict(X2_test_s) softmax_accuracy = accuracy_score(y2_test, softmax_pred_res)  print(f'Softmax-regression accuracy: {softmax_accuracy}') print(f'Softmax prediction: {softmax_pred_res}')   Softmax-regression accuracy: 0.975609756097561 Softmax prediction: [1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 2 1 1 0 1 1 1 0 1 2 1 1 0  1 0 1 1]<\/code><\/pre>\n<p><strong>Softmax-regression (scikit-learn)<\/strong>  <\/p>\n<pre><code class=\"python\">sk_softmax_regression = LogisticRegression(penalty=None, max_iter=1000, multi_class='multinomial') sk_softmax_regression.fit(X2_train, y2_train) sk_softmax_pred_res = sk_softmax_regression.predict(X2_test) sk_softmax_accuracy = accuracy_score(y2_test, sk_softmax_pred_res)  print(f'sk Softmax-regression accuracy: {sk_softmax_accuracy}') print(f'sk Softmax prediction: {sk_softmax_pred_res}')   sk Softmax-regression accuracy: 0.975609756097561 sk Softmax prediction: [1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 2 1 1 0 1 1 1 0 1 2 1 1 0  1 0 1 1]<\/code><\/pre>\n<h4>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438<\/h4>\n<p><em><u>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430<\/u><\/em>:<\/p>\n<ul>\n<li>\n<p>\u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0430 \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0432\u044b\u0441\u043e\u043a\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u0432 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<\/li>\n<\/ul>\n<p><em><u>\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438<\/u><\/em>:<\/p>\n<ul>\n<li>\n<p>\u043d\u0438\u0437\u043a\u0430\u044f \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0438\u0437-\u0437\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0445;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0438\u0437\u043a\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u044b, \u0447\u0442\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u0430;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a \u0448\u0443\u043c\u0443 \u0438 \u0432\u044b\u0431\u0440\u043e\u0441\u0430\u043c.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e, \u043a\u0430\u043a \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0435\u0439, \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438 \u043a\u0430\u0441\u0430\u044e\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u0447\u0438\u0441\u0442\u043e\u043c \u0432\u0438\u0434\u0435 \u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043b\u0438\u0431\u043e \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0438\u043d\u043e\u043c\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0434\u0440\u0443\u0433\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u044f\u0442 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044e \u0432 \u043f\u043b\u0430\u043d\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<h4>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438<\/h4>\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/scikit-learn.org\/stable\/modules\/linear_model.html#logistic-regression\" rel=\"noopener noreferrer nofollow\">\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438<\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.linear_model.LogisticRegression.html\" rel=\"noopener noreferrer nofollow\">\u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=19a_MTJX14g\" rel=\"noopener noreferrer nofollow\">\u041b\u0435\u043a\u0446\u0438\u044f<\/a>.<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/playlist?list=PLblh5JKOoLUKxzEP5HA2d-Li7IJkHfXSe\" rel=\"noopener noreferrer nofollow\">\u041f\u043b\u0435\u0439\u043b\u0438\u0441\u0442<\/a>.<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=V8fS0T_ktn4\" rel=\"noopener noreferrer nofollow\">One vs rest<\/a>.<\/p>\n<p>Softmax-\u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f: <a href=\"https:\/\/www.youtube.com\/watch?v=M59JElEPgIg\" rel=\"noopener noreferrer nofollow\">\u043e\u0434\u0438\u043d<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=LLux1SW--oM\" rel=\"noopener noreferrer nofollow\">\u0434\u0432\u0430<\/a>.<\/p>\n<hr\/>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/804135\/\" rel=\"noopener noreferrer nofollow\"><strong>? \u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f<\/strong><\/a><strong>  |  <\/strong><a href=\"https:\/\/habr.com\/ru\/articles\/802511\/\" rel=\"noopener noreferrer nofollow\"><strong>\u041b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0434\u0438\u0441\u043a\u0440\u0438\u043c\u0438\u043d\u0430\u043d\u0442\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 (LDA) ?<\/strong><\/a><\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/803397\/\"> https:\/\/habr.com\/ru\/articles\/803397\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"float full-width\"><\/figure>\n<p>\u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e. \u041b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u2014 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0441\u0438\u0433\u043c\u043e\u0438\u0434\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u043c\u0443 \u043a\u043b\u0430\u0441\u0441\u0443. \u041e\u0431\u044b\u0447\u043d\u043e \u043f\u043e\u0440\u043e\u0433 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f 0.5: \u0435\u0441\u043b\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u043e\u0440\u043e\u0433\u0430 \u2014 \u043a\u043b\u0430\u0441\u0441 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a 0, \u0430 \u0435\u0441\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u2014 \u043a 1. \u0412 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u043a\u0430\u043a \u0438 \u0443 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0431\u0438\u043d\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0430\u0440\u0433\u0435\u0442\u0430.<\/p>\n<blockquote>\n<p><em>\u041d\u043e\u0443\u0442\u0431\u0443\u043a \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0430\u00a0<\/em><a href=\"https:\/\/www.kaggle.com\/code\/egazakharenko\/logistic-softmax-regressions-from-scratch\" rel=\"noopener noreferrer nofollow\"><strong><em>Kaggle<\/em><\/strong><\/a><em>\u00a0(eng) \u0438\u00a0<\/em><a href=\"https:\/\/github.com\/egaoharu-kensei\/ML-algorithms-from-scratch.-Course-for-beginners\/blob\/main\/Notebooks%20%5Brus%5D\/ML-%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B%20%D1%81%20%D0%BD%D1%83%D0%BB%D1%8F\/02%29%20%D0%9B%D0%BE%D0%B3%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F%20%D0%B8%20Softmax-%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D0%B8.ipynb\" rel=\"noopener noreferrer nofollow\"><strong><em>GitHub<\/em><\/strong><\/a><em>\u00a0(rus).<\/em> <\/p>\n<\/blockquote>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u0432 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043b\u044e\u0431\u043e\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435, \u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u043a \u043a\u043b\u0430\u0441\u0441\u0443 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 [0; 1], \u0442\u043e \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u0432\u0438\u0434\u0435 \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0430 \u0448\u0430\u043d\u0441\u043e\u0432 (\u0448\u0430\u043d\u0441 \u2014 \u044d\u0442\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043a \u0435\u0433\u043e \u043d\u0435\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e) \u0438 \u0443\u0436\u0435 \u0438\u0437 \u043d\u0435\u0433\u043e \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u044c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u043a \u043a\u043b\u0430\u0441\u0441\u0443. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u0433\u043c\u043e\u0438\u0434\u0430\u043b\u044c\u043d\u043e\u0439.<\/p>\n<figure class=\"full-width\">\n<div><figcaption><strong>\u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f vs \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u043f\u0440\u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u0430<\/strong><\/figcaption><\/div>\n<\/figure>\n<h4>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u0438 \u043c\u0435\u0442\u043e\u0434 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u0438\u044f<\/h4>\n<p>\u0412\u044b\u0431\u043e\u0440 \u043b\u0438\u043d\u0438\u0438 (\u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u0438) \u0434\u043b\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0443\u0441\u0440\u0435\u0434\u043d\u0451\u043d\u043d\u043e\u0439 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438\u00a0<em>\u043c\u0435\u0442\u043e\u0434\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u0438\u044f<\/em>. \u0421\u0443\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u043e\u0438\u0441\u043a\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f\u043c \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e, \u0430 \u0435\u0433\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0435 \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u0438\u044f \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u0438\u044f \u0438\u0437-\u0437\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432. \u041f\u0440\u043e\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0440\u0435\u0434\u043d\u0438\u043c\u0438 \u043f\u043e\u0442\u0435\u0440\u044f\u043c\u0438 \u043d\u0430 \u0432\u0441\u0451\u043c \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u043c \u043d\u0430\u0431\u043e\u0440\u0435.<\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0432 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0432\u0438\u0434\u0435, \u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0433\u043b\u0430\u0434\u043a\u043e\u0439 \u0438 \u0432\u044b\u043f\u0443\u043a\u043b\u043e\u0439, \u0442\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u0441\u043f\u0443\u0441\u043a\u0430 \u043a\u0430\u043a \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438.<\/p>\n<h4>\u0412\u044b\u0432\u043e\u0434 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0438 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 \u0435\u0451 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c<\/h4>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043e\u0442\u0435\u0440\u044c:<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u0438\u044f:<\/p>\n<p>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u0442\u0435\u0440\u0438 \u0441 \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u043e\u043c \u043f\u043e\u0434\u043e\u0431\u0438\u044f:<\/p>\n<p><strong><em>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u0434\u043b\u044f \u0432\u0441\u0435\u0433\u043e \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430<\/em><\/strong>:<\/p>\n<p><strong><em>\u0413\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c \u0434\u043b\u044f \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0438 \u0432\u0435\u0441\u043e\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e<\/em><\/strong>:<\/p>\n<blockquote>\n<p><em>\u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0440\u0430\u0441\u0447\u0451\u0442\u044b \u0447\u0430\u0441\u0442\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0445 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043e\u0442\u0435\u0440\u044c \u0434\u043b\u044f \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0438 \u0432\u0435\u0441\u043e\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e:<\/em><\/p>\n<\/blockquote>\n<p>\u0413\u0434\u0435:<\/p>\n<ul>\n<li>\n<p>  \u2014 \u0441\u0438\u0433\u043c\u043e\u0438\u0434\u0430\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>  \u2014 \u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>  \u2014 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435;<\/p>\n<\/li>\n<li>\n<p>  \u2014 \u0432\u0435\u043a\u0442\u043e\u0440 \u0432\u0435\u0441\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>  \u2014 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 i-\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0446\u0430.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438<\/h4>\n<p>\u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f, \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 \u0441\u0438\u0433\u043c\u043e\u0438\u0434\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0432\u0435\u0441\u043e\u0432 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u043d\u043e\u0437, \u0430 \u0437\u0430\u0442\u0435\u043c \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0447\u0435\u0440\u0435\u0437 \u0441\u0438\u0433\u043c\u043e\u0438\u0434\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e: \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u043e\u0433\u0443 (\u043e\u0431\u044b\u0447\u043d\u043e 0.5).<\/p>\n<p>\u0421\u0442\u043e\u0438\u0442 \u0442\u0430\u043a\u0436\u0435 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u043b\u044f \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u043f\u043b\u0430\u043d\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u0438\u0437\u0430\u0446\u0438\u0438, \u043a\u0430\u043a \u0438 \u0434\u043b\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439.<\/p>\n<h3>Softmax-regression<\/h3>\n<p>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u043e\u0431\u0449\u0438\u0442\u044c \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u043e\u043a\u043b\u0430\u0441\u0441\u043e\u0432\u043e\u0439 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 2 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438:<\/p>\n<ul>\n<li>\n<p><strong>one vs rest<\/strong>, \u043a\u043e\u0433\u0434\u0430 \u043e\u0431\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0432 \u0442\u0430\u0440\u0433\u0435\u0442\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0438\u043d\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0430 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043a\u043b\u0430\u0441\u0441 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e;<\/p>\n<\/li>\n<li>\n<p><strong>softmax<\/strong>, \u043a\u043e\u0433\u0434\u0430 \u043e\u0434\u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u0447\u0442\u043e \u043c\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e.<\/p>\n<\/li>\n<\/ul>\n<p>\u0418\u0434\u0435\u044f softmax-\u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0431\u0438\u043d\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0430\u0440\u0433\u0435\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e one-hot \u0438 \u0434\u043b\u044f \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u0435\u0441\u043e\u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435, \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0447\u0438\u0441\u043b\u0443 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u0442\u0430\u0440\u0433\u0435\u0442\u0435. \u0414\u0430\u043b\u0435\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u0432\u0435\u0441\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u0430 \u043e\u0442 0 \u0434\u043e 1 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 softmax, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u0430\u043a\u0436\u0435 \u0435\u0449\u0451 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439.<\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c <em>\u043f\u0435\u0440\u0435\u043a\u0440\u0451\u0441\u0442\u043d\u0430\u044f \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044f (cross-entropy)<\/em> \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0430 \u0448\u0442\u0440\u0430\u0444\u0443\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0438\u0437\u043a\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u043a\u0440\u043e\u0441\u0441-\u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u043e\u0446\u0435\u043d\u043e\u0447\u043d\u044b\u0445 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0446\u0435\u043b\u0435\u0432\u044b\u043c \u043a\u043b\u0430\u0441\u0441\u0430\u043c. \u0418\u0442\u043e\u0433\u043e\u0432\u044b\u043c \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u043e\u043c \u043d\u0430 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u0431\u0443\u0434\u0435\u0442 \u043a\u043b\u0430\u0441\u0441 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<p><strong>\u0424\u043e\u0440\u043c\u0443\u043b\u044b \u0434\u043b\u044f \u0440\u0430\u0441\u0447\u0451\u0442\u043e\u0432<\/strong><\/p>\n<p>\u041b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0430  :<\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f softmax:<\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c:<\/p>\n<p>\u0413\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0430 :<\/p>\n<p>\u0412\u0435\u043a\u0442\u043e\u0440-\u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u0432\u0435\u0441\u043e\u0432 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0430 :<\/p>\n<p>\u0413\u0434\u0435:<\/p>\n<ul>\n<li>\n<p>  \u2014 \u0447\u0438\u0441\u043b\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>  \u2014 \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u043f\u043e \u0441\u0443\u0442\u0438, softmax \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u0443\u044e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e one vs rest, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043b\u0438\u0448\u043d\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430\u043c\u0438. \u0415\u0449\u0451 \u043e\u0434\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0443\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0432 \u0442\u0430\u0440\u0433\u0435\u0442\u0435 (k=2) \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u0431\u0443\u0434\u0435\u0442 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u0430 log loss \u0432 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0434\u043b\u044f \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f. <\/p>\n<h4>\u0418\u043c\u043f\u043e\u0440\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a<\/h4>\n<pre><code class=\"python\">import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler, LabelEncoder from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score from mlxtend.plotting import plot_decision_regions<\/code><\/pre>\n<h4>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 Python \u0441 \u043d\u0443\u043b\u044f<\/h4>\n<p><strong>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f<\/strong><\/p>\n<pre><code class=\"python\">class GDLogisticRegression:     def __init__(self, learning_rate=0.1, tolerance=0.0001, max_iter=1000):         self.learning_rate = learning_rate         self.tolerance = tolerance         self.max_iter = max_iter      def fit(self, X, y):         n_samples, n_features = X.shape         self.bias, self.weights = 0, np.zeros(n_features)         previous_db, previous_dw = 0, np.zeros(n_features)          for _ in range(self.max_iter):             y_pred_linear = X @ self.weights + self.bias             y_pred_sigmoid = 1 \/ (1 + np.exp(-y_pred_linear))             db = 1 \/ n_samples * np.sum(y_pred_sigmoid - y)             dw = 1 \/ n_samples * X.T @ (y_pred_sigmoid - y)              self.bias -= self.learning_rate * db             self.weights -= self.learning_rate * dw             abs_db_reduction = np.abs(db - previous_db)             abs_dw_reduction = np.abs(dw - previous_dw)              if abs_db_reduction &lt; self.tolerance:                 if abs_dw_reduction.all() &lt; self.tolerance:                     break              previous_db = db             previous_dw = dw      def predict(self, X_test):         y_pred_linear = X_test @ self.weights + self.bias         y_pred_sigmoid = 1 \/ (1 + np.exp(-y_pred_linear))         classes = np.array([0 if pred &lt; 0.5 else 1 for pred in y_pred_sigmoid])          return classes<\/code><\/pre>\n<p><strong>Softmax-\u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f<\/strong><\/p>\n<pre><code class=\"python\">class SoftmaxRegression:     def __init__(self, learning_rate=0.1, tolerance=0.0001, max_iter=1000):         self.learning_rate = learning_rate         self.tolerance = tolerance         self.max_iter = max_iter      def _softmax(self, predictions):         exp = np.exp(predictions)          return exp \/ np.sum(exp, axis=1, keepdims=True)      def fit(self, X, y):         n_classes = len(np.unique(y))         n_samples, n_features = X.shape         one_hot_y = pd.get_dummies(y).to_numpy()          self.bias = np.zeros(n_classes)         self.weights = np.zeros((n_features, n_classes))         previous_db = np.zeros(n_classes)         previous_dw = np.zeros((n_features, n_classes))          for _ in range(self.max_iter):             y_pred_linear = X @ self.weights + self.bias             y_pred_softmax = self._softmax(y_pred_linear)             db = 1 \/ n_samples * np.sum(y_pred_softmax - one_hot_y, axis=0)   # sum by columns             dw = 1 \/ n_samples * X.T @ (y_pred_softmax - one_hot_y)              self.bias -= self.learning_rate * db             self.weights -= self.learning_rate * dw             abs_db_reduction = np.abs(db - previous_db)             abs_dw_reduction = np.abs(dw - previous_dw)              if abs_db_reduction.all() &lt; self.tolerance:                 if abs_dw_reduction.all() &lt; self.tolerance:                     break              previous_db = db             previous_dw = dw      def predict(self, X_test):         y_pred_linear = X_test @ self.weights + self.bias         y_pred_softmax = self._softmax(y_pred_linear)         most_prob_classes = np.argmax(y_pred_softmax, axis=1)          return most_prob_classes<\/code><\/pre>\n<h4>\u041a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/h4>\n<pre><code class=\"python\">def decision_boundary_plot(X, y, X_train, y_train, clf, feature_indexes, title=None):     feature1_name, feature2_name = X.columns[feature_indexes]     X_feature_columns = X.values[:, feature_indexes]     X_train_feature_columns = X_train.values[:, feature_indexes]     clf.fit(X_train_feature_columns, y_train.values)      plot_decision_regions(X=X_feature_columns, y=y.values, clf=clf)     plt.xlabel(feature1_name)     plt.ylabel(feature2_name)     plt.title(title)<\/code><\/pre>\n<h4>\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u043e\u0432<\/h4>\n<p>\u0414\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u00a0<a href=\"https:\/\/www.kaggle.com\/datasets\/rashikrahmanpritom\/heart-attack-analysis-prediction-dataset\" rel=\"noopener noreferrer nofollow\">Heart Attack dataset<\/a>, \u0433\u0434\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u043b\u0438\u0431\u043e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0434\u0435\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430 \u0443 \u043f\u0430\u0446\u0438\u0435\u043d\u0442\u043e\u0432, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0438\u0445 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0445.<\/p>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 softmax-\u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f\u00a0<a href=\"https:\/\/www.kaggle.com\/datasets\/sujithmandala\/credit-score-classification-dataset\/data\" rel=\"noopener noreferrer nofollow\">Credit Score Classification Dataset<\/a>\u00a0\u0434\u043b\u044f \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0430 \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0430 \u043b\u044e\u0434\u0435\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0438\u0445 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430, \u0434\u043e\u0445\u043e\u0434\u0430 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.<\/p>\n<pre><code class=\"python\">df_path = \"\/content\/drive\/MyDrive\/heart_attack.csv\" heart_attack = pd.read_csv(df_path) print(heart_attack.head())  X1, y1 = heart_attack.iloc[:, :-1], heart_attack.iloc[:, -1] X1_scaled = StandardScaler().fit_transform(X1) y1 = pd.Series(LabelEncoder().fit_transform(y1))  X1_train, X1_test, y1_train, y1_test = train_test_split(X1, y1, random_state=0) X1_train_s, X1_test_s, y1_train, y1_test = train_test_split(X1_scaled, y1, random_state=0)      age  sex  cp  trtbps  chol  fbs  restecg  thalachh  exng  oldpeak  slp  \\ 0   63    1   3     145   233    1        0       150     0      2.3    0    1   37    1   2     130   250    0        1       187     0      3.5    0    2   41    0   1     130   204    0        0       172     0      1.4    2    3   56    1   1     120   236    0        1       178     0      0.8    2    4   57    0   0     120   354    0        1       163     1      0.6    2        caa  thall  output   0    0 <\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-372005","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/372005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=372005"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/372005\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=372005"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=372005"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=372005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}