<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های سپهر اکبرزاده</title>
        <link>https://virgool.io/feed/@sepehr.akbarzadeh</link>
        <description>دانشجو ارشد هوش مصنوعی
توسعه دهنده (پایتون - جنگو)
حوزه تحقیقاتی تخصصی: سیستم پیشنهاد دهنده
شغل: توسعه دهنده تیم امنیت ایرانسل
شغل دوم: مدرس پایتون</description>
        <language>fa</language>
        <pubDate>2026-06-17 10:34:49</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/5381/avatar/nbiOUb.png?height=120&amp;width=120</url>
            <title>سپهر اکبرزاده</title>
            <link>https://virgool.io/@sepehr.akbarzadeh</link>
        </image>

                    <item>
                <title>مجموعه داده ای در یادگیری ماشین چیست؟</title>
                <link>https://dataio.ir/مجموعه-داده-ای-در-یادگیری-ماشین-چیست-ky9ffnomlsfb</link>
                <description>شیوه نمایش مجموعه داده ایبا توجه دفعات متعددی که در تدریس این حوزه وارد شده ام متوجه شدم که همه تصور می کنند که یک مجموعه داده ای را میشناسند اما متاسفانه افراد بسیاری هستند که اصطلاحات تخصصی و مفاهیم ابتدایی یک مجموعه داده ای را نمی شناسند. اگر شما هم نمی دانید هیچ ایرادی ندارد. این پست برای افرادی است که به تازگی وارد این حوزه شده اند و می خواهند اصطلاحات یک مجموعه داده ای را بیاموزند.مجموعه داده ای چیست؟هر زمان شما تعدادی داده داشتید که توانستید آن ها را در یک سطر و ستون جای دهید، می توانید ادعا کنید که یک مجموعه ای از داده را دارید. بنابراین تبریک می گم ساده ترین مجموعه داده ای یک جدول است که دارای سطر و ستون است. حال این جدول را شما می توانید در هر جایی مانند اکسل، وب سایت داشته باشید. عنوانی که در دنیای لاتین در رابطه با مجموعه داده ای به کار می رود، Data set  است.اما به خاطر داشته باشید که مجموعه داده ای می تواند نهفته در مکان های بسیاری باشد که استخراج نشده اند. به عبارتی اینجا آغاز داده کاوی است. یعنی شما موظف هستید تا یک مجموعه داده ای بسازید. این داده-ها می توانند نهفته در متن یک وب سایت، کتاب یا هرجای دیگری باشند و یا ممکن است در قالب سرویس-های وب سایت هایی باشند که به شما می خواهند این مجموعه داده ای را بدهند که اغلب فرمت JSON دارند. حتی ممکن است خیلی از خروجی ها قدیمی تر باشند و با فرمت XML حضور پیدا کنند. این را نیز در نظر داشته باشید که داده های شما ممکن است در قالب یک فایل ساده شده اکسل با فرمت csv باشد.بنابراین زمانی می توانید بگویید مجموعه داده ای دارید که شما بتوانید داده هایتان را در قالب سطر و ستون بگنجانید.اکنون یک مجموعه داده ای ساده را شناختید؛ به شما تبریک می گویم. حال مجموعه داده ای پیچیده تر چیست؟ قالباً این نوع مجموعه داده ای سه وجه را داراست به عبارت دیگر  سطر، ستون و عمق دارد. می دانم که شما هم توانستید حدث بزنید. مجموعه داده ای پیشرفته تر با عنوان مکعب داده (Data Cube) یا مجموعه داده ای سه بعدی شناخته شده است. خیلی از مقالات علمی این نوع مجموعه داده ای را با عنوان پنل (panel) یاد می کنند.جمع آوری اطلاعات بخش اول این مقاله)اکنون شما می دانید که یک مجموعه داده ای می تواند یک جدول یا مکعب داده باشد. به هر حالتی که مجموعه داده ای را پیدا می کنید، بهتر است آن را در قالب یک فایل CSV در بیاورید. فایل CSV یک فایل اکسل است که از کاراکتر و کاما ترکیب شده است. مثال زیر یک مجموعه داده ای CSV در فایل notepad است که نرم افزار اکسل شما نیز می تواند آن را  بخواند.m2,rooms,price
