مهدی مشایخی هستم. برنامه نویس هوش مصنوعی و پایتون در زمینه یادگیری ماشینی و عمیق. به همه کمک میکنم تا با هم رشد کنیم! من در توییتر: https://twitter.com/Mashayekhi_AI
مسیر یادگیری ماشین(Machine Learning) | مهدی مشایخی
از کجا شروع کنیم و چگونه موفق شویم؟
دریابید که سفر یادگیری ماشینی خود را از کجا باید شروع کنید، روی چه نوع پروژه هایی می توانید در طول مسیر کار کنید و چگونه می توانید در این زمینه پیچیده موفق شوید.
عصر داده فرا رسیده است، و اگر به اندازه کافی برای آن آماده نشده اید، نگران نباشید، ما هنوز هم می توانیم به شما کمک کنیم تا وارد کشتی شوید.
ممکن است پول دنیا را به چرخش درآورده باشد، اما تنها چیزی که لازم است داده ها و اطلاعات در دوران معاصر است. استفاده از این دو مفهوم اساسی و تجزیه و تحلیل و استفاده از چنین داده هایی به ما کمک می کند تا به طور واقعی داده های ارزشمندی را جمع آوری و تجزیه و تحلیل کنیم که ما را از رقبا جلوتر نگه می دارد.
یادگیری ماشینی به طور خلاصه
به طور کلی، یادگیری ماشین زیرشاخهای از هوش مصنوعی است که برای تصمیمگیری یا پیشبینی بر اساس الگوهای قبلی موجود در دادهها استفاده میشود. این راهی است برای اینکه کامپیوترها از تجربه یاد بگیرند و بر اساس آن برای تکرار فرآیندها و نتایج تنظیم شوند، بدون اینکه از قبل با دستورالعمل های خاصی مانند الگوریتم های سنتی برنامه ریزی شوند.
به عبارت سادهتر: اساساً ماشینها را هوشمندتر میکند و آنها را قادر میسازد تا یاد بگیرند، پیشبینی کنند و با رفتار گذشته سازگار شوند. این راهی برای دستیابی به هوش مصنوعی بدون نیاز به مشخص کردن همه قوانین و فرآیندها از قبل است.
نقشه راه یادگیری ماشین (Machine Learning)
مرحله اول : یادگیری زبان برنامه نویسی
شما باید قبل از یادگیری هرچیزی ابتدا باید یک زبان برنامه نویسی که مناسب یادگیری ماشین باشه رو به خوبی یادبگیرید و به طور کامل مفاهیم اون زبان رو درک کنید. پیشنهاد من به شما زبان برنامه نویسی پایتون(Python) هست ، به این دلیل که این زبان کتابخانه های زیادی برای یادگیری ماشین داره و امکانات زیادی میتونه به شما بده و از جهتی یادگیری زبان پایتون بسیار راحتتر نسبت به زبان های برنامه نویسی دیگه هست.
یکی دیگر زبان های برنامه نویسی برای این حوزه زبان برنامه نویسی آر (R) هست که بیشتر و برای آمار خوبه و اصلا توصیه نمیکنم که در ابتدا به سمت این زبان برید چون شما گیج میشید و باعث میشه و مفاهیم برنامه نویسی رو نتونید به خوبی درک کنید
شما باید در پایتون با مباحث زیر آشنایی خوبی داشته باشید و مفاهیم رو به خوبی درک کنید تا به مشکل نخورید!
- متغیر ها (Variables)
- انواع داده ها (Data Types)
- اعداد در پایتون (Numbers)
- متون در پایتون (Strings)
- عملگر ها (Operators)
- لیست ها (Lists)
- تاپل ها (Tuples)
- ست ها (Sets)
- دیکشنری ها (Dictionaries)
- دستورات شرطی (If/Else )
- حلقه ها (Loops)
- توابع (Functions)
- آرایه ها (Arrays)
- کلاس ها و شئ گرایی (Classes/Objects)
مرحله دوم: یادگیری کتابخانه های پرکاربرد
تا اینجا که پایتون یادگرفتید لازمه تا کتابخانه های که مورد نیاز یادگیری ماشین هست رو یادبگیرید تا برای انجام مباحث ماشین بهتون کمک کنه ، لازمه بدونید که لازم نیست صد درصد این کتابخانه ها رو یادبگیرید و باید درک نسبی از این کتابخانه ها داشته باشید تا مسائلی مثل آمار و احتمال رو به راحتی محاسبه کنید یا به آسانی بتونید دیتا ها رو به صورت گرافیکی نمایش بدید و بتونید درک بهتری از داده ها داشته باشید.
لیستی از کتابخانه های از پایتون که باید آنها رو یادبگیرید و به خوبی بتونید باهاشون ارتباط برقرار کنید.
- نام پای (NumPy) : برای محاسبات ریاضی و آماری استفاده میشود
- پانداس (Pandas) : برای دیتا ها و اطلاعات و دستبندی
- سای پای (SciPy) : برای محاسبات ریاضیات پیشرفته تر و آماری
- اسکی لرن (Scikit learn) : الگوریتم ها و پیش پردازش های ماشین
- متپلات لیب (Matplotlib) : نمایش گرافیکی نمودار ها
- سیبورن (Seaborn) : نمایش گرافیکی نمودار ها
در پست های بعدی و مقالات آینده تمامی کتابخانه ها معرفی شده به صورت آسان بهتون آموزش خواهیم داد!
مرحله سوم : یادگیری ریاضیات مربوط به ماشین
اگر بگیم که ماشین لرنینگ یا همون یادگیری ماشین نیاز به ریاضیات نداره و اصلا لازم نیست ریاضی یادبگیریم بدونید که داریم خودمون رو فریب میدیم و واقعیت این طور نیست ولی شما هم نگران نباشید تا راه حل رو بهتون بگم و بعد تصمیم بگیرید.
یادگیری ماشین نیاز به ریاضی داره اما اون ریاضی که من مثلا بهتون بگم یک ضرب ماتریسی انجام بدید و اون امار و احتمال خسته کننده دانشگاه نه! توی یادگیری ماشین ما باید فقط درک کنیم اون مبحث ریاضی رو و لازم به حل کردن نیست ، چرا؟ چون اون کتابخونه های که بالا معرفی کردم بهت همه اینکار ها رو انجام میده و از منو شما هم سریع تره
مثلا وقتی میشنوی واریانس تو باید بدونی جواب بدست آمده از کجا آمده و چطور کار میکنه و باید درک رو این مباحث داشته باشید تا سردرگم نشید
توی مقالات و پست های آینده هم حتما درمورد مفاهیم ریاضی های مورد نیاز برای ماشین صحبت میکنیم و همه مباحث لازم رو بهتون آموزش میدیم ، پس نگران هیچ چیز نباشید!
شما باید مباحثی مثل جبر خطی ، آمار و احتمال و .... از این دسته مباحث رو بلد باشید تا بتونید درک خوبی داشته باشید و بفهمید.
مرحله چهارم : یادگیری مفاهیم ماشین لرنینگ
شما توی شروع لازم نیست ابتدای کار برید الگوریتم ها پیچیده و مباحث پیشرفته رو یادبگیرید ، فقط کافیه کم کم مفاهیم ماشینی رو مثل اینکه داده چی هست؟ پردازش چی هست؟ و سایر موارد رو یادبگیرید تا مفاهیم رو خوب درک کنید. شما باید کلمات تخصصی حوزه خودتون بشناسید و با اون ها آشنا باشید.
بعد از درک مفاهیم بهتره همه چیز هایی که تا اینجا یادگرفتید رو تمرین و تکرار کنید تا به خوبی در ذهنتون باقی بمونه و به اصطلاح توی یه لوپ یا همون حلقه آموزش ببنید و تمرین کنید. مثلا شما یه موضوعی رو نمیدونید و میرید سرچ میکنید تا یادبگیرید و بعد باید اونو تمرین کنید و همین طور ادامه بدید ، اینم بدونید که مباحث هوش مصنوعی و ماشین تمومی نداره و مدام باید دنبال یادگیری باشید.
مرحله پنجم : یادگیری مباحث پیشرفته ماشین لرنینگ
درپایان کار باید بهتون بگم که باید مباحث پیشرفته تر رو مثل الگوریتم های ماشین ، معیار های ارزیابی ، تست، آزمایش ، پیش پردازش ، جمع آوری داده و کلی مباحث دیگه که باید به خوبی بدونید.
برای آشنایی با پنج الگوریتم پرکاربرد ماشین میتونید اینجا کلیک کنید و این مقاله رو مشاهده کنید
در یادگیری ماشینی، الگوریتم ها دستورالعمل هایی هستند که به کامپیوتر می گویند چه کاری انجام دهد. در برخی موارد، آنها می توانند به سادگی "اگر X درست است پس Y را انجام دهید" یا فرمول های پیچیده تر که ممکن است دارای شرط و تکرار باشند، باشند.
بسیاری از الگوریتمها در یادگیری ماشینی اساساً با پردازش نقاط داده، داشتن یک خروجی خاص برای هر نقطه داده (مثلاً طبقهبندی ایمیل به عنوان هرزنامه یا عدم) و استفاده از مدلهای ریاضی برای پیشبینی خروجیهای آینده کار میکنند.
در حال حاضر، می توانید با این مجموعه گسترده از موضوعات شروع کنید.
- یادگیری نظارت شده: یادگیری نظارت شده نوعی از یادگیری ماشینی است که در آن مجموعه ای از داده های آموزشی به کامپیوتر داده می شود و وظیفه آن یادگیری نحوه نگاشت این ورودی ها به خروجی های مورد نظر است.
- یادگیری بدون نظارت: یادگیری بدون نظارت نوعی از یادگیری ماشینی است که در آن دادههایی به رایانه داده میشود، اما به آنها گفته نمیشود که خروجیهای صحیح چه چیزی باید باشد. هدف یافتن ساختار در داده ها و یادگیری از آن است.
- طبقهبندی: طبقهبندی وظیفه شناسایی این است که یک کالا بر اساس نمونههای برچسبگذاری شده به کدام دسته تعلق دارد. نمونه هایی از این برچسب ها به شرح زیر است: هرزنامه در مقابل هرزنامه نیست، تومورهای بدخیم در مقابل خوشخیم، و غیره.
- تشخیص الگو: تشخیص الگو وظیفه یادگیری ماشینی برای شناسایی الگوها در داده ها است. داده ها شامل متغیرهای ورودی (مانند پیکسل) و متغیرهای هدف (مانند بدخیم بودن یا نبودن تومور) است.
- سیستمهای توصیهگر: سیستمهای توصیهکننده برنامههایی هستند که با توجه به مجموعهای از اولویتهای موجود، پیشبینی میکنند که کاربر چه مواردی را میخواهد. این نوع سیستم به طور گسترده در جایزه نتفلیکس، در موتورهای جستجو مانند گوگل یا بینگ، در شبکه های اجتماعی برای پیش بینی توصیه های دوستان استفاده می شود.
- یادگیری تقلیدی: یادگیری تقلیدی روشی از یادگیری ماشینی است که شامل یادگیری از نمایش است. از مشاهدات رفتار یک متخصص برای یادگیری نحوه انجام وظایف بدون هیچ دستورالعملی در مورد نحوه حل آنها استفاده می کند.
نتیجه
زمینه یادگیری ماشینی گسترده است و چیزهای زیادی برای یادگیری وجود دارد. بنابراین، بهترین راه برای شروع سفر یادگیری ماشینی خود این است که با هدف نهایی در ذهن شروع کنید، مانند «من میخواهم دادههای کسبوکارم هوشمندتر شوند» یا «من به یک سیستم توصیهکننده برای وبسایت خود نیاز دارم». ممنونیم که تا آخر این مقاله رو خوندید با لایک کردنتون میتونید به ما انرژی بدید و انگیزه بگیریم!
آموزش های تکمیلی :
آشنایی با پنج الگوریتم یادگیری ماشینی : اینجا کلیک کنید.
آموزش ریاضیات یادگیری ماشینی : اینجا کلیک کنید.
یادگیری کامل پکیج منیجر پایتون pip : اینجا کلیک کنید.
لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.
آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.
انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@
مطلبی دیگر از این انتشارات
بیوانفورماتیک چیست | What is Bioinformatics
مطلبی دیگر از این انتشارات
رگرسیون خطی - Linear Regression - مهدی مشایخی
مطلبی دیگر از این انتشارات
شروع یک مسئله ماشین لرنینگ با داده های کم قسمت ۵