یادگیری ماشین

من یک مهندس فناوری اطلاعات هستم که علاقه زیادی به دنیای فناوری اطلاعات، برنامه نویسی، امنیت و شبکه دارم.

یادگیری ماشین لرنیتنگ یا یادگیری ماشینی را از کجا شروع کنیم؟

۵۵۶ بازديد
اگر واقعا می خواهید قابلیت ها و محدودیت های یادگیری ماشین را درک کنید، باید دستیار خود باشید. در اینجا یک لیست کوتاه از گزینه های برای مبتدیان است.
هر کس باید یک درک مفهومی از یادگیری ماشین داشته باشد تا بتوانند با تمرینکنندگان به طور موثرتر ارتباط برقرار کنند. برای اینکه واقعا بدانید که یادگیری ماشین چه چیزی می تواند و نمی تواند انجام دهد، شما باید با آن دست و پنجه نرم کنید، این همان چیزی است که کنجکاو، سازندگان حرفه ای و حل کننده های DIY انجام می دهند.


نقطه شروع برای افراد بر اساس آموزش و تجربه آنها متفاوت است. با این حال، عناوین منابع ممکن است لزوما این واقعیت را منعکس نکنند. در زیر یک لیست کوتاه از منابع با کمی درک به نیاز و ارزش خود را است. یادگیری عمیق، یک زیر شاخه یادگیری ماشین، عمدا حذف شده است تا تمرکز این مقاله را به یادگیری ماشین به طور کلی حفظ کنید.

مسابقات

مسابقات فرصتی را برای هر کسی فراهم می کند تا با یادگیری ماشین دست به کار شود. اجازه ندهید که کلمه "رقابت" شما را بترساند، زیرا شما منابع زیادی در این سایت ها برای هر کسی به صورت رایگان در اختیار دارید. بعدها، اگر تصمیم به رقابت دارید، و اگر موقعیتی برجسته ای در هیئت مدیره رهبر کسب کنید، شما باید چیزی بیشتر به رزومه خود اضافه کنید.

Kaggle یک پلتفرم علمی داده است که کسب و کارها برای حل مشکل به مشکل برخورد می کنند. کاربران می توانند به مجموعه داده ها، هسته، دوره های مینی رایگان، انجمن، وبلاگ ها، پست های شغلی، مستندات و موارد دیگر دسترسی داشته باشند.

Open ML (بتا 2) خود را "جنبش فراگیر برای ساختن اکوسیستم باز، سازمان یافته و آنلاین برای یادگیری ماشین" توصیف میکند. این ابزارهای منبع باز را برای کشف و به اشتراک گذاری داده ها ایجاد می کند. شرکت کنندگان می توانند داده های باز را به محیط یادگیری ماشین های مورد علاقه خود بکشند و خود را با مدل های خود یا با کمک دانشمندان داده های اجتماعی بسازند.

AnalyticsVidhya خود را به عنوان "اکوسیستم علم اطلاعات نسل بعدی" قرار می دهد. وب سایت آن دسترسی به مسابقات، جامعه، آموزش، وبلاگ ها، گواهینامه ها و لیست های کاری را فراهم می کند.

دوره های آنلاین، bootcamps و برنامه های گواهینامه

توجه داشته باشید که بسیاری از دوره های مقدماتی، سطح پایه ای دانش را در اختیار همه قرار می دهند، بنابراین عناوین منابع می توانند گمراه کننده باشند. به عنوان مثال، دوره های مقدماتی و پیشرفته "Introduction to Machine Learning"، مهارت های برنامه نویسی R یا آموزش زبان Python و سطح دانش در کالج، جبر خطی و آمار را در نظر می گیرند. همچنین دوره هایی برای رهبران کسب و کار و دیگران که نیاز به مهارت های برنامه نویسی اساسی (نه لزوما در R یا Python) و مهارت های ریاضی پایه وجود دارد.

واژه های مشاوره از متخصصان

اگر میخواهید با یادگیری ماشین موفق شوید، جاش فلیچر، یک مهندس مکانیک در AI و مشاوره یادگیری ماشین Atrium، سه توصیه ارائه میدهد:

یاد بگیرید چگونه داده ها را بکشید و دستکاری کنید
داده های حقیقی هرگز به اندازه کافی در کتاب های درسی نیست
برای استفاده از مدل هایی که می سازید، باید بدانید که اطلاعات چه معنایی دارد. شما نمی توانید این را بدون درک عملیات تجاری بدانید
دانش آموخته سرباز آمین کاظروونی، زاپوپس توصیه می کند با مشکالت کسب و کار شروع به جای یادگیری دستگاه کند.

کازروونی گفت: "ایجاد مشکلات برای راه حل های سرد، به ندرت یک سرمایه گذاری صحیح است." "در عوض، به بزرگترین مشکلات و داده های شما نگاه کنید و سپس آن مشکلات را با داده های خود مطابقت دهید. این به شما اجازه می دهد تا راهکارهای یادگیری ماشین را برای مسائل اصلی کسب و کار آماده کنید [و] شما را برای احتمال بسیار بیشتر برای موفقیت در فضا آماده می کند. "