100,3,100.000.000
125,2,150.000.000اصطلاحات یک مجموعه داده ایاکنون زمان این رسیده است تا اصطلاحات داخل مجموعه داده  ای را بشناسیم. ابتدا شکل زیر را  مشاهده  کنید:نمایش ستون در یک مجموعه داده ایهمانطور که می دانید هر کدام از مربع های قرمز رنگ داخل این مجموعه داده ای حکم یک ستون را دارد. در دنیای مهندسین علم داده به ستون نام های زیر را نسبت می دهند:ویژگی (feature)بعد (dimension)صفت خاصه (attribute)متغیر (variable)بنابراین سعی کنید با این اسامی ارتباط برقرار کنید به این خاطر که به کرات از این اصطلاحات استفاده شده است. توجه داشته باشید که زمانی که در حوزه یادگیری ماشین می گویید متغیر، منظور داده های یک ستون است نه متغیر معمولی برنامه نویسی که در ابتدای یادگیریتان آموخته اید.حال برسیم به اصطلاحاتی که در رابطه با یک سطر گفته می شود:نمایش یک سطر در مجموعه داده ایاکنون می توانید جایگاه یک سطر را در مجموعه داده ای مشاهده کنید. مهندسین علم داده به سطر اصطلاحات زیر را نسبت می دهند:تاپل (tuple)رکورد (record)دیتا پوینت (data point)اکنون مشاهده کردید که در این قسمت نیز اصطلاحاتی وجود دارد. اکنون اصطلاح دیگری نیز هست  که به هر داده ای صرف  نظر از اینکه در ستون و سطر خاصی قرار داشته باشد را  به آن مشاهده (observation) می گویند. به عبارت دیگر هر داده که در مجموعه داده ای وجود داشته باشد یک مشاهده است و بصورت کلی به تعدادی از آن ها مشاهدات می گویند. نام دیگر مشاهدات نیز نمونه ها (samples) است.اکنون از میان  همه ستون ها خیلی وقت ها مد نظر داریم تا ستون دیگری را توسط الگوریتمی پیشبینی کنیم. خیلی ساده اگر بیان کنیم بر روی این دست از مجموعه های داده ای الگوریتم های نظارتی یادگیری ماشین زده می شود که در پستی دیگر توضیح داده شده است.ستون هدف در یادگیری ماشین به این ستون در مجموعه داده ای که معمولا در ستون آخر قرارش  می دهند، موارد زیر را می گویند:خروجی (output)هدف  (target)سمبل (y)برچسب (label)بردار ویژگی جهت پیشبینی برچسبحال به متغیر های (feature) انتخاب شده جهت پیشبینی خروجی موارد زیر گفته می شود:ورودی (input)بردار ویژگی (feature vector)سمبل (x)اینکه چگونه شما انتخاب می کنید کدام ویژگی حضور داشته باشد و کدام ویژگی حضور نداشته باشد، لازم است تا در پست دیگری به آن پرداخته شود.اکنون شما آموختید که یک مجموعه داده ای از چه بخش هایی تشکیل شده است و حرف مشترک میان مهندسین علم داده را فرا گرفتید. شما چه اصطلاحاتی را می شناسید؟ لطفا نظرات و پیشنهادات خودتان را در زیر این پست قرار دهید.موفق، مؤید و پیروز باشید.</description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Wed, 18 Sep 2019 16:45:03 +0430</pubDate>
            </item>
                    <item>
                <title>یادگیری ماشین را از کجا شروع کنیم؟</title>
                <link>https://dataio.ir/یادگیری-ماشین-را-از-کجا-شروع-کنیم-gozwqxknnysg</link>
                <description>یادگیری ماشین را از کجا شروع کنیم؟یکی از دغدغه های موجود در حوزه علم داده (یادگیری ماشین) این  است که چگونه این حوزه را شروع کنید و چطور در این زمینه بخواهید حرفه ای شوید. یکی از دلایل زیاد شدن افرادی که در این زمینه حرکت می کنند به این دلیل است  که بازار بسیار جذاب و پر پولی را در کشورهای اروپایی و آمریکایی دارد ضمن اینکه شرکت های برتر ایران  نیز به  افرادی در این زمینه نیاز دارند. معمولا اکثر افرادی که این زمینه را  مطالعه می کندد قصد مهاجرت و خروج از ایران را دارند. بر همین اساس به دلیل سوالات زیادی که در این زمینه پرسیده می شد، برآن شدم تا  مطلبی در این راستا منتشر کنم تا همه بتوانند مسیر درستی را طی کنند.مرحله اول) زبان برنامه نویسی پایتوندر ابتدایی ترین بخش پیش از اینکه بخواهید حوزه یادگیری ماشین را آغاز کنید، بهتر است که زبان برنامه نویسی پایتون را بدانید. نکته ای که در این زمینه حائز اهمیت است، تنها یادگیری قواعد نوشتاری زبان برنامه نویسی اهمیت ندارد بلکه شما باید چگونگی حل مسئله را بیاموزید و اینکار هم تنها با تمرین و تکرار پشتکار خودتان به دست می آید. به ندرت کسی بتواند این مهارت را به  شما انتقال دهد. سعی کنید ضمن یادگیری قواعد پایتون، زمانی که متوجه شدید توانایی حل  مسئله دارید در سایت hackerrank.com عضو شوید سپس   مسائل آن را شروع به حل کردن کنید. تقریبا خودتان می توانید به مرور زمان متوجه شوید که مسائل را می توانید حل کنید.مرحله دوم) یادگیری مفاهیم ابتدایی یادگیری ماشیندر این مرحله یادگیری موارد زیر بسیار حائز اهمیت است:درک یک مجموعه داده ایواریانسکوواریانسهمبستگی (correlation)درک الگوریتم یادگیری ماشین (پیشبینی مقدار، کلاس بندی)ارزیابی (evaluation)انواع تقسیم بندی مجموعه داده ای (cross validation)درک مفهوم generalization و over-fitانتخاب ویژگی (feature selection)استخراج ویژگی یا کاهش ابعاد داده (feature extraction or dimensional reduction)یادگیری کامل الگوریتم های یادگیری ماشین (machine learning algorithms)یادگیری عمیق (deep learning)یادگیری تقویتی (reinforcement learning)مرحله سوم) پیاده سازی آموختهدقت کنید که این مرحله در موازی مرحله دوم باید رخ داهد. سعی کنید روی مجموعه داده ای های معروف کار کنید و انواع مواردی که آموختید را پیاده سازی کنید. به عنوان مثال مسئله رگرسیون را روی مجموعه داده ای Boston و پیش بینی قیمت موبایل تست کنید. سپس بر روی مجموعه داده ای کلاس بندی شده کار کنید که در مجموعه داده ای UCI که پیشتر لینکش رو گذاشتم می توانید مسائل کلاس بندی (classification) را پیدا  کنید و آن  ها را حل  کنید. دقت کنید که اگر موفق نشدید هیچ ایرادی نداره این مسائل حل شده اند و شما می توانید کدهای دیگران را در اینترنت پیدا کنید.در این میان خودتان را  در چالش های hackerrank  یا codility قوی تر کنید. هر زمان که احساس کردید یادگرفته اید و می توانید وارد بازار کار شوید شروع کنید به گشتن داخل سایت  kaggle ابتدا خودتان را در چالش های از پیش تعیین شده محک بزنید و ببینید چقدر می توانید نسبت به سایرین بهتر عمل کنید. در نهایت می توانید اقدام به موقعیت های شغلی کنید.توجه داشته باشید که زمانی به مصاحبه بروید که بتوانید از کارهایی که کردید، علمی دفاع کنید و از تک تک جزئیات الگوریتم ها و عملکردشان آگاه باشید. یکی از سوالات مرسوم مصاحبه های علم داده این است که بهترین مجموعه داده ای از نظر شما چه شکلی است.نکته: در حین یادگیری دچار توهم یادگیری دقیق ریاضیات نشوید. بیشترین نکته ای که حائز اهمیت است، یادگیری عملکرد الگوریتم در جای درست است. شما قرار نیست الگوریتم اختراع کنید. الگوریتم رو دوستانی که رشته ریاضی مطالعه کردند و کسانی که ارشد هوش مصنوعی دارند وظیفه دارند تا اختراع کنند. شما بیاموزید هر الگوریتم چگونه با چه حالاتی کار می کند و مزایا و معایبش چیست. کجا از آن استفاده کنید درست است و کجا اشتباه است. بنابراین از ریاضیات پیچیده علم داده نترسید. در این صورت یادگیری برایتان ساده می شود. ابتدا ساده شروع کنید و زمانی که دیگر جذابیت عملی علم داده دلچسب نبود یا به چالش های زیادی برخورد کردید، بروید و شروع کنید به یادگیری تئوری گراف سپس هندسه تحلیلی و در نهایت وارد الگوریتم های یادگیری ماشین بشوید. نکته: هرچقدر شما در آمار قوی تر باشید مهندس قوی تری خواهید بود. آمار نقش بسیار مهمی در پیش پردازش داده دارد. اگر علاقه مند هستید جزئیات ریاضیاتی را بدانید ابتدا توصیه می کنم با آمار و نقش آمار در مجموعه داده ای را مطالعه کنید.در نهایت دو منبع بی نظیر جهت یادگیری ساده و مقدماتی:mediumtowardsdatascienceاین پست و این مسیر برای کسانی است که رشته هوش مصنوعی مطالعه نکردند و علاقه مند به یادگیری این زمینه هستند. پروسه تخصصی این حوزه کمی می تواند متفاوت تر باشد که این موضوع نیز  به سطح آموخته های دانشجویان پیش از شروع دوره ارشد بر می گردد.سوالات خود را در زیر همین پست بپرسید. همچنین خوشحال می شوم با دوستان خود به اشتراک بگذارید. مخاطبین بیشتر باعث انگیزه بیشتر ماست. قانون انرژی را در با کمک هم تقویت کنیم.موفق، مؤید و پیروز باشید.</description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Wed, 18 Sep 2019 11:43:27 +0430</pubDate>
            </item>
                    <item>
                <title>مفاهیم بنیادی کوواریانس و همبستگی در یادگیری ماشین</title>
                <link>https://dataio.ir/covariance-correlation-xxdqje00upv9</link>
                <description>اغلب داده کاوی به یکپارچه سازی داده ها یعنی ادغام داده ها از چندین منبع داده ای نیاز دارد. یکپارچه سازی دقیق می تواند به کاهش و اجتناب از افزونگی و ناسازگاری ها در مجموعه داده ای کمک کند. همچنین باعث بهبود دقت و سرعت فرآیندهای بعدی داده کاوی می شود.افزونگی چیست؟افزونگی یکی دیگر از موضوعات مهم در یکپارچه سازی داده است. یک صفت خاصه (مانند درآمد سالیانه) ممکن است افزونه تلقی شود اگر بتوانیم با کمک مقادیر دیگر صفات خاصه آن را به دست آوریم (جدول شماره 1) ناسازگاری ها در صفات خاصه یا نام گذاری ابعاد نیز باعث افزونگی در مجموعه داده ای می شود. جدول 1 در این جدول مشاهده می کنید که به راحتی می توان با ستون های یک تا سه اطلاعات ستون چهارم را به دست آورد ( درآمد به ازای ساعت * میزان ساعت کارکرد در روز * تعداد روز های حضور در طول یک ماه * 12 = درآمد سالیانه). بنابراین وجود ستون چهارم اشتباه و افزونه است.هبستگی چیست؟یک رابطه همبستگی (correlation) میان دو ستون A و B را می توان با کمک آزمون همبستگی کشف نمود. در صورتیکه همبستگی کم باشد، می گوییم رابطه خطی (linear relationship) وجود ندارد. درصورتیکه دو ستون همبستگی داشته باشند عموما به این معناست وجود هر دو لازم نیست و در کنار یکدیگر لزوما باعث بهبود مدل یادگیری نمی شوند ( با این حال مطلب گفته شده به تعداد نمونه هایی که بررسی می کنید و نوع صورت مسئله خیلی بستگی دارد که بیشتر این موارد به تجربه و مباحث پیشرفته ختم می شود.)مثالی که از همبستگی می توان زد به این شکل است که فرض کنید با یک جمعیت 1500 نفری از زن و مرد روبه رو هستیم، که هر یک از آن ها علاقه ی خود را برای مطالب تخیلی و غیر تخیلی بیان نموده اند. بنابراین دارای دو صفت خاصه ( ستون ) جنسیت با دو مقدار مرد یا زن و علاقه افراد با دو مقدار تخیلی و غیر تخیلی هستیم.محاسبه همبستگی و نمایش آن در نمودار پراکنشی روش مفیدی برای تشخیص خوشه ها، داده های پرت و همچنین مشاهده ی همبستگی احتمالی میان داده ها است. دو صفت خاصه ی X و Y هنگامی همبسته هستند که بتوان رابطه ای میان آن ها پیدا کرد. ممکن است دو صفت خاصه دارای همبستگی نباشد و یا دارای همبستگی مثبت یا منفی باشند.برای درک این موضوع ابتدا باید کوواریانس را به خوبی یاد بگیریم.نمونه ای از نمودار پراکنشی یا نقطه ای کوواریانس چیست؟در تئوری آمار و احتمال، همبستگی و کوواریانس دو سنجه مشابهی هستند که برای ارزشیابی تغییرات دو صفت خاصه با یکدیگر از آن ها استفاده می شود.فرض کنید مجموعه داده ای ما دارای دو صفت خاصه ی عددی A و B با مقادیر مشاهده شده ی { (a1, b1)...(an, bn) } می باشد. مقادیر میانگین برای دو صفت خاصه همچنین به عنوان مقادیر مورد انتظار نیز شناخته می شوند. جدول و نمودار 2 را به عنوان مثال در نظر بگیرید. جدول و نمودار 2 اکنون کاملا واضح است که نقاط قرار گرفته در نمودار متناظر با اعداد داخل جدول است. اکنون با رسم یک خط می خواهیم مشخص کنیم مدل رفتار این نقاط خطی یا غیر خطی است.نمودار 3)  مدل رفتاری داده داده هااکنون با رسم این نمودار کاملا متوجه شدیم که رفتار داده های ما خطی است. به راحتی برای ما قابل درک است که اگر محور x رشد کند، محور y نیز رشد می کند بنابراین می گوییم این دو محور تمایل به رفتار مشابه دارند. پس می توان این مفهوم را تلقی کرد که رشد دو محور ما را به هدف total یا جمعی می رساند. فرض کنید محور x نرخ رشد جمعیت و محور y میزان تورم را نمایش می دهد. نتیجه این دو محور اگر تمایل به رفتار مشابه داشته باشد، می گوییم رشد جمعیت باعث رشد تورم می شود.در این حالت می گوییم این دو صفت خاصه رابطه خطی مثبت دارند.این چیزی است که به آن کوواریانس می گوییم.کوواریانس چیست؟ در کوواریانس بررسی می کنیم که اگر متغیری تغییر کند باقی متغیرها چه رفتاری نشان می دهند. بنابراین کوواریانس رابطه ای میان دو متغیر را بررسی می کند. دقت کنید که کوواریانس تنها در مورد رفتار ( جهت ) حرکت دو صفت خاصه صحبت می کند نه در باره میزان قدرت حرکت آن دو. اگر نمودار هیچ الگویی نداشته باشد می گوییم کواریانس نزدیک به صفر است.نمودار 4) درک مفهوم کوواریانس مثبتکوواریانس مثبت: اگر نمودار خطی ما رفتاری به شکل نمودار 4 داشته باشد می گوییم کوواریانس مثبت است. یا به عبارتی اگر نتیجه کوواریانس ما مثبت باشد، چنین نموداری را می توانیم متصور شویم که به این منظور تلقی می شود اگر محور x رشد کند، محور y نیز رشد می کند و اگر محور x افت کند، محور y نیز افت می کند.کوواریانس منفی: اگر نمودار خطی ما رفتاری به شکل نمودار 5 داشته باشد می گوییم کوواریانس منفی است. یا به عبارتی اگر نتیجه کوواریانس ما منفی باشد، چنین نموداری را می توانیم متصور شویم که به این منظور تلفی می شود اگر محور x کاهش پیدا کند، محور y رشد می کند و اگر محور x رشد کند، محور y کاهش میابد.کوواریانس صفر: اگر نمودار ما به شکل پخش یا به اصطلاح مانند تیرهای شاتگان روی صفحه باشد به دلیل اینکه هیچ نمودار خطی نمی توان رسم کرد، گفته می شود کوواریانس نزدیک به صفر است.اکنون به فرمول محاسباتی کوواریانس می رسیم:فرمول های کوواریانسنکته ای که در فرمول بالا وجود دارد رنگ آبی و رنگ قرمز است که هر دو آن ها میانگین هستند. در جایی که منظور جمعیت باشد میو (سمبل رنگ آبی) نوشته می شود و جایی که نمونه باشد xبار (سمبل رنگ قرمز) نوشته می شود.در مقاله واریانس درباره Sample و Population صحبت کرده بودیم.حال مثال زیر را در نظر بگیرید:جدول 6) مثالی از محاسبه کوواریانسجدول 7) محاسبه نتیجه کوواریانساکنون دیدی که مقدار کوواریانس ما 106.93 شد. در کوواریانس خود عدد معنایی ندارد و چیزی که برای ما مهم است تنها علامت عدد است تا بگوییم اگر عدد مثبت است بنابراین نمودار خطی ما مثبت است و اگر عدد علامت عدد منفی است گفته می شود که نمودار خطی  ما منفی است.بنابراین نتیجه زیر را به راحتی متصور می شویم:نمودار 8) محاسبه نتیجه کوواریانستا اینجای کار کاملا مفهوم همبستگی و کوواریانس را به خوبی درک کرده اید. اما کوواریانس به تنهایی کافی نیست به این دلیل که قدرت رابطه میان صفات خاصه را نمایش نمی دهد. برای محاسبه قدرت رابطه میان دو صفت خاصه باید از رابطه Pearson&#x27;s Product Moment Coeficient یا ضریب همبستگی برای داده های عددی را محاسبه کرد.نتیجه گیری:جمع بندی واریانس و کوواریانس:واریانس و انحراف استاندارد سنجه های پراکندگی داده ها هستند. آن ها چگونگی توزیع داده ها را نشان می دهند. مقدار کم انحراف استاندارد نشان می دهد که داده های مشاهده شده بسیار به میانگین نزدیک هستند، در حالیکه مقدار بزرگ برای انحراف استاندارد نشان دهنده این است که داده ها در محدوده بزرگی از مقادیر پخش شده اند. بنابراین انحراف استاندارد شاخص خوبی برای بیان پراکندگی مجموعه داده ها محسوب می شود. در پایگاه داده های بزرگ محاسبه واریانس و انحراف استاندارد مقیاس پذیر است. در کوواریانس بررسی می کنیم که اگر یکی از مقادیر صفت خاصه ای تغییر کند باقی صفات خاصه چه رفتاری نشان می دهند. بنابراین کوواریانس رابطه ای میان دو متغیر را بررسی می کند. دقت کنید که کوواریانس تنها در مورد رفتار ( جهت ) حرکت دو صفت خاصه صحبت می کند نه در باره میزان قدرت حرکت آن دو. اگر نمودار هیچ الگویی نداشته باشد می گوییم کواریانس نزدیک به صفر است.اگر مثالی از جبر خطی تا کنون می خواستید، مفهوم کوواریانس از بهترین توصیفات جبر خطی است. http://vrgl.ir/z0vvb </description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Sun, 24 Jun 2018 13:43:20 +0430</pubDate>
            </item>
                    <item>
                <title>واریانس در یادگیری ماشین</title>
                <link>https://dataio.ir/variance-jmjlnarxyeua</link>
                <description>تعریف واریانس و انحراف از معیار در آمارواریانس چیست؟ میزان پخش شدن رکوردهای یک ستون را به ما نمایش می دهد.انحراف از معیار چیست؟ میزان فاصله هر داده تا میانگین را انحراف از معیار می گویند.در یادگیری ماشین گرفتن واریانس به ما کمک می کند تا تشخیص دهیم رکوردهای یک ستون به چه میزان پخش شده اند یا به عبارت دیگر رکورد های یک مجموعه داده ای به چه میزان از میانگین فاصله دارند.فرمول محاسبه واریانس  فرمول محاسبه انحراف از معیاربه علامت σ به زبان یونانی، سیگما می گویند.برای افرادی که علامت زیگما را نمیشناسند چگونه کار می کند: مفهوم زیگما محاسبه واریانس و انحراف از معیار توسط یک مثالاجازه دهید یکی از با یک مثال پیش برویم (مثال برگفته از مرجع زیر است) https://www.mathsisfun.com/data/standard-deviation-formulas.html در این مثال چند نمونه سگ را آورده اند و می خواهند واریانس بگیرند تا وضعیت سگ ها را بسنجند.ارتفاع هر سگ تا شانه اش (کتف) به ترتیب برابر 600mm، 470mm، 170mm، 430mm، 300mm است. وظیفه ای که به عهده ما است این است که واریانس و انحراف از معیار و همچنین میانگین آن ها را بدست آوریم.Mean = (600 + 470 +170 +430 + 300) / 5 =&gt;Mean = 1970 / 5 =&gt;Mean = 395بنابراین میانگین در شکل بالا بصورت زیر قرار می گیرد:نمایش میانگین در شکل ( خط سبز میانگین است )اکنون اختلاف ارتفاع هر سگ را با میانگین به شکل زیر محاسبه می کنیم:اختلاف ارتفاع هر سگ تا میانگین اکنون می خواهیم واریانس میان آن ها را محاسبه کنیم:شیوه محاسبه واریانساکنون اگر ریشه ( یا جذر ) واریانس را بگیریم به انحراف از معیار می رسیم: محاسبه انحراف از معیار اکنون می توانیم شکل مورد نظرمان را به روز رسانی کنیم: محاسبه انحراف از معیار در میان سگ ها حالا می توانیم به راحتی تشخیص دهیم که استاندارد برای ما تا چه حدی است. سمت چپ ترین سگ جزء استاندارد های ما نیست و بلند تر از استاندارد است و همچنین سگ وسط که کوتاه ترین سگ است نیز جزء استاندارد های ما میان این مجموعه داده ای نیست.توجه: نکته ای که وجود دارد این است که هرچقدر واریانس کوچک باشد و به صفر نزدیک شود، به این معنا است که رکوردهای یک ستون بسیار نزدیک به میانگین و به یکدیگر هستند. واریانس بالا به ما نشان می دهد به چه میزان رکوردهای یک ستون از میانگین و یکدیگر دور هستند.مفهوم واریانس در یادگیری ماشیناین ساده ترین تعریف برای واریانس و انحراف از معیار است. اما این نگاه تنها نگاه آماری است و نه به عنوان یک دانشمند داده (Data Scientist) شما باید به عنوان یک دانشمند داده بدانید که مفهوم واریانس چه تاثیری در یادگیری ماشینتان می گذارد.بنابراین دو مفهوم زیر را داریم:واریانس پایین: به شما می گوید کوچک ترین تغییر در مجموعه داده ای باعث می شود نتایج در تابع هدف تغییر کند.واریانس بالا: به شما می گوید تغییر بزرگی باید رخ دهد تا تابع هدف دچار تغییر در تخمین هایش شود.مثال هایی از واریانس پایین در یادگیری ماشین می توان به رگرسیون خطی (Linear Regression)، تجزیه و تحلیل خطی (Linear Discriminant Analysis) و رگرسیون لجستیک (Logistic Regression) اشاره کرد.مثال هایی از واریانس بالا در یادگیری ماشین می توان به درخت تصمیم (Decision Tree)، کا-همسایه نزدیک (K-NearestNeighbor) و ماشین بردار پشتیبان (Support Vector Machine) اشاره کرد.در نهایت ممکن است در محاسبه واریانس و انحراف از معیار به دو مفهوم Sample و Population برخورد کنید:زمانی که صحبت از نمونه و جمعیت که می شود، در واقع می خواهیم در رابطه با N صحبت کنیم که در فرمولی که در ابتدا برایتان قرار دادم، وجود دارد. اجازه دهید همان مثال بالا که مجموعه ای از سگ ها بود را بررسی کنیم. اگر کل مجموعه داده ای ما همان تعداد سگ ها بود در واریانس تقسیم بر تعداد کل رکوردهای یک ستون آن مجموعه داده ای می کنیم که در اینجا پنج (در مجموع پنج سگ داریم) می شود. اگر این تعداد از سگ ها تنها نمونه ای از مجموعه داده ای بزرگتری هستند و به عنوان نماینده در اینجا حضور دارند باید در فرمول به جای N بیاییم N-1 را قرار دهیم. بنابراین:جمعیت Population چیست؟ به محاسبه کل رکوردهای یک ستون یک مجموعه داده ای جمعیت می گوییم.نمونه Sample چیست؟ به محاسبه تعدادی از رکوردهای یک ستون از یک مجموعه داده ای نمونه می گوییم.نکته ای که در Sample وجود دارد این است که می گوید در آمار نیاز نیست همیشه ما بخواهیم کل یک مجموعه داده ای را محاسبه کنیم. تنها شاخص الگو ها به ما بیشترین اطلاعات را می دهند. اما این را هم در نظر بگیرید که با استفاده از نمونه شما میزان دقتی که در جمعیت دارید را از دست می دهید اما چیزی که بدست می آورید زمان است.درنهایت داریم:  دو روش نمایش فرمول انحراف از معیاربیشتر بدانیددر ادامه می خواهم توضیح دهم که چرا مربع هر داده را می گیریم ( این بخش تنها برای افراد کنجکاو نسبت به علم است )اگر علامت ها را در میانگین تاثیر دهیم اتفاقی به شکل زیر برای ما رخ می دهد:میانگین صفر می شود در واقع می گوییم اعداد منفی تاثیر اعداد مثبت را از بین بردند.اگر تاثیر اعداد منفی را از میان ببریم چه اتفاقی رخ می دهد؟  میانگین عدد 4 می شوداکنون می توانیم بگوییم میانگین عدد 4 شده است و همه چیز رو به راه است. اما اگر اعداد ما بصورت زیر قرار گرفته باشند چه اتفاقی رخ می دهد؟میانگین مجددا عدد 4 می شود. اکنون می گوییم میانگین همچنان عدد 4 است. اما اتفاقی که رخ داده آن است که ما اطلاعات زیادی را در رابطه با رکوردها از دست داده ایم. بنابران چه کاری می توان انجام داد تا میزان اهمیت رکورد ها را متوجه شویم؟ جوب صحیح این است که بیاییم مربع اعداد را میانگین و در نهایت ریشه آن را بگیریم.اکنون به راحتی متوجه می شوید که میانگین های دو مجموعه داده ای کاملا متفاوت هستند.</description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Fri, 22 Jun 2018 13:25:18 +0430</pubDate>
            </item>
                    <item>
                <title>بررسی دو مفهوم under-fitting و over-fitting در یادگیری ماشین</title>
                <link>https://dataio.ir/overfitting-fvu1pnuheefs</link>
                <description>در این پست می خواهیم به دو مفهوم بسیار مهم over-fit و under-fit بپردازیم.بصورت خلاصه معانی این دو مفهوم به شکل زیر است:مفهوم Over-fit: عملکرد یادگیری بسیار خوب بوده، اما عملکرد بر روی مجموعه داده ای های دیگر (dataset) خوب نیست.مفهوم Under-fit: نه تنها یادگیری خوب نبوده است، بلکه عملکرد آن بر روی مجموعه داده ای های دیگر نیز ضعیف است.تابع هدف یا target functionدر یادگیری ماشین تابعی که بر روی مجموعه داده اعمال می شود را f که این تابع ورودی های X را می گیرد و خروجی Y را نمایش می دهد. بنابراین به مدل ریاضی به شکل زیر می نویسیم:Y = f(X)یکی از مهم ترین ملاحظاتی ک باید در یادگیری ماشین و تابع هدف در نظر گرفت این است که چگونه مدل یادگرفته شده به رکوردهای جدید تعمیم داده شود. تعمیم یا Generalization بسیار مهم است، زیرا اطلاعاتی که جمع آوری می شود تنها یک نمونه، ناقص و نویزی است.مفهوم Generalization: تعمیم به این نکته اشاره دارد که مفاهیمی که توسط یک مدل یادگیری ماشین آموخته شده است، به نمونه های جدیدی که با آن مواجه می شود، به خوبی بپردازد.در نهایت به خاطر وجود مفهوم تعمیم پذیری در یادگیری ماشین، دو اصطلاح دیگر با نام های Under-fitting و Over-fitting به وجود می آیند. این دو مفهوم هر دو نشان دهنده عملکرد ضعیف الگوریتم یاد گیرنده در یادگیری ماشین است.مفهوم Over-fit یا بیش برازشدرواقع Over-fitting به این موضوع اشاره دارد که مدل ما بسیار خوب آموزش دیده است اما به خوبی تعمیم نیافته است. اجازه دهید با یک مثال واقعی پیش برویم.فرض کنید شما به یک کشور خارجی رفته اید و قصد دارید با تاکسی به جایی بروید و از بد روزگار راننده آن تاکسی شما را تلکه می کند و پول زیادی از شما می گیرد و در نهایت شما می گویید تمامی رانندگان تاکسی آن کشور دزد هستند. Over-generalization یا Over-fitting دقیقا همین چیزی است که در زندگی انسان ها در حال رخ دادن است و جالب است بدانید که ماشین نیز ممکن است در این دام بیفتد اگر به خوبی مراقب عملکردتان نباشید. بنابراین تعریف Over-fit را اینگونه می گوییم که بسیار خوب آموزش دیده است اما قدرت تعمیم پذیری یا Generalization ندارد.این اتفاق زمانی برایتان ممکن است بیفتد که مجموعه داده ای شما خیلی کوچک یا خیلی بزرگ و پیچیده باشد و همچنین شامل داده های نویزی نیز باشد ( البته کوچک بودن نیز به تنهایی می تواند مشکل ساز باشد حتی بدون داده های نویزی ). به همین خاطر می گوییم ماشین نمی تواند با داده های جدید درست نتیجه گیری کند.Over-fitting = Good Learning + Not Generalizedزمانی که مدل را ساده تر می کنیم تا ریسک بیش برازش کمتر شود را Regularization یا تنظیم می گوییم.مفهوم Under-fit یا کم برازشمفهوم کم برازش یا Under-fitting زمانی اتفاق میفتد که مدل بسیار ساده است و برای یادگیری مناسب نیست. چند انتخابی که برای حل این مشکل دارید این است که مدل یادگیرنده بهتری انتخاب کنید یا ویژگی های بهتری برای مدلتان که می خواهد بیاموزد انتخاب کنید یا میزان محدودیت هایی که برای تنظیم مجموعه داده ای قرار داده اید را کمتر کنید.در این مقاله مفاهیم زیر را آموختیم:Over-fittingUnder-fittingGeneralizationRegularizationTarget functionدر این مقاله دریافتیم که به مفاهیم زیر باید بیشتر بپردازیم:Feature selectionRegularizationNoisy dataTesting and ValidatingPoor-Quality Data http://vrgl.ir/EImjs </description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Thu, 21 Jun 2018 17:03:34 +0430</pubDate>
            </item>
                    <item>
                <title>بارگذاری مجموعه داده - Pandas 3</title>
                <link>https://dataio.ir/how-to-import-dataset-with-pandas-r1gsggvg9xx2</link>
                <description>باز کردن مجموعه داده ای در پایتونهمانطور که می دانید اولین گام برای آغاز هوش مصنوعی، این است که مجموعه داده ای خود یا همان dataset را بارگذاری نماییم. متداول ترین فرمت برای مجموعه داده ای یادگیری ماشین، فایل های CSV یا همان فایل های اکسلی هستند.در پایتون روش های متعددی برای بارگذاری مجموعه داده ای CSV وجود دارد: بارگذاری فایل های CSV با کتابخانه استاندارد پایتونبارگذاری فایل های CSV با کتابخانه Numpyبارگذاری فایل های CSV با کتابخانه Pandasدر این پست می خواهیم در رابطه با بارگذاری فایل های CSV توسط کتابخانه پاندا صحبت کنیم.نکته: هنگام بارگذاری مجموعه داده یادگیری ماشین از فایل های CSV، ملاحظات متعددی وجود دارد. شما با مراجعه به یک مقاله کوچک و جالب می توانید با تمامی این استثناء ها آشنا شوید.می توانید مجموعه داده ای المپیک را دانلود نمایید و از این مجموعه داده ای برای ادامه کار استفاده کنید.برای بارگذاری مجموعه داده ای می توانید از تابع pandas.read_csv استفاده کنید. این تابع بسیار انعطاف پذیر است و شاید رویکرد توصیه ای من برای بارگذاری مجموعه داده ای یادگیری ماشین باشد. این تابع یک DataFrame بر می گرداند که می توانید بلافاصله شروع به خلاصه سازی و رسم کنید. import pandas as pd
