کلاس یادگیری ماشین

  • یوسف مهرداد بی‌بالان

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

گزیده:

“Just as electricity transformed almost everything 100 years ago, today I actually have a hard time thinking of an industry that I don’t think AI (Artificial Intelligence) will transform in the next several years.” ~Andrew Ng

پارادکس چابکی

  • یوسف مهرداد بی‌بالان

مقدمه:
در فیلم “رکود بزرگ” (Big Short)، در ابتدای فیلم که می‌خواهد نقش‌های اصلی فیلم را معرفی کند، وقتی نوبت به “مارک بام” می‌رسد نشان می‌دهد که وقتی مارک کودک بود، مادرش او را به یک روحانی مذهبی می‌سپارد تا به او خواندن و فهمیدن کتاب مقدس را بیاموزد. بعد نشان می‌دهد که چند وقت بعد، روحانی مذهبی مارک را پیش مادرش برده و می‌گوید که او دیگر در کلاس وی جایی ندارد و او را از کلاس اخراج می‌کند. مادر سراسیمه می‌پرسد که آیا پسرش کتاب مقدس را نمی‌خواند. روحانی در پاسخ می‌گوید که نه، اتفاقا خیلی خوب و دقیق کتاب مقدس را می‌خواند ولی نه برای یادگیری، بلکه برای پیدا کردن اشکالات و تناقض‌های کتاب مقدس. 🙂
حالا این حکایت شده کار من، بنشینم و تناقض‌ها را با این هدف که بیشتر و بهتر یاد بگیرم، پیدا کنم و به آنها فکر کنم. یادم می‌آید به توصیه یکی از اساتیدم، یکی از اولین کتاب‌هایی که در مورد چابکی خواندم، کتابی بود که در رد نظرات اکس‌پی نوشته شده بود و چقدر هم به یادگیری من کمک کرد. این استاد عزیز می‌گفت هر وقت می‌خواهید موضوعی را یاد بگیرید ابتدا بروید و نقدهای آن را بخوانید.

بیانیه‌ی چابکی:
در بیانیه چابکی گفته شده است “افراد و تعامل بین آنها” با ارزش‌تر است از “فرایندها و ابزارها”.

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

پارادکس:
چند وقتی است که موضوعی ذهن من را به خودش مشغول کرده است. و اما چالش این روزهای من یافتن پاسخ این پرسش است که:
آیا متدهای چابک مثل اکس‌پی و اسکرام هم شامل همین فرایندها می‌شوند یا نه؟

پایتون: این مار خوش خط و خال!

  • یوسف مهرداد بی‌بالان

شی‌گرایی:
چه خوب است که بهانه‌ای پیدا کردم تا از برادر، دوست و استاد عزیزم، علی آقای عبداللهی، تشکر کنم.
یادم می‌آید بعد از این که فهمیدم شی‌گرایی (Object Orientation) به معنای واقعی چیست و چه کاربردی دارد، علاقه‌ی من به دنیای نرم‌افزار دوچندان شد. این داستان بر می‌گردد به سال دوم یا سوم دانشگاه. علی آقای عبداللهی که هم در دبیرستان و هم در دانشگاه سال بالایی ما بودند، نقش اصلی این داستان هستند. یک روز که در خوابگاه با ایشان صحبت می‌کردم صحبت از شی‌گرایی شد و ایشان از یک کتابخانه‌ی نرم‌افزاری صحبت کرد که خودشان نوشته بود. بخشی از این کتابخانه، یک کلاس با زبان سی‌پلاس‌پلاس بود که موقع ایجاد (new) دو نقطه از صفحه‌ی نمایش (مانیتور) را دریافت می‌کرد، محتویات صفحه‌ی نمایش بین این دو نقطه را ذخیره می‌کرد و موقع حذف این کلاس (delete) محتویات ذخیره شده، یعنی همان صفحه‌ی قبلی دوباره روی صفحه‌ی نمایش نوشته می‌شد. کاربرد این برنامه این بود که در محیط سیستم عامل داس (MS DOS)، شما می‌توانستید نرم‌افزاری بنویسید که در آن، به راحتی پنجره‌ها روی هم باز و بسته شوند. فقط و فقط این کد، یک بار نوشته شده بود و امکان ارث بری و بقیه‌ی قابلیت‌های شی‌گرایی نیز در آن وجود داشت. دیدن این کد و برنامه، جرقه‌ای بود که درک کنم شی‌گرایی چیست و بیش از پیش از آن لذت ببرم. لذتی که هنوز هم ادامه دارد. سپاسگزارم آقای مهندس عبداللهی عزیز.

پایتون: چه زبان عجیب و غریبی
روزهای اولی که کدهای پایتون را می‌دیدم، تحت تاثیر زبان‌هایی مانند س‌پلاس‌پلاس، سی‌شارپ و جاوا، مدام این جمله در ذهنم تکرار می‌شد: “این چرا این جوریه!”. 🙂 “پایتون هم شد زبان برنامه‌نویسی!” 🙂 . مانند اکثر دوستانم به تجربه آموخته بودم که وقتی با زبان جدیدی رو به رو می‌شوید، باید صبور باشید.

