آموزش الگوریتم تغییر میانگین در یادگیری ماشین با پایتون

3 سال پیش

آموزش الگوریتم تغییر میانگین در یادگیری ماشین با پایتون

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش الگوریتم تغییر میانگین در یادگیری ماشین با پایتون خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش پایتون

مقدمه ای بر الگوریتم تغییر میانگین

همانطور که قبلاً بحث شد ، این الگوریتم خوشه بندی قدرتمند دیگری است که در یادگیری بدون نظارت استفاده می شود. برخلاف خوشه بندی K- معنی ، هیچ فرضی نمی دهد. از این رو الگوریتمی غیر پارامتری است.

الگوریتم تغییر میانگین اساساً با انتقال نقاط به سمت بالاترین تراکم نقاط داده یعنی مرکز خوشه ، نقاط داده را به طور تکراری به خوشه ها اختصاص می دهد.

تفاوت الگوریتم K-Means با Mean-Shift این است که بعداً نیازی به تعیین تعداد خوشه ها از قبل نیست زیرا تعداد خوشه ها توسط الگوریتم داده های w.r.t تعیین می شود.

نحوه کار الگوریتم تغییر میانگین

ما می توانیم کار الگوریتم خوشه بندی میانگین تغییر را با کمک مراحل زیر درک کنیم –

مرحله ۱ – ابتدا با نقاط داده اختصاص داده شده به یک خوشه شروع کنید.

مرحله ۲ – بعد، این الگوریتم سانتروئیدها را محاسبه می کند.

مرحله ۳ – در این مرحله، محل سانتروئیدهای جدید به روز می شود.

مرحله ۴ – اکنون، روند تکرار می شود و به منطقه با چگالی بالاتر منتقل می شود.

مرحله ۵ – سرانجام، هنگامی که سانترویدها به موقعیتی رسیدند که نمی تواند بیشتر حرکت کند ، متوقف می شود.

پیاده سازی در پایتون

این یک مثال ساده برای درک چگونگی عملکرد الگوریتم Mean-Shift است. در این مثال ، ما قصد داریم ابتدا مجموعه داده ۲D را که شامل ۴ حباب مختلف است تولید کنیم و پس از آن الگوریتم Mean-Shift را برای دیدن نتیجه اعمال خواهیم کرد.

%matplotlib inline
import numpy as np
from sklearn.cluster import MeanShift
import matplotlib.pyplot as plt
from matplotlib import style
style.use("ggplot")
from sklearn.datasets.samples_generator import make_blobs
centers = [[3,3,3],[4,5,5],[3,10,10]]
X, _ = make_blobs(n_samples = 700, centers = centers, cluster_std = 0.5)
plt.scatter(X[:,0],X[:,1])
plt.show()

Red Dots

ms = MeanShift()
ms.fit(X)
labels = ms.labels_
cluster_centers = ms.cluster_centers_
print(cluster_centers)
n_clusters_ = len(np.unique(labels))
print("Estimated clusters:", n_clusters_)
colors = 10*['r.','g.','b.','c.','k.','y.','m.']
for i in range(len(X)):
    plt.plot(X[i][0], X[i][1], colors[labels[i]], markersize = 3)
plt.scatter(cluster_centers[:,0],cluster_centers[:,1],
    marker=".",color='k', s=20, linewidths = 5, zorder=10)
plt.show()

 

خروجی

[[ ۲٫۹۸۴۶۲۷۹۸ ۹٫۹۷۳۳۷۹۴ ۱۰٫۰۲۶۲۹۳۴۴]
[ ۳٫۹۴۷۵۸۴۸۴ ۴٫۹۹۱۲۲۷۷۱ ۴٫۹۹۳۴۹۴۳۳]
[ ۳٫۰۰۷۸۸۹۹۶ ۳٫۰۳۸۵۱۲۶۸ ۲٫۹۹۱۸۳۰۳۳]]
Estimated clusters: 3

Mix Dot

مزایا و معایب خوشه بندی میانگین
مزایا:

موارد زیر برخی از مزایای الگوریتم خوشه بندی میانگین تغییر است –

  • نیازی به فرض هیچ یک از مدلها مانند مخلوط K-means یا Gaussian نیست.
  • همچنین می تواند خوشه های پیچیده ای را که شکل غیر محدب دارند ، مدل کند.
  • فقط به یک پارامتر به نام پهنای باند نیاز دارد که به طور خودکار تعداد خوشه ها را تعیین کند.
  • موضوعی در مورد حداقل های محلی مانند K-means وجود ندارد.

 

معایب

موارد زیر برخی از معایب الگوریتم خوشه بندی میانگین تغییر است –

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

منبع.

 

لیست جلسات قبل آموزش یادگیری ماشین با پایتون 

  1. آموزش یادگیری ماشین با پایتون
  2.  مبانی یادگیری ماشین با پایتون  
  3. آموزش اکوسیستم یادگیری ماشین با پایتون 
  4. آموزش متدها در یادگیری ماشین با پایتون 
  5. آموزش بارگیری داده ها برای پروژه های یادگیری ماشین
  6. آموزش درک داده ها با آمار در یادگیری ماشین
  7. آموزش آماده سازی داده ها در یادگیری ماشین با پایتون 
  8. آموزش انتخاب ویژگی داده ها در یادگیری ماشین با پایتون
  9. آموزش طبقه بندی در یادگیری ماشین با پایتون
  10. آموزش رگرسیون لجستیک در یادگیری ماشین با پایتون
  11. آموزش ماشین بردار پشتیبان در یادگیری ماشین با پایتون
  12. آموزش درخت تصمیم در یادگیری ماشین با پایتون
  13. آموزش Naïve Bayes در یادگیری ماشین با پایتون
  14. آموزش جنگل تصادفی در یادگیری ماشین با پایتون
  15. آموزش الگوریتم های رگرسیون در یادگیری ماشین با پایتون
  16. آموزش الگوریتم های خوشه بندی در یادگیری ماشین با پایتون
  17. آموزش الگوریتم K-Means در یادگیری ماشین با پایتون
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه