<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های فرشاد میکائیل</title><link>https://virgool.ir/feed/@Mikaeil</link><description>جامعه‌شناسی، یادگیری عمیق و یادگیری ماشین در جامعه‌شناسی</description><language>fa</language><pubDate>2026-11-11 08:14:25</pubDate><image><url>https://files.virgool.ir/upload/users/3025/avatar/wp7Iss.png</url><title>فرشاد میکائیل</title><link>https://virgool.ir/@Mikaeil</link></image><item><title>پیشبینی قیمت Xrp با قیمت Bitcoin توسط Deep Learning</title><link>https://virgool.ir/@Mikaeil/پیشبینی-قیمت-xrp-با-استفاده-از-قیمت-bitcoin-exwisupmhedq</link><description>عنوان این پست ایده ای بود که من برای پیشبینی قیمت xrp با استفاده از قیمت Bitcoin استفاده کردم. هدفم این بود ببینم آیا میشه با استفاده از Bitcoin قیمت Xrp رو پیشبینی کرد. خب برای این ایده از مدل رگرسیونی Artificial Neural Intelligence استفاده کردم. دادهایی که برای این مدل استفاده کردم مربوط به سال های اول توزیع XRP است. خب بریم تحلیل نتایجی که از داده ها بدست آوردیماز آنجایی که از مدل ANN Regression استفاده کردم برای ارزیابی مدل از دو معیار MSE  و RMSE استفاده کردم برای مدل اول نتایج زیر بدست آمد:  عکس اول R-squared، عکس دوم MSE و عکس سوم ًRMSE R-squaredmean_absolute_errormean_squared_errorدو معیار Mean absolute error  و Mean squared error نشون میده که مدل دارای صلاحیت کافی برای استفاده است و معیار R-squared نشون که مدل در حد ۴۶ درصد تغییرات قیمت Xrp رو براساس قیمت ‌Bitcoin میتونه تبیین کنه!چند سوال ولی مطرح میشه:۱.چه متغیرهایی برای تببین قیمت استفاده شده؟۲.چرا در  R-squared عدد تست‌ست بالاتر از ترین ست اومده؟۳.از چه مدل هایی میتونیم استفاده کنیم؟</description><category>فرشاد میکائیل</category><author>فرشاد میکائیل</author><pubDate>Thu, 15 Apr 2021 20:13:11 +0430</pubDate></item><item><title>تبدیل ( Encoding ) داده های طبقه‌بندی شده ( Categorical) در یادگیری عمیق</title><link>https://virgool.ir/@Mikaeil/تبدیل-encoding-داده-های-طبقه-بندی-شده-categorical-در-یادگیری-عمیق-amf5lrm6ot3g</link><description>برای اینکه داده های طبقه‌بندی شده رو تبدیل به داده های بهتری برای استفاده در مدل Artificial Neural Network کنیم می‌تونیم از روش های متفاوتی استفاده کنیم. من وقتی می‌خواستم داده های طبقه‌بندی شده را Encoding کنم از روش One-Hot استفاده کردم.تبدیل ( Encoding) کردن خیلی ساده‌ست. ما یک سری داده هایی داریم که بصورت ۱و۲و ۳ و غیره طبقه بندی شدند. برای اینکه مدل ما متوجه بشه که این داده ها هیچ مزیتی نسبت به یکدیگر ندارند یا رابطه ای باهم ندارند و فقط به یک سری از انواع اشاره می‌کنند، از Encoding میتونیم استفاده کنیم. مثل اینه میمونه بخوایم مدل متوجه بشه که بین میمون و گاو و شیر ارتباطی وجود نداره، ما مجبوریم Encoding کنیم.( میدونم مثال های خاصی میزنم)روش One-Hoteچه زمانی از این روش استفاده کنیم:وقتی که تعداد داده ها نسبتا کمتر است ( برای پردازش سریعتر)وقتی رابطه ای بین متغیرها وجود ندارد و متغیرهای اسمی(‌بطور مثال جنسیت، اسم ) هستند.معایب این روش: در صورت داده های زیاد باعث سرعت کم در پردازش میشه.هم‌خطی چندگانه (Multicollinearity) هم‌خطی چندگانه یعنی بین چند متغیر مستقل رابطه خطی وجود دارد.برای تشخیص وجود هم‌خطی‌چندگانه از  Variance Inflation Factor استفاده می‌کنیم:اگر عدد بالاتر از ۵ باشد پس هم‌خطی‌چندگانه وجود دارد و اگر یکی از کتگوری هارو حذف کنیم، ممکن است هم‌خطی چندگانه از بین برود.def calculate_vif(data):&#xA;vif_df = pd.DataFrame(columns = [&#39;Var&#39;, &#39;Vif&#39;])&#xA;x_var_names = data.columns for i in range(0, x_var_names.shape[0]): &#xA;y = data[x_var_names[i]] &#xA;x = data[x_var_names.drop([x_var_names[i]])] &#xA;r_squared = sm.OLS(y,x).fit().rsquared vif = round(1/(1-r_squared),2)&#xA;vif_df.loc[i] = [x_var_names[i], vif] &#xA;return vif_df.sort_values(by = &#39;Vif&#39;, axis = 0, ascending=False, inplace=False)&#xA;X=df.drop([&#39;Salary&#39;],axis=1)&#xA;calculate_vif(X)برای استفاده از روش One-Hot از کد زیر و کتابخانه‌ی sklearn می‌تونیم استفاده کنیم.from sklearn.preprocessing import OneHotEncoder# define datadata = asarray([[&#39;red&#39;], [&#39;green&#39;], [&#39;blue&#39;]])print(data)# define one hot encodingencoder = OneHotEncoder(sparse=False)# transform dataonehot = encoder.fit_transform(data)print(onehot)</description><category>فرشاد میکائیل</category><author>فرشاد میکائیل</author><pubDate>Mon, 12 Apr 2021 23:50:00 +0430</pubDate></item><item><title>انوع Regularization ها در دیپ‌لیرنینگ یا یادگیری عمیق</title><link>https://virgool.ir/@Mikaeil/انوع-regularization-ها-در-دیپ-لیرنینگ-یا-یادگیری-عمیق-qgamudbxde8a</link><description>برای چی از Regularization در دیپ لیرنینگ استفاده می‌کنیم؟ جواب خیلی ساده است. Regularization ها برای جلوگیری از Overfitting در مدل های Machen Learning و Deep Learning استفاده می‌شود. خب الان ما یک مفهوم اضافه  Overfitting کنار  Regularization داریم. خب Overfitting چیه؟ قبل از نشون دادن مدل نموداری و ریاضی یک مثال از دنیای واقعی مطرح کنم. تصور کنید که شما در ایران به دنیا آمدید و هیچ ارتباطی با دنیای خارج به هیچ‌وجه ندارید. از نظر شما در چنین شرایطی همه انسان‌های ایرانی هستند. مدل تفکر شما در واقع همه انسان ها را ایرانی میدونه! در  حالیکه در دنیای خارج انسان هایی وجود دارند که ژاپنی، اروپایی، روسیه ای و غیره می‌تونند باشند. در چنین شرایطی میتونیم بگیم که مدل فکر ما دچار  Overfitting شده. چرا؟ چون ما تنها با داده های کشور ایران همه انسان ها را ایرانی میدونستیم ولی وقتی این مدل فکری را در همه دنیا تست کردیم، فهمیدیم همه انسان ها ایرانی نیستند. این مثال مفهوم پایه ای  Overfitting را واسه ما شرح میده. خب برای این حل مسئله ‌ی Overfitting چه کار می‌تونیم انجام بدیم؟ ساده ترین راه‌حلی که به نظر میاد اینه که در مدل فکری ما، چند عدد انسان غیرایرانی مثل ژاپنی و روسیه ای و اروپایی و غیره اضافه کنیم. با اضافه کردن این انسان ها به مدل فکری، ما میتونیم مسئله Overfitting را حل کنیم.حالا بیایم در مدل ریاضی ببینیم Overfitting چگونه مطرح می‌شود( همان معنای مثال بالارو میده ولی خب با زبان انتزاع ریاضی). نمودار پایین یک نمودار Overfitting است خطر نمودار سعی کرده به شکل دقیق روی داده ها قرار بگیره. در دنیای واقعی همچین مدلی به درد ما نمیخوره. بنابراین ما با اضافه کردن «نویز» یا «همون انسان های غیرایرانی» سعی می‌کنیم مدل را از Overfitting رها کنیم! برای اینکار ما از روش های L1 و L2 , Dropout استفاده می‌کنیم که در مدل های Deep Learning همانند ANN  استفاده می‌شود.نوع اول :  Regularization L1 L2از نظر محاسبات ریاضی این دو با هم تفاوت دارند ولی در این نوشته قصد وارد شدن به مباحث ریاضی نیستم و مهم کاربرد و درک کاربردی از مسئله است. ما از این دو Regularization استفاده میکنیم که مسئله  Overfitting  را حل کنیم ولی خب این دو چرا به درد ما می‌خورند؟وقتی از L2 استفاده میکنیم این تکنیک باعث می‌شود Weight Value ما متمایل به صفر شود البته صفر نمی‌شود و هنگامی که از L1استفاده می‌کنیم باعث می‌شود که Weight ٰValue به صفر تمایل پیدا کند. این دو گزاره پایه اصلی این دو تکنیک است. خب مسلما بهتره وارد جزییات ریاضی این مفهوم بشید ولی با یادگرفتن مفهوم این دو تکنیک در دنیای واقعی ( همون مثال ایرانی ها از انسان!)نوع دوم:  Dropout برای درک این روش فک کنم کافی باشه به عکس پایین نگاه کنید همونطور که می‌بینید در این روش مدل در هریک از لایه ها نودهایی را حذف میکنه این باعث میشه که مدل از Overfitting رها بشه!من در زمینه یادگیری عمیق، کاربرد هوش مصنوعی یادگیری ماشین و یادگیری عمیق در علوم اجتماعی، فلسفه هوش مصنوعی،زبان و جامعه کار می‌کنم. برام کامنت بذارید اگه به این مباحث علاقه دارید. </description><category>فرشاد میکائیل</category><author>فرشاد میکائیل</author><pubDate>Fri, 09 Apr 2021 12:57:14 +0430</pubDate></item></channel></rss>