Konrad Pabianczyk، تیم مدیریت کسب و کار AI در Netguru طرفداران Scikit-Learn برای Python و Tensorflow است.

"Pabianczyk گفت:" Scitkit یادگیری دارای مدارک خوب هدفمند درک روش های مختلف است. " "این می تواند شروع خوبی برای یادگیری، به عنوان مثال .. که در آن الگوریتم های متعدد برای درک بهتر بهبود یافته مقایسه شده است. برای پیدا کردن چارچوب های یادگیری ماشین خاص، شروع به شروع با Tensorflow".

زبان برنامه نویسی پایتون ابزاری برای یادگیری ماشین و هوش مصنوعی

۵۶۳ بازديد
توسعه دهندگان واقعا از زبان برنامه نویسی Python استفاده می کنند؟

با توجه به نظرسنجی توسعه دهندگان توسط JetBrains (که همچنین Kotlin را معرفی کرد، زبان پیشرفته برای توسعه اندروید)، 49 درصد از آنها می گویند از تحلیل Python برای تحلیل داده ها استفاده می کنند، پیش از توسعه وب (46 درصد)، یادگیری ماشین (42 درصد ) و مدیریت سیستم (37 درصد).

تعداد قابل توجهی از توسعه دهندگان نیز از زبان برای تست نرم افزار (25 درصد)، نمونه اولیه نرم افزار (22 درصد) و "اهداف آموزشی" (20 درصد) استفاده می کنند. هرچند کمتر آن را برای گرافیک، توسعه جاسازی شده یا بازی / توسعه تلفن همراه انتخاب کردیم.


این داده ها فقط ایده کلی را تقویت می کند که پایتون بلای فضای تجزیه و تحلیل داده ها است. اگرچه زبانهای بسیار تخصصی مانند R جایگاه خود را در میان دانشگاهیان و تحلیلگران محققان بیشتر محسوب می شوند، اما واضح است که سهولت استفاده نسبی پایتون (به جز در همه جا آن)، آن را در بین کسانی که نیاز به اطلاعات را برای برخی از جنبه ها دارند، بسیار دوست دارند از مشاغل آنها.

این روند نیز برای مدت زمان زیادی ادامه دارد: در فوریه 2018، نظرسنجی KDnuggets نشان داد که کاهش مصرف R به نفع Python در بین جوانانی که از هر دو زبان استفاده می کنند، کاهش می یابد. در طول همان دوره، یک نظرسنجی جداگانه از Burtch Works نشان داد که استفاده از زبان در میان متخصصان تجزیه و تحلیل، از 53 درصد به 69 درصد در طی مدت مشابه دو سال افزایش یافته است، در حالی که پایگاه کاربری R تقریبا یک سوم کاهش یافته است.

اما شما همچنین نمی توانید از استفاده پایتون در یادگیری ماشین نادیده بگیرید، که به طور گسترده ای به عنوان بخش مهمی از تقریبا هر استراتژی فناوری آینده هر شرکتی مورد توجه است. اگر توسعه دهندگان از پایتون برای ساخت ابزار یادگیری ماشین استفاده می کنند، به این معنی است که زبان یک قفل بزرگ در ML / A.I دارد. اکوسیستم به نظر می رسد که چگونه نرم افزار آینده توسعه می یابد.


اگر پایتون را نمی دانید، این یک زبان حیاتی برای یادگیری است. خوشبختانه انواع وب سایت ها، کتاب ها و سایر منابع وجود دارد که می تواند شما را سریع کند.

کدام نسخه از پایتون را استفاده می کنید؟
داده های JetBrains نشان می دهد که اکثریت قابل توجه توسعه دهندگان (87 درصد) در پایتون 3 هستند، در حالی که 13 درصد هنوز در پایتون 2 هستند. این رشد بسیار سریع برای پایتون 3 است که سه چهارم بازار در سال گذشته داشت.

زبان به نسخه 3.7.3 است و تکرارهای جدید ویژگی های مفیدی را برای توسعه دهندگان اضافه می کند. به عنوان مثال، 3.7.0 شامل توابع زمان جدید، حالت UTF-8 مجازی، نقطه بوق ساخته شده، کلاس داده ها و حالت زمان اجرا است. به عبارت دیگر، توسعه دهندگان برای ادامه کار با نسخه قدیمی تر سخت است که در نسخه های بعدی به کار خود ادامه دهد تا زندگی آنها را ساده تر کند، مگر اینکه کار آنها مستلزم مبارزه با کد های میراثی باشند که قابل ارتقا نیست.