filename = &#039;olympic.csv&#039;
with open(filename) as file:
    data = pd.read_csv(file)
    df = pd.DataFrame(data)در خط اول کتابخانه پاندا را وارد پروژه کردیم. در نظر بگیرید که فایل مجموعه داده ای ما به olympic.csv تغییر نام داده ایم.در خط دوم نام فایل را داخل یک متغیر قرار دادیم و سپس در خط سوم توسط دستور with فایل را باز کرده ایم.خیلی وقت ها برخی از دانشجویان سوالات زیر را می پرسند:زمانی که فایل در خط سوم باز شده است، چه نیاز به خواندن csv است؟- در جواب به این سوال باید گفت که زمانی که شما یک فایل اکسل را باز می کنید، لزوما محتویات آن را نخوانده اید و برای خواندن مطالب داخل آن نیاز دارید تا محتویات آن را خط به خط بخوانید. در واقع تابع read_csv دقیقاً در حال خواندن سطر به سطر تمامی رکورد ها است و برای نگهداری تمامی رکوردها داخل یک DataFrame کلیه مجموعه داده ای خوانده شده را به تابع DataFrame کتابخانه پاندا داده ایم، که پیش تر در مقالات قبل در موردش صحبت کردیم.دستور with چیست؟- این مسئله بر می گردد به مباحث پیشرفته تر پایتون که فراتر از مطالب این پست است. به همین خاطر شما را به مقاله ای هدایت می کنم تا بتوانید دستور with را بهتر درک کنید. مشاهده مقالهاکنون زمان این رسیده است تا اطلاعاتی مفید از این مجموعه داده استخراج کنیم.با نوشتن کد زیر به راحتی می توانید تمامی انواع داده ای که در تمامی ویژگی ها یا ستون های یک مجموعه داده ای وجود دارد، پیدا کنید.types = data.dtypes
