آموزش پیش نیاز های اولیه های ماشین لرنینگ ، قسمته اول

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

جبر چیه؟ و دیگه خطیش چه سیقه ایه

یادتونه تو راهنمایی دبیرستان یه معادله میدادن میگفتن x داریم که مجهوله؟ و مثلا 2*x=6 که x میشد 3?
خب این یه معادله با یه متغیر بود.
حالا اون مساوی رو بردارین (چون میخوام بحث خطی بودن رو هم توضیح بدم).
یه چنین چیزی رو فقط در نظر بگیرید: 2*x
قبول دارین هر چی که جایه x بیاد دقیقا 2 برابر میشه؟ هر چی؟
خب حالا تو دبیرستان یه چیز دیگه هم داشتیم به اسمه تابع.
مثلا همین معادله رو فرض کنید:
f(x) = 2*x
دقیقا همین معادله. هر چی رو به این تابع به جایه x بدیم ، میشه دو برابر
خب. اما بحث خطی بودن:
مثلا اینو در نظر بگیریم:
f(x) = 2*x
که همین تابعیه که داریم ، و توش بزاریم مثلا 2*4 یعنی به جایه x بزاریم 8.
و بدونه ضریب 2 یعنی 4 هم بزاریم و بیرون از تابع ضربش کنیم ، یعنی 2*f(x)
باید جوابا یکی بشه
تابع کاری که میکنه عددو 2 برابر میکنه.
این تابع یه تابع خطیه. چرا؟ چون 2*f(x) و f(2*x) دقیقا یکی میشه.
حالا بیایم یه تابعه غیر خطی رو هم بگیم تا بیشتر جا بیفته
مثلا f(x) = x^2
یا همون x به توان 2
خب همون روش قبلی رو پیاده میکنیم:
2*f(8) = 128
8^2 = 64 و 64*2 = 128
f(2*8) = 256
2*8 = 16 و 16 ^ 2 = 256
میبینید؟ اصلا با هم برابر نیستن (و اینجاست که میگیم این تابع خطی نیست).
خب این از مفهومه خطی بودن.
اما جبر خطی چیزه دیگه ای مد نظرشه.
هدف اینجاست که بیاد ارتباط بین انواع بردارا و ماتریسارو با هم دیگه پیدا کنه.

عدد، بردار، ماتریس

دیگه همه میدونن عدد چیه و نیاز به توضیح من نیستش.
اما بردار و ماتریس:
مجموعه ای از اعداد میشن بردار و مجموعه ای از بردارا میشن یه ماتریس.
البته اینجوری نیس که تو ماتریس بردارامون با هر اندازه ای باشن. مثلا دوتا بردار سه تایی (هر کدوم سه تا عدد) ، میشن یه ماتریس 2*3 که دقت کنید 6 تا عدد دارن.
بردارو شکل یه قطار از اعداده پشت سر هم در نظر بگیرید و ماتریسو یه جدول در نظر بگیرید.

اما rank چیه

رنک عدد میشه 0 (چون یه نقطه میشه و هیچ بعدی نداره). بردار رنکش یکه (چون فقط یه مجموعه داره)، و ماتریس رنکش میشه 2 (مجموعه ای از بردارا). مجموعه ای از ماتریسا میشه رنک 3 ، و اگه رنک بره بالاتر ، همینجور مجموعه ها میرن بالاتر.

فرق بین rank و بعد تو بردار چیه؟

یه بردار، همیشه رنکش یکه. اما میتونه بستگی به تعداد اعدادش هر بعدی داشته باشه. مثلا یه بردار 3 بعدی ، 3 تا عدد داره تو خودش. مثلا [3,1,2] که تو خونه اولش 3, خونه دومش 1 و خونه سومش 2 قرار داره.
میشه با اندیس گذاری، به اعداد داخل بردار دسترسی داشت.
تو کامپیوتر ، بردار یه آرایست ، و ماتریس یه آرای 2 بعدیه.
فکر کنم الآن تا همینجا کافی باشه، و کلی چیز هست که شاید براتون سؤال پیش آورده باشه.
پس تو کامنتا میبینمتون.
خوش و خرم باشید.

درباره امیر رضا رمضانی

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

11 Responses to آموزش پیش نیاز های اولیه های ماشین لرنینگ ، قسمته اول

  1. 1

    درود. اومدم که بگم ایول محکم ادامه بده. محکم ها. مرسی.

  2. 2
    حمیدرضا آب روشن says:

    سلام.
    امیدوارم که ادامه دار باشه.
    مرسی.

  3. 3

    سلام.

    وقتت خوش.

    بخاطر قاتی شدنت تو مرغها مبارک.

    بغیر Rank بقیه رو خدا رو شکر بلد بودم. البته صد‌در‌صد در ادامه (اگه ادامه داشته باشه) چیزهای فراوانی یاد خواهم گرفت.

    یه سؤال تقریبا مربوط: بهترین منبع انگلیسی برای ML یا DL چیه؟
    W3Schools جوابه؟

    و یه سؤال تقریبا نامربوط: بهترین پلتفرمهایی که میشه توش بازی دسترسپذیر نوشت چیان؟ (کمی Python بلدم و JS).

    بخاطر آموزش سپاس و امید بهترینها رو برا تو و هممون دارم.

    • 3.1
      امیر رضا رمضانی says:

      سلام.
      بحث rank البته یه خورده متفاوته و این فقط یه مقدمه یه اولیه بود بهش.
      (سطر و ستون و اینارو که تو ماتریس مربعی و اینا صحبتشو کنیم میرسیم بهش که دقیقا چیه).

    • 3.2
      امیر رضا رمضانی says:

      اما در مورده منبع باید بگم که خیلی زیاد منبع هست.
      برا جبر خطی کورس gilbert strang خیلی خیلی خوبه.
      اول با 18.06 شروع کن بعد برو سر وقته 18.065
      برا بقیه یه چیزاشم کورسایه دیگه هست (درست درمون یادم نیس).
      اما در مورده ml و dl کورسایه اندرو ان جی هست.
      البته بگم که ml و dl همش ریاضیه و یه چیزایی (لازم نیس همشو) در مورده جبر خطی و اینا بدونی.
      برا ماشین لرنینگ در مورده w3 school ندیدم که بخوام نظر بدم.
      برای بازی نویسی با پایتون میتونی از pygame استفاده کنی و کتاب خونه برا audio میتونی از synthizer یا libaudioverse یا openAL استفاده کنی.
      برا گرافیکم pygame داره.

  4. 4
    Saamaan says:

    سلام امیر
    دمت گرم که وقت گذاشتی و اینقدر روون توضیح دادی. منتظر قسمتهای بعدی هستیم!
    راستی تبریک برای مرغا و اینها. شیرینی فراموش نشه! 👅

  5. 5

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

    • 5.1
      امیر رضا رمضانی says:

      سلام
      والا اخبارش که طولانیه. یه یکی دو سالی هس که من به عنوانه دیتا ساینتیست کار میکنم (بعدا چالش و ایناشو برا یه نابینا توضیح میدم که چیه). بقیشم که داستانایه خودشونو دارن.

دیدگاهتان را بنویسید