بسته به آنچه میخواهید انجام دهید، ممکن است بخواهید از پایتون 2 استفاده کنید. از این صفحه برای مقایسه 2.x و 3.x استفاده کنید، که شاید فرآیند تصمیمگیری شما را سادهتر کند.

زبان برنامه نویسی R یا پایتون؟ کدامیک برای تحلیل داده بهتر هستند؟

۵۸۹ بازديد
بحث در مورد Python در مقابل R در جامعه دانشمند اطلاعات، در اینجا نحوه دو زبان برنامه نویسی مطابقت دارد.

پایتون در مقابل R یک بحث مشترک در بین دانشمندان داده است، زیرا هر دو زبان برای کار داده ها و در میان مهارت های اغلب ذکر شده در پست های شغلی برای موقعیت های داده های علمی مفید هستند. هر زبان مزایا و معایب مختلفی برای کار علمی داده است و باید بسته به کار شما انجام شود.

Norm Matloff، استاد علوم رایانه ای در دانشگاه کالیفرنیا دیویس، برای کمک به دانشمندان داده ها، یک زبان گیتفا را برای هدف قرار دادن برخی از نکات در این بحث نوشت.

Matloff R و Python را در 10 دامنه زیر مقایسه کرد تا تعیین کنند کدام زبان برنامه نویسی بهتر انتخاب شده است:

ظرافت
برنده: دوره آموزشی پایتون
در حالی که این ذهنیت است، پتون در هنگام برنامه نویسی به طور چشمگیری استفاده از پرانتز و پرانتز را کاهش می دهد، و آن را براق تر می کند، Matloff در پست نوشت.

منحنی یادگیری
برنده: R

در حالی که دانشمندان داده ها با پایتون باید بسیاری از مواد را برای شروع به یادگیری، از جمله NumPy، Pandas و matplotlib یاد بگیرند، انواع ماتریس و گرافیک پایه در پایه R ساخته شده است، Matloff نوشت.

وی با افزودن "R"، تازه کار می تواند تجزیه و تحلیل داده ها را در عرض چند دقیقه انجام دهد. "کتابخانه های پایتون می توانند برای پیکربندی، حتی برای سیستم های هوشمندانه، پیکربندی شوند، در حالی که اکثر بسته های R درست از جعبه خارج می شوند."

کتابخانه های موجود
برنده: جفت

شاخص بسته پایتون (PyPI) دارای بیش از 183000 بسته است، در حالی که شبکه جامع R Archive (CRAN) بیش از 12،000 دارد. Matloff نوشت، با این حال، PyPI نسبت به علوم داده بسیار نازک است.

"برای مثال، من یک بار به کد نیاز داشتم تا محاسبات سریع از نزدیکترین همسایگان یک نقطه داده داده شده را انجام دهم. (متاسفم کد را با استفاده از آن برای طبقه بندی انجام دهید)" ماتلوف نوشت. "من توانستم بلافاصله بجای دو بسته برای انجام این کار پیدا کنم. در مقابل، در حال حاضر من سعی کردم نزدیکترین کد همسایه برای پایتون را پیدا کنم و حداقل با جستجوی پرطرفدار من، دستیابی خالی به دست آمد؛ فقط یک پیاده سازی وجود داشت که خود را ساده و سر راست توصیف کرد، هیچ چیز سریع نیست. "

هنگامی که شرایط زیر را در PyPI جستجو می کنید، هیچ چیز نمی آید، Matloff افزود: مدل log-line؛ رگرسیون پواسون؛ متغیرهای ابزار؛ داده های فضایی؛ نرخ خطای خانوادگی.

یادگیری ماشین
برنده: پایتون (اما نه خیلی زیاد)

رشد گسترده پایتون در سال های اخیر بخشی از افزایش یادگیری ماشین و هوش مصنوعی (AI) است. Matloff نوشت: در حالی که دوره Python تعدادی از کتابخانه های دقیق را برای تشخیص تصویر ارائه می دهد، مانند AlexNet، نسخه های R نیز به آسانی قابل توسعه می باشند.

"قدرت کتابخانه های پایتون از تنظیم برخی از عملیات تشخیص تصویر است که می تواند به راحتی در پوشه Reras Keras اجرا شود و از این رو، یک نسخه خالص از TensorFlow می تواند توسعه یابد"، Matloff نوشت. "در همین حال، من می خواهم ادعا کنم که در دسترس بودن بسته های R برای جنگ های تصادفی و تقویت شیب قابل توجه است."

صحت آماری
برنده: R (تا کنون)

متلوف نوشت که متخصصان در یادگیری ماشین که برای پایتون طرفداری می کنند گاهی اوقات درک درستی از مسائل مربوط به آماری دارند. از سوی دیگر، از سوی آمارگیران، برای آمارگیران نوشته شده است.

محاسبات موازی
برنده: جفت

متلوف نوشت: نسخه های پایه R و Python پشتیبانی زیادی برای محاسبات چندگانه ندارند. بسته multiprocessing پایتون یک راه حل خوب برای مسائل دیگر آن نیست، و بسته موازی R نیز نیست.