باغبان گر پنج روزی صحبت گل بایدش
بر جفای خار هجران صبر بلبل بایدش

ای دل اندر بند زلفش از پریشانی منال
مرغ زیرک چون به دام افتد تحمل بایدش

پایتون: زندگی شیرین می‌شود!
برنامه‌نویسی با کتابخانه‌های پایتون مانند نام‌پای (numpy) و پانداس (pandas) باعث شد کم‌کم این جمله‌ها جایگزین جمله‌های قبلی شود: “وای! چقدر قشنگه این زبان” 🙂 . “اوف! چقدر برنامه با این زبان راحته!” 🙂 هر چند می‌دانستم که اول راه است و آموختنی‌ها بسیار و تمام‌نشدنی.

رند عالم سوز را با مصلحت بینی چه کار
کار ملک است آن که تدبیر و تأمل بایدش

تکیه بر تقوی و دانش در طریقت کافریست
راهرو گر صد هنر دارد توکل بایدش

با چنین زلف و رخش بادا نظربازی حرام
هر که روی یاسمین و جعد سنبل بایدش

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

سخنرانی اول: James Powell: So you want to be a Python expert?
سخنرانی دوم: Joel Grus: Learning Data Science Using Functional Python

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

نازها زان نرگس مستانه‌اش باید کشید
این دل شوریده تا آن جعد و کاکل بایدش

ساقیا در گردش ساغر تعلل تا به چند
دور چون با عاشقان افتد تسلسل بایدش

اثرات مخرب کارهای ناتمام!

  • یوسف مهرداد بی‌بالان

The concept that keeping staff busy might be an ineffective way of managing will be so counterintuitive to many managers that further justification is probably needed.

There are several aspects to excessive WiP that are relevant to effectiveness, among them multi-tasking, context switching, focus, and long lead times.

Recent research on the brain has shown that one of the most expensive things your brain does (in terms of energy consumption) is changing tasks (Levitin,2015). Doing it constantly is draining and ineffective.

Focusing on one task, for periods of around 90 minutes at a time, enables your brain to get into the state known as flow. That’s when your most effective work gets done, and amazingly, it makes you feel good while tiring you out less.

Periods of flow are not your most creative periods, however. Focus is your brain’s mode when you“get things done,” but in your brain’s default mode, your mind flits between ideas. This is when you make connections between things and where creativity springs from. It is also where learning and long-term memories are created.

To be effective, you need time at work to be in both these modes; constant pressure with multiple unfinished tasks is damaging to both modes and results in poorer outcomes. For more on this topic, see (Benson, 2014).

Essential Kanban Condensed, Andy Carmichael and David J. Anderson, 2015

Read this book: Stop Starting, Start Finishing

سوءگیری شناختی

  • یوسف مهرداد بی‌بالان

سوگیری‌های شناختی (به انگلیسی: Cognitive bias)، خطاهایی هستند ذهنی که به صورتی نظام‌مند به گرایش، نگرش، وهم یا باوری غلط منجر می‌شوند و در تصمیم‌گیری، استدلال، ارزیابی، یادآوری، ادراک و شناخت افراد تاثیر می‌گذارند. سوگیری‌ شناختی یکی از مباحث مهم علوم شناختی است. علوم شناختی تعداد بسیاری از این خطاهای ذهنی را شناسایی کرده و زوایای متفاوتی از شرایط ظهور و بروزشان را بررسی کرده است. فهرست انواع خطاهای شناختی بسیار طولانی است.

سوگیری‌های شناختي مبتنی بر تمامی الگوها و الگوریتم‌های ابداعی است که از بدو تولد بجهت یادگیری، حل مسئله و تصمیم‌گیری در انسان به‌وجود می‌آید و باعث ایجاد انحراف از واقعیت می‌گردد که به موجب آن، نتیجه‌گیری‌هایی که در تصمیم‌گیری دارد ممکن است به شکلی غیرمنطقی صورت گیرند. اساس و تاریخچه سوگیری شناختی توسط جان فون نویمان و اسکار مورگنشترن[۲] برای اولین بار بیان کردند که افراد همیشه یک سری ترجیحات مشخص دارند و سعی می‌کنند در تصمیم‌گیری مسائل را ساده‌تر کنند و معمولاً از یک سری الگوها و الگوریتم‌های از پیش تعیین شده ابداعی بهره می‌جویند.
مرجع: ویکی‌پدیا

 

Credit: Scott Galloway @profgalloway

گزیده!

  • یوسف مهرداد بی‌بالان

No matter how educated, talented or rich you are, how you treat people ultimately tells all. Vala Afshar

Ethical Debt

  • یوسف مهرداد بی‌بالان

Ethical debt is the implied cost of not considering social/ethical implications or harms now, assuming you can fix them after you find out what they are.

As Yonatan Zunger says “Software engineers continue to treat safety and ethics as specialities, rather than the foundations of all design.”

Reference: Casey Fiesler, CU Denver Data Science Symposium 2020

برای خروج از جستجو کلید ESC را بفشارید