امروز پس از حدود دو سال سرانجام کتاب “یادگیری ماشین به زبان ساده با پایتون” چاپ شد. این کتاب ترجمه ویرایش اول Grokking Machine Learning اثر لوئیس سرانو است که انتشارات Manning در نوامبر ۲۰۲۱ آن را منتشر کرده. ذکر این نکته خالی از لطف نیست که انتشارات Manning یک ویرایش دوم هم برای این کتاب در دست کار دارد که هنوز به بازار نیامده است.
به کمک این اثر می توانید یک درک مفهومی از روشهای مختلف یادگیری ماشین به دست آورید. کتاب پیش نیاز زیادی ندارد و برای کسانی که می خواهند با مفاهیم این حوزه آشنا شوند بسیار مناسب است.
کتاب به صورت تمام رنگی توسط نشر دانشگاهی کیان چاپ شده است. می توانید نسخه فیزیکی کتاب را از طریق لینک زیر از وبسایت انتشارات تهیه کنید. برای خرید نسخه الکترونیکی می توانید به وبسایتهای فیدیبو یا کتابراه مراجعه کنید.
امروز چاپ اول کتاب “شبکه عصبی خود را بسازید: مقدمه ای بر مفاهیم، ریاضیات و ساخت شبکه های عصبی با پایتون” به بازار آمد. این اثر ترجمه Make Your Own Neural Network نوشته طارق رشید است و از نظر بنده یکی از بهترین منابع برای شروع یادگیری شبکه های عصبی برای مبتدیان به حساب می آید. کتاب پیش نیاز خاصی ندارد و حتی زبان پایتون را هم به حد کفایت به مخاطب می آموزد.
کتاب را نشر دانشگاهی کیان چاپ کرده. از آنجا که امکان چاپ رنگی وجود نداشت، انتشارات نسخه تمام رنگی و الکترونیکی کتاب را همراه نسخه چاپی به صورت رایگان از طریق پلتفرم فیدیبو در اختیار مخاطبان قرار می دهد. برای دریافت نسخه الکترونیکی تمام رنگی دستورالعمل های داخل کتاب را مطالعه کنید. می توانید نسخه چاپی و الکترونیکی را از طریق دو لینک زیر خریداری کنید:
چاپ هشتم کتاب برنامه نویسی با پایتون هم به بازار آمد. نام دقیق این اثر «برنامه نویسی با پایتون ۳» است. چاپ اول این کتاب (همون طور که در این پست) توضیح دادم سال ۱۳۹۳ به بازار ارائه شد، و «برنامه نویسی با پایتون» نام داشت. با به روز شدن نسخه اصلی کتاب، و ترجمه اون انتشارات تصمیم گرفت اسم ویرایش دوم و چاپ سوم کتاب را به «برنامه نویسی با پایتون ۳» تغییر دهد. چاپ هشتم این کتاب هم با همین نام به بازار ارائه شده است (چاپ هشتم با احتساب دو بار چاپ شدن ویرایش اول و ششمین چاپ ویرایش دوم کتاب). امیدوارم مفید واقع بشه. می تونید کتاب رو به صورت آنلاین از نشر دانشگاهی کیان سفارش بدین. به علاوه میتوانید نسخه الکترونیکی کتاب رو هم از وب سایت فیدیبو خریداری کنید.
در جلسات مصاحبه بارها دیده ام مصاحبه کننده ها سعی می کنند با پرسیدن سوالاتی مبهم از مصاحبه شونده جنبه های شخصیتی او را بررسی کنند. همیشه دوست داشتم میزان کارایی این روشها و چگونگی کارکرد آنها را یاد بگیرم. در این پست خلاصه آنچه در این باره خواندم را آورده ام.
بهتر است ابتدا با مفهوم شخصیت و چگونگی بررسی آن توسط روان شناسان شروع کنیم. طبق آنچه در ویرایش شانزدهم کتاب اتکینسون و هیلگارد آمده است به الگوهای منحصر به فرد فکری، هیجانی و رفتاری که نحوه تعامل فرد را با محیط فیزیکی، و اجتماعی اش مشخص می کند شخصیت (Personality) می گویند. حال که تعریفی از شخصیت ارائه دادیم باید به دو سوال پاسخ بدهیم:
چگونه می توان لیست جامع و کاملی از ویژگی های شخصیتی انسانها به دست آورد؟
چگونه می توان شخصیت افراد را ارزیابی کرد؟
تا آنجا که من میدانم یکی از راههای به دست آوردن لیستی جامع از همه ویژگی های شخصیتی، بررسی دایره لغات یک زبان است. آلپورت و آدبرت در دهه ۳۰ این کار را برای زبان انگلیسی انجام دادند. آنها تمامی کلماتی که در فرهنگ لغات انگلیسی به ویژگی های شخصیتی ارجاع داشت را گردآوری کردند. در مجموع به ۱۸۰۰۰ کلمه رسیدند. در ادامه سعی کردند کلمات مشابه را حذف کنند و در نهایت ۴۵۰۰ کلمه به دست آوردند که در برگیرنده همه ویژگی های شخصیتی است.
اما ۴۵۰۰ هنوز عدد بسیار بزرگی است. در نتیجه، محققین مختلف برآن شدند تا این لیست را با خلاصه سازی هرچه بیشتر (به روشهای گوناگون) کاهش دهند. در نهایت این کار منتج به لیست های متعددی شد. در ادامه برخی از مهمترین آنها را آورده ام:
کتل (Cattle) شانزده ویژگی شخصیتی را در نظر گرفته است
هانس آیزنک (Hans Eysenck) تنها دو ویژگی شخصیتی را حائز اهمیت می داند
اما پس از به دست آوردن لیستی جامع از ویژگی های شخصیتی باید به این سوال پاسخ دهیم که چگونه می توان شخصیت افراد را ارزیابی کرد؟ به عبارت دیگر، از کجا بفهمیم یک فرد کدام یک از این ویژگی های شخصیتی را دارد؟ بدین منظور روشهای متعددی وجود دارد که بررسی جزئی همه آنها از حوصله این نوشته خارج است. در لیست زیر خلاصه ای از مهمترین این روشها را آورده ام:
استفاده از پرسش نامه های ارزیابی شخصیت (Personality Inventories): در این حالت پرسش نامه ای با سوالات متعدد در اختیار شما قرار می گیرد. هر دسته از سوالات این پرسش نامه، سعی در سنجش یکی از ویژگی های شخصیتی شما دارند و در نهایت با جمع نمرات هر قسمت نتیجه ای در اختیارتان قرار می دهند. برخی از شناخته شده ترین انواع این پرسش نامه ها عبارتند از: آزمون MMPI، آزمون کتل و آزمون میلون
استفاده از روشهایی مثل Q-Sort: در این حالت از یک فرد ارزیابی کننده خواسته می شود حدود ۱۰۰ عدد کارت را که حاوی جملاتی درباره ویژگی های شخصیتی شما است مرتب و امتیاز دهی کند. خروجی این مرتب سازی لیست مهمترین ویژگی های شخصیتی شما است
استفاده از تست های فرافکن (Projective test): در این نوع تست ها که مبنا و اساس آنها نظریه تداعی آزاد (Free Association) فروید است یک محرک مبهم به فرد ارائه می شود و از او خواسته می شود نظرش را درباره این محرک مبهم بیان کند. فرد با بیان نظرش، احساسات و افکار نهان خود را آشکار می کند. برای مثال، در تست TAT تعدادی تصویر مبهم مثل شکل زیر به فرد نشان داده می شود و از او خواسته می شود درباره اتفاقی که در این تصاویر در حال رخ دادن است توضیح دهد. دو مورد از شناخته شده ترین تست های فرافکن تست رورشاخ (Rorschach test) و تست TAT است. از دیدگاه تئوریک می توان از هر محرک مبهمی برای این تست ها استفاده کرد
خوب در ابتدای مقاله درباره مشاهده خودم در مورد استفاده از تست های فرافکن در جلسات مصاحبه گفتم. حال که مختصری درباره این تست ها توضیح دادم میرسیم به میزان کارایی این تست ها و قابل اعتماد بودن (Reliability) و اعتبار (Validity) آنها. به عبارت دیگر، در این قسمت می خواهم به این سوال پاسخ دهم که آیا می توان با پرسیدن یک یا چند سوال مبهم از مصاحبه شونده (و نه با یک تست فرافکن استاندارد مثل تست رورشاخ یا TAT) به ویژگی های شخصیتی او پی برد؟ پاسخ به این سوال را به دو قسمت تقسیم می کنم. ابتدا بهتر است به بررسی تست های فرافکن استاندارد بپردازیم و سپس به بررسی پرسیدن یک یا چند سوال خواهیم پرداخت:
تا کنون صدها مطالعه برای بررسی اعتبار و قابل اعتماد بودن تست رورشاخ انجام شده است. نتایج این تست ها نشان می دهد این تست قابلیت اعتماد و اعتبار پایینی دارد و افراد سالم بسیاری که این تست را می دهند به اشتباه در دسته افراد پاتولوژیکال قرار می گیرند. نتایج درباره تست TAT امیدوارکننده تر به نظر میرسد. تست های فرافکن بسیار دیگری هم وجود دارند اما به علت عدم وجود داده های کافی نمی توان درباره آنها به درستی اظهار نظر کرد
اما درباره سوالات غیر استاندارد چه می توان گفت؟ فکر می کنم با مطالعه پاراگراف بالا متوجه پاسخ این سوال شده اید. اگر بخواهیم از تست های فرافکن استفاده کنیم بهتر است از تست هایی که درباره قابلیت اعتماد و اعتبار آنها تحقیقات گسترده ای انجام شده بهره ببریم و استفاده از دو یا سه سوال غیراستاندارد اصلا روش خوبی برای سنجش ویژگی های شخصیتی افراد نیست!
خوب این بود خلاصه آنچه میخواستم درباره استفاده از تست های فرافکن بگویم. امیدوارم مورد استفاده قرار بگیرد.
چاپ هفتم کتاب برنامه نویسی با پایتون هم به بازار آمد. نام دقیق این اثر «برنامه نویسی با پایتون ۳» است. چاپ اول این کتاب (همون طور که در این پست) توضیح دادم سال ۱۳۹۳ به بازار ارائه شد، و «برنامه نویسی با پایتون» نام داشت. با به روز شدن نسخه اصلی کتاب، و ترجمه اون انتشارات تصمیم گرفت اسم ویرایش دوم و چاپ سوم کتاب را به «برنامه نویسی با پایتون ۳» تغییر دهد. چاپ هفتم این کتاب هم با همین نام به بازار ارائه شده است (چاپ هفتم با احتساب دو بار چاپ شدن ویرایش اول و پنجمین چاپ ویرایش دوم کتاب). امیدوارم مفید واقع بشه. می تونید کتاب رو به صورت آنلاین از نشر دانشگاهی کیان سفارش بدین.
اخیرا کتابی خواندم به نام The Great ScrumMaster اثر Zuzana Sochova. نویسنده در این کتاب مدلی از مسئولیت پذیری ارائه کرده بود که به نظرم جالب آمد. ترجمه مختصری از این مدل را در ادامه آورده ام.
ذهن انسان به خاطر نحوه تکاملش سعی می کند به سریع ترین شکل ممکن تصمیم بگیرد. هر وقت اتفاقی می افتد، ذهن گزینه ای برای چگونگی مواجهه با آن اتفاق در اختیارمان قرار می دهد. برای مثال، تصور کنید می خواهید ماشینتان را در یک پارکینگ طبقاتی شلوغ پارک کنید. حین پارک کردن با یکی از ماشین ها برخورد می کنید. در این حالت ذهنتان سعی می کند برای مواجهه با این اتفاق گزینه هایی در اختیارتان قرار دهد. این گزینه ها به ترتیب عبارتند از:
نادیده گرفتن (Denial): ساده ترین گزینه نادیده گرفتن اتفاقی است که افتاده. اصلا به ماشین کناری خوردم؟ من که رد هیچ خط و خشی نمی بینم. آثار موجود روی بدنه ماشین دیگر هم به خاطر کثیف بودن آن است و با کارواش رفتن برطرف خواهند شد. اما صدا از کجا آمد؟ صدای خرد شدن سنگ های پارکینگ بود
دنبال مقصر گشتن (Laying blame): اگر با نادیده گرفتن اتفاقی که افتاده راحت نباشید ذهنتان گزینه دیگری پیشنهاد می دهد. ناگهان در کسری از ثانیه، ذهن دنبال مقصر می گردد: اینکه به ماشین کناری خوردم مشکل راننده آن ماشین است. اگر به درستی پارک کرده بود چنین نمی شد!
توجیه کردن (Justify): اگر با دنبال مقصر گشتن هم راضی نشوید ذهنتان گزینه دیگری پیشنهاد می دهد. کارتان را توجیه می کند: همه گاه و بی گاه تصادف می کنند؛ نه؟ تازه پارک کردن در پارکینگ های طبقاتی شلوغ هم سخت است.
شرمندگی (Shame): گزینه بعدی شرمنده شدن است. این تصادف تقصیر من است. من هیچ وقت یاد نگرفتم در پارکینگ های طبقاتی شلوغ پارک کنم. شرمنده ام!
وظیفه (Obligation): گزینه بعدی مواجهه با مشکل به گونه ایست که نشان دهد انجام یک کار خاص وظیفه شما است. شماره تلفنم را روی یک تکه کاغذ نوشتم و پشت برف پاک کن ماشینی که به آن زدم گذاشتم. در نهایت بیمه خسارتم را جبران خواهد کرد.
بی خیال شدن (Quit): هر وقت بخواهید می توانید بی خیال همه چیز شوید.
مسئولیت پذیری (Responsibility): این گزینه آخری است که ذهنتان در اختیار شما قرار می دهد. برای مسئولیت پذیری باید از خودتان بپرسید «دفعه بعد باید چه کار کنم تا این اتفاق نیفتد؟». در مثال پارک کردن ماشین پاسخ این سوال می تواند پارک کردن در یک جای خلوت تر، نصب سنسور پارک روی ماشین و غیره باشد.
استفاده از گزینه های مختلف این مدل را در خودم و دیگران بارها دیده ام. امیدوارم با آگاهی از این مدل بتوانیم در مواجهه با مشکلات بهتر تصمیم بگیریم.
چاپ ششم کتاب برنامه نویسی با پایتون هم به بازار آمد. نام دقیق این اثر «برنامه نویسی با پایتون ۳» است. چاپ اول این کتاب (همون طور که در این پست) توضیح دادم سال ۱۳۹۳ به بازار ارائه شد، و «برنامه نویسی با پایتون» نام داشت. با به روز شدن نسخه اصلی کتاب، و ترجمه اون انتشارات تصمیم گرفت اسم ویرایش دوم و چاپ سوم کتاب را به «برنامه نویسی با پایتون ۳» تغییر دهد. چاپ ششم این کتاب هم با همین نام به بازار ارائه شده است (چاپ ششم با احتساب دو بار چاپ شدن ویرایش اول و چهارمین چاپ ویرایش دوم کتاب). امیدوارم مفید واقع بشه. می تونید کتاب رو به صورت آنلاین از نشر دانشگاهی کیان سفارش بدین.
برای آگاهی از اینکه پزشکی مدرن چقدر می تواند به بیماران کمک کند راهی وجود دارد. این راه، یک مفهوم آماری بسیار ساده به نام «عدد مورد نیاز برای درمان» (Number Needed to Treat) یا به اختصار NNT است. NNT معیاری برای میزان تاثیر دارو، یا درمان ارائه می دهد. این معیار، تعداد بیمارانی که باید درمان شوند تا، یک نفر تحت تاثیر قرار گیرد را تخمین می زند. NNT یک مفهوم آماری، اما شهودی است. همان طور که می دانید، همه افراد از مداخله پزشک یا استفاده از دارو سود نمی برند – برخی درمان می شوند، برخی هیچ نتیجه ای نمی گیرند، و برخی دیگر به علت درمان دچار آسیب می شوند. NNT تعداد افراد موجود در هر گروه را مشخص می کند.
برای مثال، درمانی خیالی برای حمله قلبی به نام «ضد-حمله» را در نظر بگیرید. برای بررسی میزان تاثیر این درمان، بیماران را به دو گروه تقسیم می کنیم «گروه درمان»، و «گروه شبه دارو». «گروه درمان» را در معرض «ضد-حمله» قرار می دهیم، و به اعضای «گروه شبه دارو» هیچ دارویی نمی دهیم. فرض کنید ۷۵ درصد بیماران «گروه درمان» که «ضد-حمله» را استفاده می کنند زنده مانده، و ۲۵ درصد آنها میمیرند. در گروه «شبه دارو» ۷۵ درصد بیماران میمیرند، و ۲۵ درصد آنها زنده می مانند. همان طور که مشاهده می کنید داروی «ضد-حمله» بسیار موثر است و می تواند نرخ مرگ و میر را به میزان قابل توجهی کاهش دهد. با این حال، ۲۵ درصد بیماران گروه «شبه دارو» که هیچ دارویی دریافت نمی کنند زنده مانده، و ۲۵ درصد اعضای «گروه درمان» هم با وجود استفاده از دارو میمیرند. به طور کلی، درمان «ضد-حمله» هیچ تاثیری بر ۵۰ درصد بیماران ندارد. در مقابل ۵۰ درصد بیمارانی که از این راه درمانی استفاده می کنند هم بهبود می یابند. نکته قابل توجه، این است که در اکثر داروها و درمان ها، نمی دانیم آیا درمان به افراد کمک کرده، هیچ تاثیری بر آنها نداشته، یا باعث آسیب به آنها شده است. اگر بخواهیم حساب کنیم چند نفر باید تحت درمان «ضد-حمله» قرار گیرند تا یک نفر درمان شود این عدد ۲ نفر است (زیرا این دارو تنها ۵۰ درصد بیماران را بهبود می دهد). به عبارت دیگر، NNT درمان «ضد-حمله» برابر با ۲ است. توجه داشته باشید در بسیاری از درمان ها نرخ میزان تاثیر درمان بسیار کمتر از ۵۰ درصد است. برای مثال، ممکن است NNT درمانی خاص ۵۰ باشد. یعنی تنها دو درصد بیمارانی که تحت این درمان قرار میگیرند از آن بهره می برند. در این حالت برای درمان یک نفر ۵۰ بیمار باید تحت درمان قرار بگیرند. مسلما، از میان این ۵۰ بیمار عده ای دچار عوارض آن خواهند شد.از این رو، بهتر است موقع استفاده از دارو، یا درمانی خاص NNT، و عوارض آن را مد نظر قرار دهید.
چاپ پنجم کتاب برنامه نویسی با پایتون هم به بازار آمد. نام دقیق این اثر «برنامه نویسی با پایتون ۳» است. چاپ اول این کتاب (همون طور که در این پست) توضیح دادم سال ۱۳۹۳ به بازار ارائه شد، و «برنامه نویسی با پایتون» نام داشت. طی چاپ های متوالی و با به روز شدن کتاب، نام ویرایش دوم و چاپ سومش به «برنامه نویسی با پایتون ۳» تغییر کرد و چاپ پنجم این کتاب هم با همین نام به بازار ارائه شده است (چاپ پنجم با احتساب دو بار چاپ شدن ویرایش اول و سومین چاپ ویرایش دوم کتاب). امیدوارم مفید واقع بشه. برای سفارش آنلاین کتاب می توانید به وب سایت نشر دانشگاهی کیان مراجعه کنید.
امروز چاپ چهارم کتاب برنامه نویسی با پایتون به بازار ارائه شد. نام دقیق این اثر «برنامه نویسی با پایتون ۳» است. چاپ اول این کتاب (همون طور که در این پست) توضیح دادم سال ۱۳۹۳ به بازار ارائه شد و «برنامه نویسی با پایتون» نام داشت. طی چاپ های متوالی و با به روز شدن کتاب نام ویرایش دوم و چاپ سومش به «برنامه نویسی با پایتون ۳» تغییر کرد و چاپ چهارمش هم، با همین نام به بازار ارائه شده است. امیدوارم مفید واقع بشه. برای سفارش آنلاین کتاب می توانید به وب سایت نشر دانشگاهی کیان مراجعه کنید.