ماتلوف نوشت: "کتابخانه های خارجی که از محاسبه خوشه پشتیبانی می کنند در هر دو زبان خوب هستند." "در حال حاضر پایتون رابط کاربری بهتر را به GPU ها دارد."

رابط C / C ++
برنده: R (اما نه خیلی زیاد)

متلوف نوشت: Rcpp R یک ابزار قدرتمند برای اتصال R به C / C ++ است. در حالی که پایتون ابزارهایی مانند swig برای انجام این کار دارد، آنقدر قدرتمند نیست و بسته Pybind11 هنوز در حال توسعه است. ماتلوف نوشت: ایده جدید ALTREP R همچنین دارای قابلیت بالقوه برای افزایش عملکرد و قابلیت استفاده است. با این حال، انواع Cython و PyPy از Python گاهی اوقات می تواند نیاز به رابط C / C ++ صریح را حذف کند.

جهت گیری شی، metaprogramming
برنده: R (اما نه خیلی زیاد)

ماتلوف نوشت، اگرچه توابع اشیا در هر دو R و Python هستند، R آن را جدی تر می گیرد.

او گفت: "هر زمان که من در پایتون کار می کنم، من از این واقعیت که من نمی توانم یک تابع را به ترمینال، که من در R بسیار کار می کنم، ناراحت هستم." پایتون تنها یک پارادایم OOP دارد. در R، شما انتخاب خود را از چند، هر چند برخی ممکن است بحث که این خوب است. با توجه به ویژگی های متالورژیم جادویی R (کد تولید کد)، دانشمندان کامپیوتر باید روی R قرار بگیرند. "

اتحاد زبان
برنده: پایتون (تا کنون)

در حالی که پایتون از نسخه 2.7 به 3.x منتقل می شود، این باعث ایجاد اختلال زیادی نمی شود. با این حال، متولف نوشت: R به دلیل تاثیرات RStudio: R و Tidyverse به دو گویش متفاوت تبدیل شده است.
ماتلوف نوشت: "شاید بهتر باشد اگر Tidyverse برتر از R معمولی باشد، اما به نظر من این نیست." "این باعث می شود همه چیز برای مبتدیان مشکل تر است."

ساختارهای داده مرتبط هستند
برنده: پایتون (به احتمال زیاد)

ماتلوف نوشت: "ساختار داده های کلاسیک علوم رایانه، مانند درخت های باینری، در پیونس آسان است." "در حالی که این را می توان در R با استفاده از کلاس" لیست "خود انجام داد، می توان حدس زد که آن آهسته است."

طبق یک گزارش آکادمی ابر 2018، هنگامی که به پست های کاری می آید، تقاضا برای مهندسان داده با R در مقایسه با افرادی که در پایتون مهارت دارند، کم است. تقریبا 66٪ از پست های پست شده توسط مهندسین داده مربوط به پایتون بوده است، در مقایسه با فقط 18٪ از پست هایی که اشاره کردید.

طبق گفته Cloud Academy، خارج از R و Python، دیگر مهارت های درخواستی برای مهندسان داده شامل SQL، Spark، Hadoop، Java، Amazon Web Services (AWS)، Scala و کافکا هستند.

برترین زبان‌های برنامه نویسی 2019 برای کاربردهای پیشرفته هوش مصنوعی و یادگیری ماشین

۵۵۸ بازديد
علم اطلاعات بسیاری از پیروان را جذب کرده است، این واقعیت از تعداد زیادی ثبت نام در سمینارهای علمی داده ها و کارگاه ها و هکاتون داده ها فراتر رفته است. دانشمند داده یکی از پرطرفدارترین شغل در صنعت امروز است و با تقاضای فراوان، نیاز به افرادی است که دارای مهارتهای لازم برنامه نویسی و تخصص ریاضی هستند.

قبل از به دست آوردن تخصص، یک دانشمند مشتاق داده باید بتواند تصمیم درستی بگیرد که کدام زبان برنامه نویسی برای کار استفاده شود. تعدادی از زبان های برنامه نویسی وجود دارد که می تواند برای نوشتن کد ها بسته به کار در دست باشد. در اینجا یک لیست از زبان های برنامه نویسی بالا برای تحلیل های پیشرفته، یادگیری ماشین و علوم داده وجود دارد.

 پایتون
پایتون یک هدف کلی ساده و یک زبان برنامه نویسی چند پارادایم است که بر تعداد زیادی از کتابخانه ها کمک می کند تا کاربران را به انجام وظایف مختلفی از جمله اتوماسیون، چند رسانه ای، رابط کاربری گرافیکی، پایگاه داده، متن و پردازش تصویر. دوره آموزشی پایتون یک زبان آسان برای یادگیری و کار با آن است که توسط هر دو دانش آموز و استخدام شده ترجیح داده شده است. پایتون ترکیبی از رابط کاربری با الگوریتم های با کارایی بالا که در Fortran یا C نوشته شده است و تبدیل به یک زبان برنامه نویسی پیشرو برای دانش داده های باز است که به طور گسترده ای در توسعه وب، محاسبات علمی، داده کاوی و دیگر موارد استفاده می شود.

 

