{"id":569,"date":"2018-06-01T06:34:34","date_gmt":"2018-06-01T06:34:34","guid":{"rendered":"https:\/\/www.aiproblog.com\/index.php\/2018\/06\/01\/machine-learning-with-c-polynomial-regression-on-gpu\/"},"modified":"2018-06-01T06:34:34","modified_gmt":"2018-06-01T06:34:34","slug":"machine-learning-with-c-polynomial-regression-on-gpu","status":"publish","type":"post","link":"https:\/\/www.aiproblog.com\/index.php\/2018\/06\/01\/machine-learning-with-c-polynomial-regression-on-gpu\/","title":{"rendered":"Machine Learning with C++ &#8211; Polynomial Regression on GPU"},"content":{"rendered":"<p>Author: Kyrylo Kolodiazhnyi<\/p>\n<div>\n<p>Hello, this is my second article about how to use modern C++ for solving machine learning problems. This time I will show how to make a model for polynomial regression problem described in previous <a href=\"https:\/\/github.com\/Kolkir\/mlcpp\/tree\/master\/polynomial_regression\">article<\/a>, but now with another library which allows you to use your GPU easily.<\/p>\n<p><a href=\"http:\/\/api.ning.com\/files\/Gt215HSejdYa3xdo*IF4015fZkju5QN0gUpVSN5Mcc*gyeuL3VQ72Ycbhul1zrHy4JkYKpDd8idrdgczsaez9r-qMBHDGDI0\/Capture.PNG\" target=\"_self\"><img decoding=\"async\" src=\"http:\/\/api.ning.com\/files\/Gt215HSejdYa3xdo*IF4015fZkju5QN0gUpVSN5Mcc*gyeuL3VQ72Ycbhul1zrHy4JkYKpDd8idrdgczsaez9r-qMBHDGDI0\/Capture.PNG\" width=\"637\" class=\"align-center\"><\/a><\/p>\n<p>For this tutorial I chose <a href=\"https:\/\/github.com\/dmlc\/mshadow\">MShadow<\/a> library, you can find documentation for it <a href=\"https:\/\/github.com\/dmlc\/mshadow\/tree\/master\/doc\">here<\/a>. This library was chosen because it is actively developed now, and used as a basis for one of a wide used deep learning framework <a href=\"https:\/\/mxnet.incubator.apache.org\/\" rel=\"nofollow\">MXNet<\/a>. Also it is a header only library with minimal dependencies, so it&#8217;s integration is not hard at all.<\/p>\n<p>Continue reading the article and source code <a href=\"https:\/\/github.com\/Kolkir\/mlcpp\/tree\/master\/polynomial_regression_gpu\" target=\"_blank\" rel=\"noopener\">here<\/a>. Please feel free to leave comment or create issue in repository if you find some mistakes.<\/p>\n<p><strong>Content<\/strong><\/p>\n<ol>\n<li>Preparations<\/li>\n<li>Loading data to MShadow data-structures<\/li>\n<li>Standardization<\/li>\n<li>Generating additional polynomial components<\/li>\n<li>Generating new data for testing model predictions<\/li>\n<li>Batch gradient descent implementation<\/li>\n<li>Training the regression model<\/li>\n<li>Making predictions<\/li>\n<li>Plot results<\/li>\n<\/ol>\n<\/div>\n<p><a href=\"https:\/\/www.datasciencecentral.com\/xn\/detail\/6448529:BlogPost:726213\">Go to Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Author: Kyrylo Kolodiazhnyi Hello, this is my second article about how to use modern C++ for solving machine learning problems. This time I will show [&hellip;] <span class=\"read-more-link\"><a class=\"read-more\" href=\"https:\/\/www.aiproblog.com\/index.php\/2018\/06\/01\/machine-learning-with-c-polynomial-regression-on-gpu\/\">Read More<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":570,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[26],"tags":[],"_links":{"self":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/569"}],"collection":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=569"}],"version-history":[{"count":0,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/569\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media\/570"}],"wp:attachment":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}