print(types)با نوشتن کد زیر شما می توانید در مقدار اول تاپل تعداد سطر و در مقدار دوم تاپل تعداد ستون را بدست آورید.print(df.shape)
# or
print(&quot;(rows:{}, columns:{})&quot;.format(*df.shape)) برای نمایش خلاصه ای از کل مجموعه داده دستور زیر را می نویسیم:print(df.tail())برای نمایش تعداد سطرهای ابتدایی مجموعه داده ای، دستور زیر را می نویسیم:print(df.head(20))برای نمایش اطلاعات آماری از کل مجموعه داده ای می توانید از دستور زیر استفاده نمایید: print(df.describe())موارد نمایش داده شده، به ترتیب نمایش دهنده اطلاعات زیر هستند:تعدادمیانگینانحراف معیارمقدار کمینهصدک بیست و پنجمصدک پنجاهمصدک هفتاد و پنجممقدار بیشینهبرای نمایش از سطر nام تا mام دستور زیر را می نویسیم:print(df[30:60].tail())برای دسترسی به تمامی سطر ها و به عبارتی پیمایش کردن میان تمامی یا برخی از سطر ها بصورت زیر عمل می کنیم: for index, row in df.iterrows():
    print(row[&#039;Country&#039;])
    print(index)
    print(row)در خط دوم این قطعه کد، تمامی مقادیر ستون Country را باز می گرداند.در خط سوم این قطعه کد، تمامی اندیس ها را باز می گرداند.در خط چهارم این قطعه کد، اطلاعات کامل کل هر سطر را می توانیم مشاهده کنیم. http://vrgl.ir/NiKWP  http://vrgl.ir/VAURr </description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Sun, 29 Apr 2018 00:16:35 +0430</pubDate>
            </item>
                    <item>
                <title>جبر خطی در هوش مصنوعی</title>
                <link>https://dataio.ir/linear-algebra-examples-qfopjqe5vjjw</link>
                <description>جبر خطی چیست؟ جبر خطی شاخه‌ای از ریاضیات است که به بررسی و مطالعۀ ماتریسها، بردارها، فضاهای برداری (فضاهای خطّی)، تبدیلات خطی، و دستگاه‌های معادلات خطی می‌پردازد. جبر خطی مطالعه بردارها و توابع خطی است و به عنوان یک کلید در زمینه یادگیری ماشین استفاده می شود.در این پست 8 مثال رایج از استفاده جبر خطی در یادگیری ماشین زده می شود که به شما کمک می کند درکی از جبر خطی در هوش مصنوعی پیدا کنید.هشت مثال ما با عنوان های زیر لیست شده است:Data-set and Data FilesImages and PhotographsLinear RegressionRegularizationPrincipal Component AnalysisSingular-Value DecompositionLatent Semantic AnalysisRecommend-er Systemsبه صورت خلاصه اگر بخواهیم مثال ها را در یک جمله خلاصه کنیم، می گوییم هرچیزی را که بتوان با بردار نمایش داد یا حالت ماتریسی داشته باشد، جبر خطی است.در ادامه حتما مثال هایی دقیق تر برایتان از هر کدام از بخش ها می زنیم و این مقاله صرفا نشان دادن درجه اهمیت یادگیری جبر خطی در هوش مصنوعی است.1. مجموعه داده و مستندات داده (DataSet and Data Files)به عنوان مثال فرض کنید شما جدولی دارید که هر ردیف مشاهدات را در اختیارتان می گذارد و هر ستون نیز ویژگی آن مشاهدات را بیان می کند. برای اینکه کاربردی تر متوجه موضوع شوید، با مجموعه داده ای Iris بحث را پیش می بریم. (از لینک داده شده، می توانید این مجموعه داده ای را دانلود نمایید.)مجموعه داده ای Iris چیست؟مجموعه داده های Iris flower برای اولین بار در سال 1936 توسط Ronald Fisherکه یکی از پدران تحلیل آماری مدن است مورد استفاده قرار گرفت. هدف وی نمایش عملیاتی بودن تفکیک کننده خطی روی تعداد مشاهداتی تجربی اندک بود ( هر کدام از 150 داده، یک نمونه از گل زنبق را نشان می دهند). هر کلاس شامل یک سوم مجموع کل داده است و با چهار متغیر توصیفی عددی بیان شده است. هنگامی که این متغیرها ترکیب می شوند، قادر به تفکیک کلاس ها از یکدیگر هستند.مزیت استفاده از اینگونه مجموعه داده، سهولت بارگذاری و کار با آن ها و کاوش در آن ها برای اهداف مختلف (نظیر یادگیری با نظارت و نمایش گرافیکی) است.  همچنین با استفاده از آن ها فرآیند مدل سازی در بیشتر کامپیوترها (بدون توجه به اینکه آن کامپیوتر چه مشخصاتی دارد) زمان نیست. به علاوه، رابطه بین کلاس ها و وظایف متغیرهای توصیفی به خوبی شناخته شده است. (برای درک بهتر این مجموعه داده ای، جلوتر مخصوصا با این مجموعه داده در انتشارات Dataio کار خواهیم کرد.)بخشی از مجموعه داده گل زنبق:5.1,3.5,1.4,0.2,Iris-setosa4.9,3.0,1.4,0.2,Iris-setosa4.7,3.2,1.3,0.2,Iris-setosa4.6,3.1,1.5,0.2,Iris-setosa5.0,3.6,1.4,0.2,Iris-setosaمجموعه داده ای که در بالا مشاهده می کنید، درواقع یک ماتریس است. یک ساختار داده کلیدی در جبر خطیهنگامی که داده ها را به ورودی ها و خروجی ها تقسیم می کنید (توسط مدل یادگیرنده supervised یا نظارتری) مانند اندازه گیری ها و انواع گل ها، شما یک ماتریس (X) و یک بردار (y) دارید. این بردار یک ساختار کلیدی دیگر در جبر خطی است.به عبارت دیگر ماتریس های پراکندگی به فرمت ماتریسی مرتب شده اند و سطرها و ستون های آن ها، متغیرهای مجموعه داده هستند. عناصر ماتریس شامل پراکندگی هایی هستند که مقادیر x آن به وسیله سطرهای ماتریس و مقادیر y  آن به وسیله ستون ها مشخص می شوند. عناصری که روی قطر ماتریس قرار دارند، شامل توزیع هیستوگرام یا سایر ارائه های تک متغیره از متغیر موجود در سطر و ستون آن هستند.بنابراین می توانیم بگوییم که داده ها بردار می شوند و می توانند به یک مدل در یک زمان یا در یک دسته ارائه شوند.نکته: اگرچه این مجموعه های داده برای فعالیت های آموزشی شما بسیار مفید و جالب هستند ولی بعد از مدتی موجب ایجاد محدودیت در تجربیاتی که می توانید با آن ها به دست یابید، می شوند. علی رغم بینش ارائه شده توسط آن ها، برای این که پیشرفت کنید باید به موضوعات واقعی و پیچیده علوم داده ای دسترسی پیدا کنید.2. تصاویر و عکس ها (Images and Photographs)شاید علاقه شما این باشد که بیشتر با تصاویر کار کنید. اگر خیلی ساده با هر تصویر بخواهیم برخورد کنیم، باید بگوییم هر تصویری که با آن کار می کنید، با یک ساختار جدولی با سطر و ستون و وجود پیکسل در یک مختصات سر و کار دارید. (یک پیکسل در هر سلول در تصاویر سیاه و سفید و سه پیکسل در هر سلول برای تصاویر رنگی)بنابراین هر عکس بیانگر نمونه ای دیگر از ماتریس ها و جبر خطی هستند.عملیاتی که بر روی تصویر انجام می گیرد مانند بریدن عکس (crop)، پوسته پوسته شدن(Scaling) و ... با استفاده از نشانه گذاری و عملیات جبر خطی توصیف می شود.3. رگرسیون خطی (Linear Regression)رگرسیون خطی یک روش قدیمی از آمار برای توصیف روابط بین متغیرها است. اغلب در یادگیری ماشین برای پیش بینی مقادیر عددی  که به پیش بینی اعداد حقیقی می پردازیم، از رگرسیون استفاده می شود. در رگرسیون شاخص های زیادی وجود دارند که همه آن ها از جبر اقلیدسی نشأت گرفته اند.به عنوان مثال می خواهیم تعداد دوستان یک کاربر و مدت زمانی که همان کاربر در سایت زمان می گذراند را در هر روز محاسبه کنیم. اینطور فرض کنید که هرچقدر دوستان نزدیک شما بیشتر در آن شبکه حضور داشته باشند، بنابراین شما زمان بیشتری را در سایت می گذرانید. فرمولی که برای محاسبه این قسمت استفاده می شود به شکل زیر است:فرمول پیدا کردن میزان دقیقه ای که کاربر به خاطر دوستانش در سایت می گذراند.4. منظم کردن یا Regularizationما اغلب به دنبال ساده ترین مدل های ممکن هستیم که به بهترین شکل در مشکل ما به کار برود. مدل های ساده تر اغلب بهتر از نمونه های خاص با داده غیر قابل مشاهده هستند.در بسیاری از روش های که شامل ضرایب مانند روش های رگرسیون و شبکه های عصبی هستند، مدل های ساده تر اغلب با مدل هایی با مقادیر ضریب کمتر شناخته می شوند.یک تکنیک که اغلب برای تشویق یک مدل برای به حداقل رساندن اندازه ضرایب در حالی که بر روی داده ها مناسب است، استفاده می شود. پیاده سازی های رایج شامل فرم های L2 و L1 تنظیم است.هر دوی این فرم های regularization، اندازه گیری قدر یا طول ضرایب به عنوان یک بردار هستند و روش هایی مستقیما از جبر خطی به نام عدد بردار به دست می آیند.5. تجزیه و تحلیل اجزای اصلی (Principal Component Analysis)گاهی وقت ها یک مجموعه داده دارای ستون های زیادی است، شاید ده ها، صدها، هزاران یا بیشتر که برای کاهش این ویژگی ها از تحلیل مولفه استفاده می کنیم که البته تنها روش نیست، اما یکی از محبوب ترین روش ها برای انجام این کار است.تحلیل مولفه های اصلی تکنیکی است که به شما برای تعریف مجموعه کوچک تر و مرتبط تر از ویژگی ها کمک می کند. ویژگی های جدید، ترکیب خطی ( که نوعی چرخش است ) از ویژگی های موجود هستند. پس از چرخش فضای ورودی، اولین بردار از مجموعه خروجی دارای بیشترین انرژی سیگنال ( به عبارت دیگر واریانس آن ) است. دومین بردار، عمود بر بردار اول بوده و حاوی بیشترین انرژی باقیمانده است. بردار سوم، عمود بر دو بردار اول بوده و شامل بیشترین انرژی باقیمانده از دو مورد اول است و به همین ترتیب ادامه میابد.در حالت ایده آلِ AWGN، بردارهای اولیه شامل تمامی اطلاعات سیگنال ورودی است و سایر موارد فقط حاوی نویز هستند. به علاوه تا زمانی که مبنای خروجی، عمود بودن بردار ها بر یک دیگر است، می توانید یک نسخه تقریبی از مجموعه داده ورودی را تججزیه و ترکیب کنید. پارامتر کلیدی که برای تصمیم گیری در مورد تعداد بردارهای پایه مورد استفاده قرار می گیرد، انرژی است. از آن جا که الگوریتم مذکور برای تجزیه مقادیر منفرد است، بردارهای ویژه (همان بردارهای پایه) و مقادیر ویژه (انحراف معیار مربوط به آن بردارها ) کلماتی هستند که غالباً در هنگام مطالعه در مورد PCA به آن ها ارجاع داده می شود و از آنان سخن به میان می آید. معمولاً، عدد اصلی (کاردینالیتی) مجموعه خروجی، عددی است که وجود 95 درصد ( گاهی 99 درصد) از انرژی (واریانس) ورودی را در خروجی تضمین می کند. تعریف دقیق PCA فراتر از محدوده این مقاله است و از این رو فقط متوجه شدیم که کار آن با بردار است و به عبارتی از جبر خطی استفاده می کند.6. تجزیه مقدار منفرد (Singular-Value Decomposition)روش دیگری که برای کاهش ویژگی به کار می رود، تجزیه مقدار منفرد یا به اختصار SVD است. این روش از طریق تقسیم ماتریسی کاهش را انجام می دهد و بنابراین از جبر خطی استفاده می کند.کار هایی که با روش SVD انجام می شود، شامل انتخاب ویژگی، تجسم، کاهش نویز، و ... است.7. تحلیل معنا شناختی پنهان (Latent Semantic Analysis)در حوزۀ یادگیری ماشین زیر مجموعه ای به نام پردازش زبان طبیعی یا Natural Language Processing یا به اختصار NLP داریم و بسیار رایج است برای نمایش مستندات از ماتریس های بزرگی از کلمات استفاده کنند. لازم به ذکر است LSA عموماً پس از پردازش توسط TfidfVectorizer یا CountVectorizer اعمال می شود. در مقایسه با PCA، LSA در ابتدا الگوریتم SVD را روی مجموعه داده ورودی اعمال می کند. (این مجموعه داده عموما ماتریسی تُنُک است)، سپس مجموعه ای معنا شناختی از کلماتی که معمولاً با یکدیگر ارتباط مفهومی دارند ایجاد می کند. به همین دلیل از LSA زمانی که ویژگی ها همگن بوده، (مانند کلمات درون یک سند) یا تعداد آن ها بسیار زیاد است، استفاده می شود.به عنوان مثال، ستون های ماتریس ممکن است کلمات معروف در واژگان باشند، و ردیف ها ممکن است جملات، پاراگرافها، صفحات یا اسناد متن با سلولهای ماتریس مشخص شده به عنوان شمارش یا فرکانس تعداد دفعاتی که کلمه رخ داده باشد، نمایش داده شود.8. سیستم های پیشنهاد دهنده (Recommend-er System)یکی از دقدقه های همه وب سایت ها پیشنهاد دادن محصول درست، به کاربر درست است. توسعه سیستم های پیشنهاد دهنده عمدتا به روش جبر خطی انجام می شود. یک مثال ساده در محاسبه شباهت بین بردارهای رفتار ضعیف مشتری با استفاده از اندازه گیری های فاصله از قبیل فاصله اقلیدس یا محصولات نقطه ای است.روشهای تقسیم بندی ماتریس مانند SVD به طور گسترده ای در سیستم های توصیه شده مورد استفاده قرار می گیرند تا از  دادۀ کاربر به صورت ذهنی برای جستجو و مقایسه آن ها استفاده کند.</description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Sat, 28 Apr 2018 21:47:41 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش کتابخانه pandas در پایتون 2</title>
                <link>https://dataio.ir/pandas-section-two-h0wbogp27wxy</link>
                <description>در قسمت های پیشین تعریفی از پاندا و کار کردن با آن و در پستی دیگر تعریفی از مکعب داده نیز داشتیم.تعریف Panel: یک آرایه سه بعدی است که دقیقا به مانند مکعب داده رفتار می کند.تعریف مکعب داده: یک انبار داده معمولا با کمک یک ساختار چند بُعدی با نام مکعب داده مدل سازی می شود. به عبارتی یک مکعب داده، یک دید چند بُعدی را به کاربر ارائه می کند و با پیش محاسبه ی آن می توان دسترسی سریعی به داده های خلاصه شده داشت. یک مکعب داده یا همان ظرف سه بعدی برای نگهداری داده را در پاندا به عنوان پنل می شناسند. هر پنل از سه قسمت بسیار مهم با نام های items، major_axis، minor_axis معرفی شده اند.تصویری از سه مفهوم بسیار مهم پنل در پانداهمانطور که در عکس بالا مشاهده می کنید تعریف های هر کدام از مفاهیم بالا را می توانیم به این شکل بیان کنیم:تعریف items: در محور Z قرار می گیرد و اشاره به DataFrame های داخلی دارد.تعریف major_axis: در محور y قرار می گیرد و اشاره به تمامی رکورد های ثبت شده در DataFrame دارد.تعریف minor_axis: در محور x قرار می گیرد و اشاره به تمامی نام ستون های DataFrame دارد.بسیار عالی تا اینجا مفهوم پنل را متوجه شدیم. حالا وقت آن رسیده تا وارد محیط کدنویسی شویم.pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)دقت کنید که در آرگومان data هر نوع داده ای نظیر (ndarray، series، map، lists، dict، constants و حتی DataFrame) قرار گیرد. بنابراین کاملا انعطاف پذیر می توانیم نسبت به ماجرا برخورد کنیم. import pandas as pd
import numpy as np

data = np.random.rand(2, 4, 5)
p = pd.Panel(data)
print(p)

# Output&lt;class &#039;pandas.core.panel.Panel&#039;&gt;
Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 4اکنون متغیر data توسط Numpy یک آرایه سه بُعدی به شکل زیر است که عدد دو نمایانگر محور Z ها، عدد چهار نشان دهنده تعداد سطرها یا به عبارتی رکورد ها و عدد پنج نشان دهنده تعداد ستون ها است.آرایه سه بعدی در Numpyتا اینجای کار توانستیم توسط تولید کردن یک آرایه سه بُعدی توسط Numpy یک پنل سه بعدی ایجاد کنیم. اما این حالت شاید شما را اقناء نکند و بخواهید نامی برای محور Z ها مشخص کنید. برای اینکار مثال زیر را دنبال کنید: import pandas as pd
import numpy as np

data = {&#039;Item1&#039; : pd.DataFrame(np.random.randn(4, 3)), 
        &#039;Item2&#039; : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print(p)

#output &lt;class &#039;pandas.core.panel.Panel&#039;&gt;
Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 4اکنون توسط یک دیکشنری موفق شدیم برای محور Z نامگذاری را انجام دهیم. اکنون به راحتی می توانید تصور کنید که در محور Z و item 1 شما یک DataFrame سه ستون و چهار رکورد دارید و در item 2 شما یک DataFrame دو ستون و چهار رکورد مطابق عکس زیر دارید:تولید آرایه دو بعدی توسط Numpyاما شاید سوال برایتان پیش آمده باشد که چگونه می توانید به محور Z دسترسی داشته باشید و اگر دسترسی پیدا کنید، داده به شما چگونه نمایش داده می شود: import pandas as pd
import numpy as np
data = {&#039;Item1&#039; : pd.DataFrame(np.random.randn(4, 3)), 
        &#039;Item2&#039; : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print(p[&#039;Item1&#039;])           0          1          2
0    0.488224  -0.128637   0.930817
1    0.417497   0.896681   0.576657
2   -2.775266   0.571668   0.290082
3   -0.400538  -0.144234   1.110535اکنون به راحتی مشاهده می کنید که در item 1 ما یک DataFrame داریم که به مانند یک جدول رفتار می کند. برای درک بهتر مسئله می توانید به عکسی که در ابتدای پست قرار داده شد، توجه کنید.برای دسترسی به محور Major_axis شما کافیست بصورت زیر عمل کنید: import pandas as pd
import numpy as np
data = {&#039;Item1&#039; : pd.DataFrame(np.random.randn(4, 3)), 
        &#039;Item2&#039; : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print(p.major_xs(1))
     Item1       Item2
0   0.417497    0.748412
1   0.896681   -0.557322
2   0.576657       NaNبرای دسترسی به محور major_axis کافیست از شیئ ساخته شده تنها major_xs را صدا بزنید و نام آن ستون را بگویید. در این حالت به شما تعداد ستون ها را در سمت چپ مشخص کرده است که سه ستون داریم و در بالا نام هر جدول را برای ما مشخص کرده است که به عبارتی محور Z ها است و در نهایت ما 5 رکورد داشتیم اما در خروجی کنونی ما می تواند 6 رکورد را نمایش دهد به همین دلیل است که مقدار Nan در آخرین مختصات قرار گرفته است. توجه: برای اینکه بتوانید راحت درک کنید با خودتان تعداد محور ها را مرور کنید و به عکس اول پست توجه کنید در نهایت خروجی را مشاهده کنید. با یک نتیجه گیری ساده موفق می شوید تا تمامی مفاهیم گفته شده را درک نمایید.برای نمایش محور minor_axis کافیست به شکل زیر برخورد کنیم:import pandas as pd
import numpy as np
data = {&#039;Item1&#039; : pd.DataFrame(np.random.randn(4, 3)), 
        &#039;Item2&#039; : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print p.minor_xs(1)
       Item1       Item2
0   -0.128637   -1.047032
1    0.896681   -0.557322
2    0.571668    0.431953
3   -0.144234    1.302466در حال حاضر به نظر می رسد که کامل مسئله را درک کرده باشید و بنده می خواهم به شما نشان دهم تا به خوبی یاد گرفته ام.در بالای خروجی محور Z ها را دارم که نام دو جدول را برای من نگهداری کرده است.در سمت چپ خروجی محور y ها را دارم که رکورد های من را نمایش می دهد.در میان خروجی به عبارتی مقدار دهی سطر و ستون مقدار ستون یکم را برای من نگهداری کرده است.در واقع به من می گوید در جدول item 1 شما در سطر صفرم در ستون یکم (ستون یکم را توسط تابع minor_xs مشخص کردیم) مقدار 0.128637- را داریم. یا به عنوان مثال در جدول item 2 در سطر سوم (اندیس 2) مقدار 0.431953 را داریم.در پست بعدی با ضمن یادگیری وارد کردن داده از طریق فایل های excel و با استفاده از داده واقعی اینکار را مجددا انجام می دهیم و همچنین توضیح می دهیم که چرا از پنل استفاده می کنیم.توجه: آیا مطلب برایتان مفید بوده است؟ درصورت مفید بودن و درک مطلب نظر خود را وارد نمایید.توجه: درصورتیکه هر قسمتی را متوجه نشدید، می توانید سوال بپرسید.</description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Mon, 09 Apr 2018 11:17:18 +0430</pubDate>
            </item>
                    <item>
                <title>مکعب داده در علم داده چیست؟</title>
                <link>https://dataio.ir/what-is-data-cube-ksrvfifop5jd</link>
                <description>فرض کنید چهار جدول داریدجدول 1) مشخصات مشتری ها را نگاه می دارد.جدول 2) مشخصات اقلام (کالاها) را نگاه می دارد.جدول 3) مشخصات کارکنان را نگاه می دارد.جدول 4) شعبه های این فروشگاه را نگاه می دارد.پایگاه داده های رابطه ای یکی از در دسترس ترین و غنی ترین مخازن اطلاعاتی به شمار می روند و به همین دلیل شکل اساسی داده ها در مطالعه ی داده کاوی محسوب می شوند.تعریف انبار داده:یک انبار داده مخزنی از اطلاعات است که از چندین منبع جمع آوری شده است و تحت شِمای یکدستی و معمولا بر روی یک سایت نگهداری و ذخیره می شود. (منبع : Data Mining: concepts and techniques)فرض کنید فروشگاه لباس ما یک شرکت بین المللی موفق با تعدادی شعبه است. هر شعبه نیز مجموعه بانک اطلاعاتی خود را نگهداری می کند. مدیر این فروشگاه از شما می خواهد تا فروش اقلام و کالاهای هر شعبه در یک فصل را تحلیل کنید.اگر این فروشگاه دارای یک شعبه بود و تمامی اطلاعاتش در یک بانک نگهداری می شُد کاری بسیار ساده بود. اما در این حالت ما می گوییم انبارهایی از داده داریم.یک انبار داده معمولا با کمک یک ساختار چند بُعدی با نام مکعب داده مدل سازی می شود. به عبارتی یک مکعب داده، یک دید چند بُعدی را به کاربر ارائه می کند و با پیش محاسبه ی آن می توان دسترسی سریعی به داده های خلاصه شده داشت.نمونه ای از مکعب دادهبا تهیه یک ساختار چند بُعدی می توان از رکوردها و پیش محاسبه رکوردها، سیستم های انبار داده می تواند پشتیبان خوبی برای پردازش تحلیلی بر خط باشد. در واقع چنین عملیاتی دیدگاه های متفاوت کاربران را پوشش می دهد.برای پیاده سازی یک انبار داده در پایتون می توان به راحتی از کتابخانه pandas استفاده کرد که در پست آموزش کتابخانه pandas در پایتون بصورت کامل آموزش داده شده است. http://vrgl.ir/EoPvc  http://vrgl.ir/VAURr  http://vrgl.ir/NiKWP </description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Mon, 09 Apr 2018 01:06:25 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش کتابخانه pandas در پایتون 1</title>
                <link>https://dataio.ir/pandas-section-one-giq763xqaggx</link>
                <description>زمانی که کاربر زبان برنامه نویسی پایتون هستید و قصد دارید در زمینه هوش مصنوعی یا علم داده فعالیت کنید. باید حتما بدانید که چگونه می توانید از کتابخانه بسیار خوب pandas چگونه استفاده کنید.کتابخانه pandas یک کتابخانه open-source با گواهی BSD است که فوق العاده عمل کرد بالایی دارد و همچنین بسیار راحت شما می توانید از آن برای ساختار دادن به داده یا تحلیل داده استفاده کنید.سه مفهوم در این کتابخانه بسیار مهم هستند:Series (1D Array)DataFrame (2D Array)Panel (3D Array)تعریف Series: به عنوان یک آرایه یک بعدی و از نوع immutable در نظر گرفته می شود.تعریف DataFrame: یک آرایه دو بعدی است که دقیقا به مانند جدول های بانک اطلاعاتی رفتار می کند.تعریف Panel: یک آرایه سه بعدی است  که دقیقا به مانند مکعب داده رفتار می کند.شاید برایتان مفهوم آرایه سه بعدی یا مکعب داده سنگین باشد یا آن را درک نکنید. به همین خاطر می خواهم مختصر در مورد آن در پست مکعب داده صحبت کنم.برای نصب این کتابخانه کافیست دستور زیر را در ترمینال خود بنویسید:pip install pandasبرای ساخت یک Series کافیست به شکل زیر عمل کنیم: pandas.Series( data, index, dtype, copy)
 import pandas as pd
s = pd.Series()
print(s)
#Output
# &gt;&gt; Series([], dtype: float64)در مثال بالا یک آرایه خالی از Series ایجاد کردیم.مفهوم data: در آرگومان اول شما تنها داده ای با نوع آرایه (Array data) را از شما می پذیرد.مفهوم index: طول آرایه را مشخص می کند. اگر مشخص نشود بصورت پیشفرض طول آرایه را خودش محاسبه می کند.مفهوم dtype: نوع داده ای اعضاء داخل آرایه را مشخص می کند که به صورت پیش فرض خودش تمامی آن ها را حدس می زند.مفهوم copy: یک کپی از داده شما می گیرد. بصورت پیشفرض بر روی False قرار دارد. در مثال زیر یک آرایه یک بعدی را به Series می دهیم.import numpy as np
data = np.array([&#039;a&#039;,&#039;b&#039;,&#039;c&#039;,&#039;d&#039;])
s = pd.Series(data)
print(s)
در مثال زیر یک آرایه با اندیس مشخص شده از سمت کاربر را نشان داده شده است.دقت کنید که طول آرایه با طول اندیس ها باید یکی باشد.data = np.array([&#039;a&#039;,&#039;b&#039;,&#039;c&#039;,&#039;d&#039;])
s = pd.Series(data ,index=[100,101,102,103])همچنین یک series را می توانید از روی یک دیکشنری نیز می توانید Series را بسازید: که در این حالت کلید ها به عنوان اندیس مقادیر در نظر گرفته می شوند.data = {&#039;a&#039; : 0., &#039;b&#039; : 1., &#039;c&#039; : 2.}
s = pd.Series(data)در مثال زیر به راحتی می توانید به داده ای دسترسی پیدا کنید: s = pd.Series([1,2,3,4,5],index = [&#039;a&#039;,&#039;b&#039;,&#039;c&#039;,&#039;d&#039;,&#039;e&#039;])
print(s[0])برای ساختن DataFrame کافیست به شکل زیر عمل کنیم: pandas.DataFrame( data, index, columns, dtype, copy)
 import pandas as pd
 data = [[&#039;Alex&#039;,10],[&#039;Bob&#039;,12],[&#039;Clarke&#039;,13]]df = pd.DataFrame(data,columns=[&#039;Name&#039;,&#039;Age&#039;],dtype=float)
print(df)در مثال بالا به راحتی می توانید مشاهده کنید که یک جدول با ستون های Name و Age ساختیم که مقادیر آن ها نیز در لیستی از data قرار گرفته اند.در مثال زیر با استفاده از یک دیکشنری جدول خود را می سازیم: import pandas as pd
data = {&#039;Name&#039;:[&#039;Tom&#039;, &#039;Jack&#039;, &#039;Steve&#039;, &#039;Ricky&#039;],&#039;Age&#039;:[28,34,29,42]}
df = pd.DataFrame(data)
print(df)در قسمت بعدی چگونگی ساخت یک پنل را بصورت کامل توضیح می دهیم.</description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Mon, 09 Apr 2018 01:05:28 +0430</pubDate>
            </item>
                    <item>
                <title>یادگیری نظارتی و بدون نظارت</title>
                <link>https://dataio.ir/suepervisedandunsupervised-rk7cbycx1gyr</link>
                <description>یادگیری با نظارت و بی نظارتدر پست قبلی در رابطه با یادگیری ماشین و انواع یادگیری صحبت کردیم. در این قسمت می خواهیم در رابطه با یادگیری های نظارتی و بی نظارت توضیح دادیم.supervised learning = یادگیری با نظارتunsupervised learning = یادگیری بدون نظارتپیش از این یادگیری با نظارت را اینگونه تعریف کردیم: این مدل ماشین با استفاده از داده های برچسب گذاری شده و داشتن جواب های درست یاد می گیرند که در لاتین به آن Supervised learning می گویند. مثال های مختلفی از یادگیری ماشین با نظارت:یکی از مثال های مرسوم در یادگیری با نظارت تشخیص و فیلتر کردن اسپم ها میان پیام ها است. ابتدا تمامی داده ها به دو کلاس سالم و اسپم تقسیم می شوند، سپس ماشین آن ها را با مثال های موجود می آموزد در نهایت از او امتحان گرفته می شود و امتحان به این منظور تلقی می شود که شما ایمیل جدیدی که تا به حال ندیده است را به آن بدهید، سپس آن تشخیص دهد که سالم یا اسپم است.نمونه دیگری از این دست یادگیری می توان زد پیشبینی مقدار عددی می باشد، به عنوان مثال قیمت یک ماشین با مجموعه ویژگی هایی مثل (مسافت طی شده، برند، سن ماشین و ...). از این دست مثال ها با عنوان regression نامیده می شوند. (در پست های بعدی حتما یک مثال با regression توسط زبان پایتون حل می کنیم.)برای آموزش سیستم، شما باید تعداد زیادی نمونه یا به عبارتی داده، در اختیار سیستم بگذارید که شامل label و predictor ها باشد.نکته: دقت کنید بعضی از الگوریتم های regression را می توانند در classification استفاده شوند و برعکس.برای مثال، رگرسیون منطقی (Logistic Regression) معمولا برای طبقه بندی استفاده می شود، زیرا می تواند یک مقدار را که مربوط به احتمال متعلق به یک کلاس داده شده است، تولید کند.یادگیری بدون نظارت:پیش از این یادگیری با نظارت را اینگونه تعریف کردیم: این مدل ماشین بدون استفاده از داده های برچسب گذاری شده و بدون هیچ معلمی می آموزد که در لاتین به آن Unsupervised Learning می گویند. درواقع به حالت ساده تر می توان گفت که در ابتدا تمامی نمونه هایی که به آن داده می شوند، هیچ برچسبی ندارند در صورتی که در یادگیری نظارتی تمامی داده ها برچسب داشتند. به عنوان مثال، ایمیل های اسپم و غیر اسپم. در یادگیری بدون نظارت برچسبی بر روی داده ها وجود ندارد.به عنوان مثال فرض کنید شما اطلاعات زیادی در رابطه با کاربران بلاگ شما دارید. شما ممکن است بخواهید یک الگوریتم خوشه بندی را اجرا کنید تا بتوانید تمامی ملاقات کننده های مشابه هم را در یک خوشه نگاه داری کنید. (الگوریتم خوشه بندی در پست های بعدی توسط زبان پایتون آموزش داده می شود.)درواقع در مثال بالا شما بدون هیچ کمکی از سیستم می خواهید تشخیص دهد هر کاربر متعلق خوشه ای است و آن بدون کمک شما ارتباطات را پیدا می کند.فرض کنید که خروجی ماشین شما اینگونه است. 40 درصد ملاقات کنندگان شما مردهایی عاشق کتاب های علمی تخیلی هستند و عموما پست های بلاگ شما را غروب ها می خوانند. درحالی که 20 درصد آن ها جوان هایی علاقه مند به کتاب های داستانی و رمان هستند و بلاگ شما را تنها آخر هفته ها ملاقات می کنند. حتی شما می توانید با استفاده از hierarchical clustering algorithm در هر گروه آن ها را به گروه های کوچک تری تقسیم کنید و این کار ممکن به شما کمک بیشتری کند تا به هدفتان برسید.الگوریتم های مصور سازی یکی از مثال های دیگری هستند که برای یادگیری بدون نظارت می توان زد. به عنوان مثال شما تعداد بسیار زیادی به آن عکس می دهید و هیچ برچسبی هم بر روی عکس ها نمی گذارید. (مثلا عکس ماشین به آن می دهید و نمی گویید که این ماشین است). الگوریتم مورد نظر تلاش می کند تا ساختاری میان آن ها پیدا کند و آن ها را خوشه بندی کند. درنهایت متوجه می شوند که چطور داده را سازماندهی کنند.شما به کدام یادگیری علاقه دارید؟نظر خود را قرار دهید تا بدانیم از کدام الگوریتم ها شروع به پیاده سازی کنیم تا برای شما مطالب نیز جذاب تر باشد.</description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Mon, 09 Apr 2018 00:01:48 +0430</pubDate>
            </item>
                    <item>
                <title>یادگیری ماشین</title>
                <link>https://dataio.ir/machinelearning-u6xpxjnmjceg</link>
                <description>تقریبا می شود گفت هرکسی تعریف خودش را از یادگیری ماشین دارد، اما از یادگیری ماشین استفاده می کنیم تا سیستم بتواند از داده ها بیاموزد و مدل های جدیدی را پیاده سازی کند یا بهبود ببخشد. در مفاهیم دیگر این علم با عنوان داده کاوی یا مدل پیشبینی کننده نیز معرفی می شود. معمولا هدف ما استفاده از داده های موجود است برای توسعه مدل هایی که ما می توانیم از آن ها برای پیشبینی نتیجه هایی که می خواهیم استفاده کنیم.یادگیری ماشین یک علم یا هنر از برنامه نویسی کامپیوتر است که سیستم ها می توانند از داده ها بیاموزند.برخی از مثال ها:پیشبینی اینکه یک اس ام اس، تبلیغاتی است یا خیر.پیشبینی اینکه یک کارت عابربانک تقلبی است یا خیر.پیشبینی احتمال اینکه مشتری جنس بعدی چه چیزی را خریداری می کند.پیشبینی احتمال اینکه در جام جهانی امسال احتمال به پیروزی رسیدن کدام تیم با توجه به شرایط از همه بیشتر است.انواع یادگیری ماشینیادگیری با نظارت: این مدل ماشین با استفاده از داده های برچسب گذاری شده و داشتن جواب های درست یاد می گیرند که در لاتین به آن Supervised learning می گویند.الگوریتم های یادگیری با نظارت:K-Nearest NeighborsLinear RegressionLogistic RegressionSupport Vector MachineDecision Trees and Random ForestsNeural Networksیادگیری بی نظارت: این مدل ماشین بدون استفاده از داده های برچسب گذاری شده و بدون هیچ معلمی می آموزد که در لاتین به آن Unsupervised Learning می گویند.الگوریتم های یادگیری بدون نظارت:K-MeansHierarchical cluster Analysis (HCA)Expectation MaximizationPrincipal Component Analysis (PCA)Kernel PCALocally-Linear Embedding (LLE)t-distributed Stochastic Neighbor Embedding (t-SNE)AprioriEclatیادگیری نیمه نظارتی: این مدل ماشین برخی از داده هایی که دارد برچسب گذاری شده است که در لاتین به آن Semi-SupervisedLearning می گویند.یادگیری تقویتی: در این مدل ماشین ابتدا به محیط نگاه می کند اتفاقات را انتخاب و اجرا می کند، بسته به رفتاری که از خود نشان می دهد به ماشین جایزه داده می شود و یا برعکس تنبیه می شود. سپس خودش می آموزد که کدام استراتژی از همه بهتر است. اینگونه به مرور زمان متوجه می شود که در چه موقعیتی چه رفتاری از خود نشان دهد. در لاتین به این مدل یادگیری Reinforcement Learning می گویند.یادگیری بسته ای: در این مدل ماشین با استفاده از افزایش داده به مرور زمان می آموزد. به عبارتی باید با استفاده از داده های موجودی که در حال حاضر دارد بیاموزد. البته این مدل یادگیری زمان و منابع زیادی را مصرف می کند و معمولا هم به صورت offline کار خود را انجام می دهد. ابتدا ماشین می آموزد، سپس اجرا می شود تا به عرصه بازار برسد و به گونه ای اجرا می شود که دیگر چیزی نیاموزد. در لاتین به آن Batch Learning یا Offline Learning می گویند.یادگیری آنلاین: در این مدل ماشین با استفاده از داده هایی که به صورت بسته های کوچک (mini-batch) به آن داده می شود می آموزد. هر مرحله یادگیری سریع و هزینه ارزانی دارد بنابراین ماشین داده را به می گیرد و به سرعت آن را می آموزد که در لاتین به آن Online Learning می گویند.در پست های بعدی مثال هایی از این مدل یادگیری های ماشین خواهیم داشت.از دیدگاه شما، کدام مدل یادگیری ماشین از همه جذاب تر است؟</description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Wed, 21 Mar 2018 19:05:13 +0330</pubDate>
            </item>
                    <item>
                <title>داده بزرگ چیست</title>
                <link>https://dataio.ir/what-is-big-data-vdneqnbuqmoe</link>
                <description>نتیجه تحلیل داده های بزرگداده های بزرگ زمینه خاصی برای تحلیل، پردازش و ذخیره سازی مجموعه بزرگی از داده ها هستند که اغلب از منابع مختلف سرچشمه می گیرند. راه حل ها شیوه های داده های بزرگ معمولا هنگامی مورد نیاز هستند که فناوری و تکنیک های سنتی تحلیل، پردازش و ذخیره سازی داده های سنتی کافی نیستند. به طور خاص، داده های بزرگ به نیازهای متمایزی می پردازند مانند ترکیب محموعه داده های متعدد نامربوط، پردازش مقادیر زیادی از داده های بدون ساختار و برداشت اطلاعات به شیوه حساس به زمان.اگرچه داده های بزرگ ممکن است به عنوان یک رشته جدید به نظر برسد، اما این داده ها طی سال های متمادی در حال توسعه هستند. مدیریت و تحلیل مجموعه داده های بزرگ یکی از مسائلی است که از گذشته مطرح بوده و از رویکردهای مبتنی بر کار متمرکز گرفته تا روش های سرشماری اولیه و علوم آماری مربوط به محاسبات حق بیمه را تحت پوشش قرار می دهد. علم داده های بزرگ از این ریشه ها تکامل یافته است.تحلیل مجموعه داده های بزرگ یک تلاش میان رشته ای است که ریاضیات، آمار و علوم کامپیوتر را در بر می گیرد. این ترکیب مهارت ها و دیدگاه ها تا حدی منجر به سردرگمی در زمینه داده های بزرگ و تحلیل آن ها شده است، چون معمولا پاسخی که یک نفر دریافت می کند وابسته به دیدگاه فرد پاسخ دهنده به این پرسش خواهد بود. مرزهای آنچه که به منزله یک مسله داده بزرگ شناخته می شود با توجه به چشم انداز همیشه در حال تغییر است و پیشرفت نرم افزار و فناوری سخت افزاری نیز در حال تغییر است. این موضوع به خاطر این واقعیت است که تغریف داده های بزرگ تاثیر ویژگی های داده ها در طراحی محیط راه حل را نیز در نظر می گیرد. سی سال پیش، یک گیگابایت داده می توانست یک مساله داده بزرگ محسوب شود و نیاز به منابع محاسباتی خاصی داشت. در حال حاضر، گیگابایت یک حجم کاملا معمولی محسوب می شود و به راحتی می تواند روی دستگاه های مصرف کننده انتقال، پردازش ذخیره شود.نتایج به دست آمده از طریق پردازش داده های بزرگ می تواند به طیف گسترده ای از بینش ها و منافع منجر شوند، مانند:بهینه سازی عملیاتی (Operational Optimization)هوش عملی (Actionable Intelligence)شناسایی بازارهای جدید (Identification of new markets)پیش بینی های دقیق (Accurate Prediction)عیب یابی خرابی و تقلب (Fault and fraud detection)رکوردهایی با جزئیات بیشتر (More detailed records)بهبود تصمیم گیری (Improved Decision-making)اکتشافات علمی (Scietific Discoveries)</description>
                <category>سپهر اکبرزاده</category>
                <author>سپهر اکبرزاده</author>
                <pubDate>Tue, 06 Mar 2018 20:12:46 +0330</pubDate>
            </item>
            </channel>
</rss>