R
R یک زبان منبع باز و محیط نرم افزاری است که به طور گسترده ای برای محاسبات و گرافیک های آماری استفاده می شود. بسیاری از کارکنان R به عنوان یک الزام اساسی در یادگیری ماشین و علوم داده مورد نیاز است. R یک مهارت برنامه نویسی قوی شی گرا را ارائه می دهد که به آن مزیت بیش از دیگر زبان های محاسباتی را می دهد. R به شدت مورد استفاده برای تولید گراف ها و دیگر نمادهای ریاضی به استثنای ایجاد آرایه ها، فریم های داده، بردارها و ماتریس ها است. R به عنوان یک جایگزین برای SAS و Matlab عمل می کند، محبوبیت R می تواند به طور گسترده ای درک شود زیرا این انتخاب برای شرکت هایی مانند فیس بوک و گوگل انتخاب شده است.

 

SQL
زبان پرسوجو سازه ای (SQL) برای مقابله با پایگاه های داده های بزرگ مورد استفاده قرار می گیرد و به ویژه در به روز رسانی، جستجو و دستکاری پایگاه های داده مفید است. SQL در مدیریت پایگاههای داده ای به خصوص بزرگ استفاده می شود و زمان چرخش برای درخواست های آنلاین را با زمان پردازش سریع آن کاهش می دهد. یک دانشمند کارآمد داده باید اطلاعات زیادی از پایگاه داده استخراج و خراب کند، به همین علت، دانش SQL باید باشد. SQL یک زبان برنامه نویسی آسان برای یادگیری با آسان به درک نحو، مانند SELECT نام از کاربران که سن> 30.

 

MATLAB
 
MATLAB یک زبان محاسباتی عددی است که توسط Mathworks طراحی شده و برای محاسبات عددی با زمینه مشابه به پایتون طراحی شده است. MATLAB مبتنی بر C، C ++، و زبان های برنامه نویسی جاوا، سریع، پایدار و الگوریتم های جامد برای زبان محاسباتی عددی است که توسط کل دانشگاه و صنعت مورد استفاده قرار می گیرد. MATLAB به عنوان یک زبان مناسب برای ریاضیدانان و دانشمندان با نیازهای پیچیده ریاضی مانند پردازش تصویر، جبر ماتریس و پردازش سیگنال برخورد می شود.

 

اسکالا
Scala (زبان مقیاس پذیر) یک زبان برنامه نویسی منبع باز است که دارای یکی از بزرگترین پایگاه های کاربری است. Scala انتخاب ایده آل زبان با برنامه نویسان است که در مجموعه داده های با حجم بالا کار می کنند، زیرا پشتیبانی کامل از برنامه نویسی کاربردی و یک سیستم نوع استاتیک قوی ارائه می دهد. کاربران می توانند از Scala در ارتباط با Spark استفاده کنند، و Scala را یک زبان برنامه نویسی ایده آل در هنگام برخورد با حجم زیادی از داده ها. Scala از برنامه های OOP و برنامه های کاربردی پشتیبانی می کند و می تواند برای نوشتن برنامه های وب استفاده شود.

 

جولیا
جولیا یک زبان برنامه نویسی پویا سطح بالا برای محاسبات و تجزیه و تحلیل عددی است. جولیا قادر به برنامه نویسی همه منظوره است و تبدیل به یک انتخاب عالی برای مقابله با پروژه های پیچیده که شامل مجموعه های داده های با حجم بالا است تبدیل شده است. برای کدنویسی که نحو کار با مقدار همگانی پایتون را به کار میگیرد، جولیا زبان برنامهنویسی بعدی است که میخواهند یاد بگیرند.

چشم انداز علم داده به سرعت در حال پیشرفت است، زیرا کسب و کار ها یاد می گیرند که اهمیت داده ها برای آنها با نیاز به دانش دانشمندان همچنان رشد می کند. مهارت های شناخته شده و دانش زبان های داده های علمی نه تنها دانش حرفه ای داده های کاربر را به ارتفاعات جدید می برد بلکه موجب رشد سازمان هایی خواهد شد که در پی پیاده سازی پروژه های داده های علمی هستند. ما امیدواریم که این فهرست قطعی به دانشمندان داده و علاقه مندان به علوم داده کمک کند!

5 زبان برنامه نویسی برتر برای یادگیری ماشین

