مسیر یادگیری ماشین لرنینگ — مقدمهای بر یادگیری ماشین
به نظر میرسد یادگیری ماشین یکی از جدیدترین و هیجانانگیزترین فناوریهای موجود است. احتمالا روزی دهها بار از آن استفاده میکنید، بدون آن که چیزی در مورد آن بدانید.
به این فکر کنید که چطور چنین چیزی امکان پذیر است؟
وقتی به یادگیری ماشین فکر میکنیم، دو نکتهی مهم به ذهنم خطور میکند. پیشنهادهای یوتیوب و تشخیص چهرهی فیس بوک.
با یوتیوب شروع میکنیم، فرض کنید که شما در حال تماشای ویدئوی آموزشی Edureka’s هستید که به تازگی در سایت بارگذاری شدهاست. به محض انجام این کار، احتمالا ویدئو آموزشی آمار داده به زبان برنامه نویسی پایتون به شما پیشنهاد خواهد شد.
خب یوتیوب چگونه میداند که چه چیزی را باید به شما پیشنهاد دهد؟ کاری که یوتیوب انجام میدهد واقعا پیچیده است، یوتیوب همه آنچه را که قبلا تماشا کردهاید تا کلمات کلیدی در ویدئویی که تماشا کردهاید، را تجزیه و تحلیل میکند. این شگفت انگیز است، مگه نه؟
این را در نظر بگیرید، شما همراه با دوستان خود به تعطیلات رفته اید. چندین تصویر گرفتهاید و میخواهید آنها را در فیس بوک بارگذاری کنید. و شما این کار را انجام میدهید. اما اکنون، پیدا کردن چهره دوستان و برچسب گذاری آنها در تک تک عکسها زمانبر است. خب. فیس بوک به اندازه کافی هوشمند است که افراد را برای شما برچسب گذاری کند.
یادگیری ماشینی به قدری با ظرافت در زندگی ما ادغام شدهاست که حتی حضور آن را احساس نمیکنیم.
یادگیری ماشینی اساسا نوعی هوش مصنوعی است.
همانطور که از تصویر بالا نمایان است، یادگیری عمیق و یادگیری ماشینی از هوش مصنوعی منشعب میشوند. ماشین لرنینگ زیر مجموعهای از هوش مصنوعی است و یادگیری عمیق زیر مجموعهای از یادگیری ماشین است..
بنابراین ماشین لرنینگ، توانایی یادگیری (بدون برنامهریزی صریح) را برای کامپیوترها فراهم میکند.
+ پیش از این آموزش یادگیری ماشین در همرویش منتشر شد. برای دیدن فیلم معرفی این آموزش بر روی این لینک (+) و یا پخش کننده پایین کلیک کنید:
برای دریافت بسته کامل این آموزش بر روی لینک زیر کلیک کنید:
آموزش یادگیری ماشین از صفر — یادگیری سریع و آسان
یادگیری ماشین چگونه کار میکند؟
خیلی ساده است. ابتدا ما دادههای آموزشی داریم. این میتواند هر چیزی باشد که به عنوان مجموعه داده باشد. به عنوان مثال مجموعهای از تصاویر سگها و گربهها را در نظر بگیرید که میخواهید ماشین به شما بگوید کدام تصویر گربه است و کدام تصویر سگ.
بنابراین زمانی که مجموعه دادهها مهیا شد، بصورت مکرر مدل را با فراهم کردن دادهی ورودی، برای دستیابی به دقت بهتر آموزش میدهیم.
در مرحلهی بعدی از مدل آموزش دیده برای پیشبینی استفاده میکنیم.
دادههای جدیدی را نیز فراهم خواهیم کرد و اجازه میدهیم تا الگوریتم بررسی کند که آیا شبیه به دادههای موجود است یا نه و براساس آن پیشبینی میکنیم.
اگر پیشبینیها درست باشند، مدل ما در انجام این کار مقایسهای موفق بودهاست. اگر شکست بخورد، ورودی به اندازه کافی با مجموعه داده مطابقت ندارد، یا چیزی متفاوت است، یا ممکن است نیاز به آموزش بیشتری داشته باشد.
تعمیم
وقتی ورودی مناسبی را برای مدل فراهم نکنیم چه اتفاقی خواهد افتاد؟ از دست خواهد رفت؟ آیا همه چیز درست خواهد بود؟
با تعمیم، اطمینان حاصل میکنیم که یک خروجی منطقی را حتی برای ورودیهایی که مدل قبلا ندیده است، تولید میکنیم. بنابراین، در بیشتر اوقات به یک خطای ثابت دست نخواهیم یافت، اما یک خروجی منطقی را فراهم خواهیم کرد.
مثالی از یادگیری ماشین
خب، کی اینجا تلویزیون نگاه نمیکنه؟ مطمئنا Netflix فقط یک جعبه ذرت بو داده و آخر هفته را برای ما یادآوری میکند، آیا میدانستید که Netflix الگوریتمهای پیچیدهی زیادی دارد؟ همه چیز از پیشنهادها گرفته تا چک کردن خودکار محتوا. بنابراین در اینجا یک مورد را برای شما توضیح میدهم:
همه چیز با یک گروه فیلمبرداری شروع میشود که مجموعه دادههایی را فراهم میکنند که به یک فیلم یا یک نمایش تلویزیونی تبدیل میشوند. اجازه دهید تعمیم دهیم و محتوا را بیان کنیم. محتوا در قالب مربوطهی خود کدگذاری میشود و بازرسیهایی که برای همین منظور مورد نیاز است به طور خودکار انجام میشوند (بله، توسط ماشینها و نه توسط انسانها).
اینجا جایی است که مدل یادگیری ماشین وارد عملشده و کنترل اتوماتیک محتوی را برای ما انجام میدهد. اگر مورد قبول واقع شود، گفته میشود که محتوا مطابق با هنجارها (خواستهها) است. اگر این مدل به وضعیت عدم موفقیت برسد، با مداخلهی انسانی، کنترل کیفیت دستی انجام میشود و در نهایت، در سایت نتفلیکس بصورت زنده پخش میشود.
در اینجا، من فقط یک فرآیند بسیار پیچیده را برای شما ساده کردم، آیا به همین سادگی است.؟
در ادامه این وبلاگ “چگونه مهندس یادگیری ماشین شویم” بررسی میکنیم که مهندس یادگیری ماشین واقعا کیست.
مهندس یادگیری ماشین کیست؟
مهندسان ماشین لرنینگ برنامه نویسان پیچیدهای هستند که ماشینها و سیستمهایی را توسعه میدهند که میتوانند دانش را بدون جهتگیری خاصی یاد بگیرند و به کار گیرند. بنابراین، بیایید آن را ساده کنیم.
آنها فقط برنامهنویسان کامپیوتری هستند، که تمرکز آنها فراتر از برنامهنویسی ماشینها برای انجام وظایف خاص است. آنها برنامههایی را ایجاد میکنند که ماشینها را قادر میسازد تا کارها را بدون اینکه به طور خاص به جهتی هدایت کنند انجام دهند.
حالا اجازه دهید برای یک ثانیه در مورد اهداف خود صحبت کنیم.
هر زمان که نشستهایی را برگزار میکنم، همیشه سوالات زیادی را از توسعه دهندگان دریافت میکنم که میخواهند یادگیری ماشین را شروع کنند اما احساس میکنند دچار مشکل شدهاند. معمولا، تنها چیزی که آنها را عقب نگه میدارد یک باور خود محدود کننده است.
- کامپیوتر من برای ساخت برنامههای ماشین لرنینگ به اندازه کافی خب نیست.
- من الان فقط یک دانشجو هستم.
- من برنامهنویس خیلی خبی نیستم
- خیلی سرم شلوغ است
- وقت کافی ندارم
- من تجربهی کافی ندارم
همان طور که پیداست تنها دلایل خود محدود کننده وجود دارند. چیزهای کوچک را بردارید و غرق در آن نشوید. یادگیری ماشینی واقعا ساده است.
بنابراین در حال حاضر، ما اهداف یک مهندس یادگیری ماشین و همچنین اهداف یک یادگیرنده را تعیین کردهایم.
در ادامه این وبلاگ “چگونه مهندس یادگیری ماشین شویم” بررسی میکنیم که مهندس ماشین لرنینگ واقعا چه کاری انجام میدهد.
مهندس یادگیری ماشین چه کاری انجام میدهد؟
خب ما از قبل میدانیم که تیم علم داده همیشه پر از ایده است. شما باید مطمئن شوید که هیچ فناوری آنها را محدود نمیکند. همانطور که چارچوبهای فعلی ML خب و قابل تنظیم هستند، دیر یا زود همتیمیهای شما یک مورد کاری جذاب خواهند داشت که با هیچ یک از آنها قابلدستیابی نیست.حتی با APIsهای استاندارد.
اما وقتی قسمت داخلی آنها (چارچوبها) را کاوشکنید، و آنها را کمی تغییر دهید و در یکی دو کتابخانهی دیگر ادغام کنید، انجام این کار را ممکن میشود. شما از تغییر چارچوبها، برای بهرهگیری حداکثری استفاده میکنید. این امر هم به دانش برنامهنویسی گسترده و هم به دانش یادگیری ماشین نیاز دارد، چیزی که کاملاً به نقش شما در تیم وابسته است.
و حتی زمانی که چارچوبی تمام نیازهای برنامهنویسی شما را فراهم میکند، هنوز ممکن است کمبودی در قدرت محاسباتی وجود داشته باشد. شبکههای عصبی بزرگ زمان زیادی را برای آموزش صرف میکنند. اگر شما از چارچوبهای GPU محور که بر روی ماشینهای قدرتمند اجرا میشوند استفاده کنید، میتوانید این زمان گرانبها را به میزان قابل ملاحظهای کاهش دهید. شما میتوانید با بررسی مزایا و معایب گزینههای مختلف ابری، مناسبترین گزینه را انتخاب کنید.
در ادامه این وبلاگ “چگونه مهندس یادگیری ماشین شویم” تفاوت مهندس یادگیری ماشین با دانشمند داده را بررسی میکنیم.
تفاوت مهندس یادگیری ماشین با دانشمند داده
وقتی یک شرکتی یا سازمانی مساله یا سوالی دارد که باید با جمعآوری دادهها حل کند، یک دانشمند داده استخدام میکند.
این افراد با سهامداران و رهبران این تحقیق دیدار میکنند تا اهداف اقتصادی، کارایی و یا اهداف مشتری را یاد بگیرند. با استفاده از این اطلاعات، دانشمندان دادهها برنامههای رایانهای با استفاده از جاوا و دیگر زبانها را توسعه میدهند.
نرم افزاری که الگوریتمهای پیچیدهای را ارائه میدهد میتواند به این تکنسینهای صاحب کسب و کار کمک کند تا الگوهایی برای مجموعه دادههای بزرگ بیابند. سپس از این دادهها برای یادگیری بیشتر در مورد بینندگان، تعامل مشتری، فروش، گردش کار و دیگر مسائل استفاده میشود.
هم رویش منتشر کرده است:
آموزش NumPy --- دانشمند داده شوید!
مسئولیتهای شغلی یک دانشمند داده شامل موارد زیر است:
- حذف خطاها از مجموعه دادهها به منظور اجتناب از نتایج نامتوازن
- تنها به دنبال اعداد مربوطه هستند
- تجزیه و تحلیل دادهها با استفاده از روشهای آماری و نوشتن گزارشی که ذینفعان میتوانند برای اطلاع از تغییرات استفاده کنند
- ایجاد گرافها، نمودارها، و دیگر نمایشهای بصری از دادهها
خب، مهندسان یادگیری ماشین سازندگان الگوریتمهایی هستند که به ماشین اجازه میدهد تا الگوهایی را در دادههای برنامهنویسی خود پیدا کند، به او آموزش میدهند تا دستورات را درک کند و حتی خودش فکر کند. هوش مصنوعی که در جاروبرقی اتوماتیک و ماشینهای خودران دیده میشود، “فرزندان فکری” این مهندسان هستند.
نکات برجستهی شغل مهندس یادگیری ماشین عبارتند از:
- تحقیق در مورد تکنولوژیهای جدید و اجرای آنها در برنامههای ماشین لرنینگ
- پیدا کردن بهترین طراحی و سختافزار برای استفاده در ساخت ربات یا کامپیوتر
- توسعه نمونههای ملموس برای نشان دادن سهامداران
- قرار دادن ماشینها در تستهای مختلف برای اطمینان از عملکرد برنامهریزیشده آنها.
در ادامه این وبلاگ “چگونه مهندس یادگیری ماشینی شویم” نقشها و مسئولیتهای مختلف یک مهندس یادگیری ماشین را بررسی میکنیم.
نقشها و مسئولیتهای یک مهندس یادگیری ماشین
ما قبلا نقشها را مورد بحث قرار دادیم، اما در اینجا همه چیز به طور کلی به سه روش تعمیم داده میشود.
اولین و مهمترین نقش تیم، ایجاد محصولات هوش مصنوعی است. این زمانی به دست میآید که ما قادر به ایجاد مدلهای ماشین لرنینگ خودمان باشیم، مگه نه ؟
نکته مهمتر این است که ما نیاز به ایجاد برنامههای کاربردی کارآمد داریم. بهرهوری در اینجا نقش بسیار مهمی را ایفا میکند.
اینها برخی از مسئولیتهای مهندسان ماشین لرنینگ هستند:
- ما باید بتوانیم برخی از نمونههای اولیه را مطالعه کرده و سپس آنها را به برنامههای کاربردی تبدیل کنیم.
- ما باید قادر به طراحی و ساخت سیستمهای یادگیری ماشین خودمان باشیم.
- ما باید در موقعیتی باشیم که برای یافتن الگوریتمها و ابزارهای لازم، تحقیقاتی را انجام دهیم.
- ما برنامههای یادگیری ماشین را براساس آنچه مورد نیاز است توسعه میدهیم.
- همچنین آنچه مهم است انتخاب مجموعه داده درست و یافتن روشهای صحیح نمایش داده است.
- همچنین ما باید آزمونهای یادگیری ماشین و آزمایشهایی را انجام دهیم تا به بهبود مورد نظر دست یابیم.
- و در نهایت، ما باید سیستمها را برای رسیدن به دقت بالا آموزش دهیم. اما گاهی اوقات شما باید آنها را براساس تغییرات مورد نیاز مجددا آموزش دهید.
خب، مطمئناً در حال حاضر زیاد به نظر میرسد، اما واقعاً آنقدرها هم که به نظر میرسد پیچیده نیست. هنگامی که شروع به یادگیری میکنید و شروع به شکستن اصول اولیه میکنید، بسیار ساده است.
اگر میخواهید هوش مصنوعی و یادگیریماشین را بصورت عمیق یاد بگیرید، كافی است در دورهی
“Diploma Artificial Intelligence Course”ثبت نام نمایید.
در ادامه این وبلاگ “چگونه مهندس یادگیری ماشینی شویم” مهارتهای مورد نیاز برای مهندس یادگیری ماشین را بررسی میکنیم.
مهارتهای لازم برای مهندس یادگیری ماشین
خب برای شروع، قطعا یابد با اصول اولیه و مهارتهای برنامهنویسی آشنایی داشته باشید. شما به برخی از دانش پایه در مورد ساختارهای داده، مانند پشتهها، صفها، آرایههای چند بعدی، درختان، گرافها و برخی الگوریتمهای پایه مانند جستجو، مرتبسازی، بهینهسازی، برنامهنویسی پویا و غیره نیاز دارید.
شما باید کمی مورد حافظه، حافظهی نهان، پهنای باند، بنبست آشنایی داشته باشید و همهی این مفاهیم ساده را بدانید.
۱. آمار و احتمالات:
خب در اینجا نیز باید برخی از اصول اولیه در مورد احتمال شرطی، استقلال و همهی اینها آشنایی داشته باشید. ماشین لرنینگ نیازمند روشهایی مانند شبکههای بیزین، مدلهای مخفی مارکوف و همه این مفاهیم است.
آمار واقعا ساده است، مگه نه؟ میانگین، میانه، واریانس و همهی این موارد. حتی توزیعهایی مانند نرمال، دو جملهای، و حتی توزیع یکنواخت.
۲. مدلسازی و ارزیابی داده:
مدلسازی دادهها، برآورد ساختار اساسی یک مجموعه داده با هدف یافتن الگوهای مفید مانند همبستگی و خوشهها است.
بخش کلیدی این فرایند برآورد، ارزیابی مستمر میزان خوب بودن یک مدل معین است. بسته به کار موردنظر، شما باید یک معیار
اندازهگیری دقیق مانند log-loss برای طبقه بندی، مجموع مربعات خطاها برای رگرسیون را انتخاب کنید.
۳. استفاده از الگوریتمهای یادگیری ماشین و کتابخانهها:
کتابخانهها و APIهایی زیادی مانند Scikit Learn ،Theano و Tensorflow داریم. اما بهکارگیری موثر آنها وابسته است به انتخاب یک مدل مناسب، روش یادگیری برای برازش دادهها و درک ابرپارمترها و همهی موارد این چنینی.
۴. مهندسی نرمافزار و طراحی سیستم:
در پایان روز، خروجی معمول یا قابل تحویل یک مهندس یادگیری ماشین، نرمافزار است. و اغلب یک جز کوچکی است که متناسب با اکوسیستم بزرگتری از محصولات و خدمات است. شما باید بدانید که چگونه این قطعات مختلف با یکدیگر کار میکنند، با هم ارتباط برقرار میکنند و واسطهای مناسبی برای را مولفهی شما ایجاد میکنند که دیگران به آن وابسته خواهند بود.
ممکن است برای جلوگیری از تنگناها، طراحی دقیق سیستم ضروری باشد و اجازه دهید که الگوریتمهای شما با افزایش حجم دادهها به خوبی مقیاس گذاری شوند. بهترین شیوههای مهندسی نرمافزار (شامل تجزیه و تحلیل نیازمندیها، طراحی سیستم، تست، مستندسازی) برای بهرهوری، همکاری، افزایش کیفیت و قابلیت نگهداری مهم هستند.
در ادامه این وبلاگ “چگونه مهندس یادگیری ماشینی شویم” شرکتهایی که مهندسان یادگیری ماشین را استخدام میکنند را بررسی میکنیم.
شرکتهایی که مهندسین یادگیری ماشین را استخدام میکنند
تعداد فرصتها به صورت نمایی در حال رشد است و این شگفتانگیز است، چون زمانی که یک مهندس ماشین لرنینگ هستید، روندی رو به رشد خواهید داشت و درآمد خوبی نیز خواهید داشت.
از Apple گرفته تا Uber، Facebook تا Salesforce همه این شرکتهای بزرگ به طور مداوم در حال استخدام هستند و هزینه هنگفتی نیز پرداخت میکنند.
در ادامه این وبلاگ “چگونه مهندس یادگیری ماشین تبدیل شویم” آینده یادگیری ماشین را بررسی میکنیم.
یادگیری ماشین در آینده
آنچه که شاید در مورد ماشین لرنینگ مجابکننده باشد، کاربرد به ظاهر نامحدود آن است. در حال حاضر حوزههای زیادی تحتتاثیر ماشین لرنینگ قرار دارند، از جمله آموزش، امور مالی، علوم کامپیوتر و خیلی چیزهای دیگر، که من نمیتوانستم همه اینها را تطبیق دهم.
همچنین عملا هیچ زمینهای وجود ندارد که ماشین لرنینگ برای آنها کاربرد نداشته باشد. در برخی موارد، تکنیکهای یادگیری ماشین به شدت مورد نیاز هستند. مراقبتهای بهداشتی یک نمونه بارز است، مگه نه؟
آیا قبول دارید که دنیا در حال تغییر سریع و چشمگیراست؟
و تقاضا برای مهندسان ماشین لرنینگ به صورت نمایی در حال افزایش است. چالشهای جهان پیچیده هستند و نیازمند سیستمهای پیچیدهای برای حل آنها هستند. مهندسان یادگیری ماشین در حال ساخت این سیستمها هستند.
اگر این آینده شما است، هیچ زمانی مانند زمان حال برای تسلط بر مهارتها و توسعهی ذهنیتی که برای موفقیت نیاز دارید، وجود ندارد.
ماشین لرنینگ یک چیز شگفتانگیز در این دوره است.
در ادامه این وبلاگ “چگونه مهندس ماشین لرنینگ شویم” حقوق و روند مهندسی یادگیری ماشین را بررسی میکنیم.
حقوق و روند مهندسی ماشین لرنینگ
در یک فضای رقابتی، متوسط حقوق حدود ۱۳ Lakhs است و برای یک مهندس یادگیری ماشین افزایش مییابد.
طبق یک نظرسنجی انجامشده در اوایل سال جاری، مهندسی یادگیری ماشین یکی از جدیدترین و جذابترین مشاغل است.
یک مهندس یادگیری ماشین در آمریکا سالانه حدود ۱۴۰ هزار دلار حقوق میگیرد. در بریتانیا حدود ۵۰ هزار پوند و در هند حدود ۱۳هزار Lakh است.
بنظر من قطعا این پول زیادی است و فرصتها بیپایان هستند.
به این روند نمودار نگاه کنید، این نمودار همچنان در حال بالا و بالا رفتن است. ارزش شما به عنوان یک مهندس یادگیری ماشین همچنان در حال افزایش است و همانطور که من به آن اشاره کردم، شما میتوانید پول زیادی به عنوان یک مهندس یادگیری ماشین در بیاورید.
+ پیش از این آموزش اجرای پروژه یادگیری ماشین با پایتون در همرویش منتشر شد. برای دیدن فیلم معرفی این آموزش بر روی این لینک (+) و یا پخش کننده زیر کلیک کنید:
دریافت این بسته آموزشی در لینک زیر:
آموزش اجرای یک پروژه یادگیری ماشین با پایتون
در پایان
امیدوارم این وبلاگ “چگونه مهندس یادگیری ماشین شویم” به شما در یادگیری تمام اصول مورد نیاز برای شروع ماشین لرنینگ به عنوان یک مسیر شغلی کمک کند.
خوب است که یک شغل بسیار شیک و مد روز همراه با حقوق بالا داشته باشید.
پس از خواندن این وبلاگ “چگونه مهندس یادگیری ماشین شویم”، مطمئن هستم که شما میخواهید بیشتر در مورد یادگیری ماشین بدانید. برای کسب اطلاعات بیشتر در مورد یادگیری ماشین میتوانید مقالههای زیر را در مجله همرویش مطالعه کنید.
تاریخچه تحلیلی هوش مصنوعی و یادگیری ماشین
نقشه راه یادگیری عمیق — چگونه deep learning یا ماشین لرنینگ را یاد بگیریم؟
شبکه های عصبی چیست __ تاریخچه شبکه عصبی و یادگیری ماشین (قسمت سوم)
سوالی دارید؟ لطفا آن را در بخش نظرات این مقاله “چگونه مهندس یادگیری ماشین شویم” ذکر کنید. حتما در اسرع وقت پاسخ شما را خواهیم داد.
کلیدواژگان
مسیر یادگیری ماشین لرنینگ | نقشه راه یادگیری ماشین لرنینگ | نقشه راه یادگیری ماشین | نقشه راه ماشین لرنینگ | نقشه راه یادگیری ماشین | مسیر یادگیری ماشین | مهندسی یادگیری ماشین | یادگیری ماشین چیست | یادگیری ماشینی چیست | روش یادگیری ماشین | یادگیری ماشینی یعنی چه | یادگیری ماشین به زبان ساده | مراحل یادگیری ماشین | مراحل یادگیری ماشین لرنینگ | مسیر یادگیری ماشین لرنینگ | یادگیری ماشین را از کجا شروع کنیم
منبع
How To Become A Machine Learning Engineer?
دوره های آموزشی مرتبط
- آموزش شبکه عصبی مصنوعی -- از صفر به زبان ساده ۱۴۴,۰۰۰ تومان
- آموزش ساخت شبکه عصبی با پایتون (و دیگر زبانها) از صفر ۱۳۲,۰۰۰ تومان
2 دیدگاه برای “مسیر یادگیری ماشین لرنینگ — چگونه مهندس یادگیری ماشین شویم؟ ”
سپاس از مطالب جالب و اموزنده جنابعالی
ممنون از متن خوب و روانتون.