۵۷۵ بازديد
یادگیری ماشین توسط Andrew Ng، دانشمند کامپیوتر در دانشگاه استنفورد، به عنوان "دانش کامپیوتری برای انجام کار بدون برنامه صریحا برنامه ریزی شده" تعریف شده است. این اولین بار در دهه 1950 درک شد، اما پیشرفت محدودی را تا دوران نوامبر 21 قرن. از آن به بعد، یادگیری ماشین نیروی محرکه ای در پشت تعدادی از نوآوری ها، به ویژه هوش مصنوعی بوده است.


یادگیری ماشین را می توان به چند دسته تقسیم کرد، از جمله آموزش تحت نظارت، بدون نظارت، نیمه نظارت و تقویت یادگیری. در حالی که یادگیری تحت نظارت بر داده های ورودی برچسب شده به منظور به دست آوردن روابط خود با نتایج خروجی متکی است، یادگیری بی نظیر الگوهای بین داده های ورودی بدون برچسب را تشخیص می دهد. یادگیری نیمه نظارتی ترکیبی از هر دو روش را استفاده می کند و یادگیری تقویت می کند برنامه ها را برای تکرار یا تعمق در فرآیند با نتایج مطلوب در حالی که اجتناب از اشتباهات را تسریع می کند. (برای یادگیری در مورد تاریخ برنامه نویسی، بررسی برنامه نویسی کامپیوتر: از زبان ماشین به هوش مصنوعی.)

چندین صنایع مختلف در حال حاضر از یادگیری ماشین بهره می برند و تقاضای روزافزون برای محصولات و خدمات ML در سراسر جهان توسعه یافته وجود دارد. بنگاه های مختلفی از قابلیت های پیش بینی شده خود بهره می برند و به دنبال توسعه روش های یادگیری ماشین های مجزا برای تصمیم گیری های آگاهانه هستند. راه های مختلفی برای شرکت ها وجود دارد که بتوانند به این تکنولوژی دست یابند، از جمله چند زبان برنامه نویسی که در این زمینه برجسته هستند.

پایتون
آموزش پایتون که توسط بنیاد پایتون در اوایل دهه 1990 توسعه یافته است، یک زبان برنامه نویسی سطح بالا است که دارای بسیاری از کاربردهای مختلف، از جمله دانش داده ها و توسعه وب است. به عنوان ابزار قدرتمند تجزیه و تحلیل داده ها، آن را به طور گسترده ای در فن آوری داده های بزرگ استفاده می شود، و جامعه قوی از توسعه دهنده های ماشین های یادگیری کمک کرده است وضعیت خود را در زمینه رشد هوش مصنوعی افزایش یافته است.

با توجه به این جامعه پر جنب و جوش، در حال حاضر بسیاری از کتابخانه های پیش ساخته شده برای یادگیری ماشین در پایتون وجود دارد. و پایتون پلت فرم آگنوستیک است، به این معنی که آن را به تقریبا هر سیستم عامل سازگار است. این نیز منبع باز است، که باعث می شود آن را برای عموم قابل دسترس باشد.

پایتون یک زبان پویا است که می تواند مشکلات را در محیط های یادگیری ماشین ایجاد کند. برای یک، خطاها وقتی می توانند برنامه های بزرگتر و پیچیده تر رشد کنند، مشکل می شود. این می تواند نقایص گرانقیمت و همچنین کاهش عملکرد را ایجاد کند.

R
همچنین در اوایل دهه 1990 توسعه یافت، R بخشی از پروژه گنو است. این روش به طور گسترده ای در تجزیه و تحلیل داده ها مورد استفاده قرار می گیرد و به طور معمول به وظایف یادگیری ماشین های رایج مثل رگرسیون، طبقه بندی و شکل گیری درخت تصمیم می پردازد. این یک زبان برنامه نویسی بسیار محبوب در میان آمارگیران است.

R همچنین منبع باز است و به طور گسترده ای مشهور است که نسبتا آسان برای نصب، پیکربندی و استفاده است. این پدیده آگنستیک است و با دیگر زبانهای برنامه نویسی هماهنگ است. در کنار تجزیه و تحلیل داده ها، R دارای قابلیت ویژوال بی نظیر اطلاعات است.

علیرغم اینکه نسبت به دیگر ابزارها نسبتا آسان است، R دارای برخی از خصوصیات منحصر به فرد است که می تواند تا حدودی اشتباه در یادگیری، مانند ساختارهای داده های غیر متعارف و نمایه سازی (که از 1 به جای 0 شروع می شود). این نیز کمتر از پایتون محبوب است و در نتیجه مستندات زیادی برای برنامه های کاربردی برای یادگیری ماشین موجود نیست. (برای اطلاعات بیشتر در مورد این دو زبان، نگاه کنید به بحث بین R و پایتون.)

JavaScript
در اواسط دهه 1990، به عنوان یک ابزار برای بهبود شیوه های توسعه وب، جاوا اسکریپت از آن زمان به یکی از زبان های به کار رفته در این زمینه تبدیل شده است. این یک زبان سطح بالا و به صورت پویا است که انعطاف پذیر و چند پارادایم است. اگرچه برنامه های کاربردی آن در یادگیری ماشین محدود شده است، پروژه های پرطرفدار مانند Tensorflow.js گوگل بر اساس جاوا اسکریپت است.

یکی از امیدوار کننده ترین ویژگی های جاوا اسکریپت در زمینه یادگیری ماشین این است که فرصت هایی را برای توسعه دهندگان وب و جلویی ایجاد می کند که قبلا به خوبی با آن آشنا هستند و بنابراین یک نقطه قابل دسترسی برای وارد شدن به موارد دیگر تا حدی ناشناخته و طاقچه دشوار

همانطور که در حال حاضر وجود دارد، با این حال، اکوسیستم برای یادگیری ماشین با جاوا اسکریپت هنوز تا حدودی نابالغ است، بنابراین پشتیبانی از این نوع توسعه در حال حاضر محدود است. همچنین دارای طیف وسیعی از قابلیت های علمی داده ها است که زبان ها مانند R و Python در آنها ساخته شده اند.

سی ++
در میان رایج ترین زبان های برنامه نویسی امروز، C ++ احتمالا قدیمی ترین است. C ++ در اوائل دهه 1980 توسط Bell Labs توسعه یافت و C ++ از تحقیقات دکترا خارج شد که به دنبال گسترش زبان C بود. C ++ با هر دو توانایی برنامه نویسی کم و سطح بالا را فعال می کند، C ++ اجازه می دهد تا سطح بالایی از کنترل و کارایی را نسبت به زبان های دیگر برنامه نویسی در زمینه های یادگیری ماشین فراهم کند.

C + + به ویژه برای برنامه های کاربردی با فشردگی کار می کند، که بخشی از چیزی است که برای یادگیری ماشین عالی است. و به عنوان یک زبان استاتیک تایپ شده، می تواند وظایف را با سرعت نسبتا بالا انجام دهد.

با این حال، C ++ نیاز به یک مقدار زیادی از کد پیچیده برای ساخت برنامه های جدید، که می تواند بسیار وقت گیر باشد و می تواند مقدار زیادی از مشکلات تعمیر و نگهداری را ایجاد کند. این می تواند برای مبتدیان برای ایجاد اشتباهات بسیار آسان باشد.

جاوا
Java در اواسط دهه 1990 طراحی شده توسط Sun Microsystems به عنوان یک زبان برنامه نویسی سطح بالا و شی گرا ساخته شده است که به نظر می رسد و مشابه C ++ است. همراه با بسیار محبوب، جاوا می تواند طیف وسیعی از الگوریتم ها را اجرا کند که برای جامعه یادگیری ماشین بسیار مفید است.

جاوا به عنوان یکی از امن ترین زبان های برنامه نویسی محسوب می شود، عمدتا به دلیل استفاده از آن از بایت کدی و سندباکس. جاوا موفق به استفاده از قدرت C ++ می شود، در حالی که از مسائل امنیتی و پیچیدگی کلی آن عبور می کند.

اما با تمام پیشرفت های آن در C ++، آموزش جاوا شهرت دارد که از بسیاری از زبان های دیگر برنامه نویسی کندتر است. علاوه بر این، تا سال 2019، جاوا مجوز تجاری را برای برنامه های کاربردی خاص تجاری اعمال می کند که می تواند هزینه ای باشد.

نتیجه
از تمامی زبانهای برنامه نویسی که برای یادگیری ماشین استفاده می شود، پایتون محبوب ترین است. با این وجود، زبان هایی مانند جاوا اسکریپت به احتمال زیاد می تواند به عنوان محبوبیت به عنوان چشم انداز تغییر در طول زمان. و اگر چه برنامه های انسانی هرگز ناپدید نمی شوند (یا حداقل در هر زمان در آینده ای نزدیک)، برنامه نویسی برای یادگیری ماشین، در سال های آینده، کمتر به کد متمرکز خواهد شد؛ زیرا ماشین ها برای خودشان آموزش داده می شوند.

یادگیری ماشینی بازی تاج و تخت را پیش بینی می کند

۵۳۴ بازديد
هیچ کس نمی خواهد سریال محبوب به پایان برسد. بعضی ها، مانند جی پی اس در Pachyderm، طول عمر طولانی خود را برای گسترش عمر خود، به نقطه استخدام ML برای خدمت به تخت آهن است.


این یک نمونه جدید از انتقال سبک است که ML ویژگی های اصلی ژانر را به منظور ایجاد نمونه های خود، مانند ما قبلا با هنر و حتی با پخت و پز آشنا کرده ایم.

اما اول از همه، چه Pachyderm و چه کجا این کلمه آمده است؟

Pachy-Derm یک ترجمه مستقیم از کلمه یونانی "παχύ-δερμο" است که به معنی "پوست چرب" است که به الف در فیلمی اشاره دارد. فیل خود را برای نشان دادن رابطه Pachyderm با Hadoop، یکی دیگر از آرم فیل، اما نشان می دهد به عنوان همپوش جدید و بهتر خود استفاده می شود.

Pachyderm، مانند Hadoop، یک موتور تحلیلگر است، به دنبال همان فلسفه است اما ساخته شده برای رفتن به جایی که Hadoop کوتاه می افتد. بنابراین در جای جای نوشتن مشاغل در جاوا و اجرای آنها در JVM، از ظروف Docker مستقر در Kubernetes استفاده می شود که می تواند شامل شغل های نوشته شده در هر زبان باشد. در عوض HDFS، از فایل سیستم Pachyderm استفاده می کند و در عوض MapReduce، از Pipetines Pachyderm برای بسته بندی لوله ها با هم استفاده می کند، همانطور که در مثال مثال GoT ML نشان داده شده است. برای اطلاعات بیشتر در مورد آخرین نسخه، از Pachyderm دیدن سریع تر و به دست آوردن بودجه.

هدف Pachyderm این است که برنامه نویسان را که با MapReduce یا برنامه نویسی Java آشنا نیستند را برای نوشتن برنامه های تجزیه و تحلیل خود با هر وسیله ای که مناسب می بینند را قادر می سازد؛ به عنوان مثال، توسعه دهندگان می توانند پردازش داده های خود را بدون نیاز به دانش فنی تخصصی انجام دهند، از این رو Pachyderm به عنوان بسیار قابل دسترس گزینه از Hadoop.

مثال GoT شامل قرار دادن Pachyderm به عنوان یک ظرف در Kubernetes در AWS S3 سطل و مخزن نگه داشتن داده های ورودی / خروجی مورد استفاده است.

داده های ورودی اسکریپت های پیش پردازش شده فصل 1 قسمت 1 هستند. آنها برای کمک به شبکه عصبی مکرر مورد استفاده قرار گرفته اند که بین محاوره ها و سایر عناصر اسکریپت به عنوان "نمایش"، به طور عمده جهت صحنه و تنظیمات زمینه، تشخیص داده می شود:

Pachyderm این داده ها ذخیره شده محلی را می گیرد و اولین خط لوله را شروع می کند و داده ها را به ظرفی که TensorFlow را اجرا می کنند را برای آموزش مدل می گیرد. پس از پردازش، TF خروجی مدل و همچنین فایل های خاص TF را به عقب بازگرداند.

سپس خط دوم شروع می شود که به عنوان ورودی آن فایل های خروجی در مرحله قبل را می گیرد و با آن یک مثال دیگر TF برای تولید اسکریپت ها فراهم می کند. همانطور که ساده است، بدون پیچیدگی MapReduce.



اولین اسکریپتهای ساخته شده حساسیت زیادی نداشتند، اما با افزایش سطح دقت TensorFlow و همچنین تغذیه اسکریپتهای NN، کیفیت نیز میتواند بسیار بهبود یابد. با این حال، توجه داشته باشید که افزایش دقت نیز زمان پردازش را از ساعت ها تا حتی روزها بسته به زیرساخت های زیرزمینی افزایش می دهد.

پروژه Github repo حاوی اسکریپت هایی است که با دقت مدل کم تولید شده اند، بد نیست بدانید که کل فرآیند یک ساعت طول می کشد و در حالی که برنده Emmys نمی شود، آنها به عنوان یک شاهکار قابل توجهی از انتقال سبک به حساب می آیند تا اینکه "بسیار ماهیت" بدست آورد.

این شبکه عصبی زبان انگلیسی را نمی دانست، خیلی کمتر دستور زبان، اما برخی از قطعات ساختار را برداشت:

آن آموخته است که هر خط یا یک خط سخن گفته است، یا یک خط نمایشگاه

آن را یاد گرفت که خطوط گفتاری با یک نام شروع می شود

آن را یاد گرفتم که کلمات نام ها بودند
    آن را آموخت که چگونه براکت ها را در اطراف یک نام باز / بسته کن
    این نوع کلمات را آموخت (افعال کنونی فعلی، من / شما
     اسم ها) استفاده می شود در خطوط گفتاری

آن را یاد گرفت چگونه برای باز کردن / بستن براکت برای خطوط نمایشگاه
    آن را یاد گرفت چه نوع از کلمات (شخص 3) استفاده می شود
قرار دادن اسکریپت های دیگر به طور خودکار دوباره خط لوله را برای بازآموزی مدل و تولید اسکریپت های جدید به طور خودکار شروع می کند. بازپرداخت پروژه همچنین شامل دستورالعمل هایی در مورد چگونگی تکرار آزمایش خود می شود، بنابراین اگر کیفیت خروجی درست باشد، برای خودتان قضاوت کنید طرح سری.

بگو، چرا شبکه اجازه ندهید فصل 9 را تنظیم کند و همه را خوشحال کند؟