Kümelemeyi daha iyi ve daha doğru hale getirmek için Gauss karışım modelini kullanın (veri kodu öğrenme kaynakları ile)

Yazar: AISHWARYA SINGH

Çeviri: Zhang Ling

Düzeltme: Zhang Yihao

Bu makale hakkında 3500 kelime, Önerilen Okuma 10+ dakika.

Bu makale, K-ortalamalı algoritmanın hızlı bir incelemesi ve ardından Gauss karışım modeli kavramının derinlemesine incelenmesi ve Python'da uygulanması dahil olmak üzere kümelemenin temellerini kısaca tanıtmaktadır.

Genel Bakış

  • Gauss karışım modeli, güçlü bir kümeleme algoritmasıdır
  • Gauss karışım modellerinin nasıl çalıştığını ve bunların Python'da nasıl uygulanacağını anlayın
  • Ayrıca K-ortalamalı kümeleme algoritmasını tartışacağız ve Gauss karışım modelinin onu nasıl geliştirdiğini göreceğiz.

Giriş

Gözetimsiz öğrenme problemlerini incelemeyi gerçekten seviyorum çünkü bunlar denetimli öğrenme problemlerinden tamamen farklı bir zorluk sağlıyor: verilerimi denemek için daha fazla alan sağlıyorlar. Makine öğrenimi alanındaki gelişmelerin ve atılımların çoğunun denetimsiz öğrenmede gerçekleştiğini anlamak zor değil.

Denetimsiz öğrenmedeki en popüler tekniklerden biri, genellikle makine öğreniminin ilk aşamalarında öğrendiğimiz ve anlaşılması kolay bir kavram olan kümelemedir. Kullanıcı katmanlaşması ve pazar sepeti analizi gibi projelerle karşılaştığınıza ve hatta bunlara katıldığınıza inanıyorum.

Ancak sorun şu ki, sadece daha önce öğrendiğimiz temel algoritmalar değil, birçok türde kümeleme var. Gerçek dünyada doğru bir şekilde kullanabileceğimiz güçlü bir denetimsiz öğrenme tekniğidir.

"Gauss Karışım Modeli, bu makalede tartışacağım bir kümeleme algoritmasıdır." Favori ürünlerinizin satış hacmini tahmin etmek ister misiniz? Veya müşteri kaybını farklı müşteri grupları açısından analiz etmek istiyorsunuz. Uygulama senaryosu ne olursa olsun, Gauss karışım modelinin çok kullanışlı olduğunu göreceksiniz.

Bu makale aşağıdan yukarıya bir yaklaşım benimseyecektir. İlk olarak, K-ortalama algoritmasının hızlı bir incelemesi dahil olmak üzere kümelemenin temellerini öğreneceğiz ve ardından Gauss karışım modellerinin kavramlarını inceleyip bunları Python'da uygulayacağız.

Henüz kümeleme ve veri bilimine aşina değilseniz, önce aşağıdaki kapsamlı kursları almanızı öneririm:

Uygulamalı makine öğrenimi ile ilgili kursların bağlantıları:

https://courses.analyticsvidhya.com/courses/applied-machine-learning-beginner-to-professional?utm_source=blogutm_medium=gaussian-mixture-models-clustering

içindekiler

1. Kümelemeye giriş

2. K-anlam kümelemesine giriş

Üç, K-anlamının kümelenmesinin dezavantajları

4. Gauss Karışım Modeline Giriş

Beş, Gauss dağılımı

6. Beklenti maksimizasyonu nedir

7. Gauss karışım modelinde beklenti maksimizasyonu

8. Gauss karışımı kümeleme modelini uygulamak için Python kullanın

1. Kümelemeye giriş

Gauss karışım modelinin özünü tartışmaya başlamadan önce, bazı temel kavramları hızlıca gözden geçirelim.

Lütfen aklınızda bulundurun: Kümelemenin arkasındaki fikri ve K-ortalamalı kümeleme algoritmasının çalışma prensibini zaten biliyorsanız, doğrudan Bölüm 4 "Gauss Karışım Modeline Giriş" e geçebilirsiniz.

Temel fikrin resmi tanımıyla başlayalım:

"Kümeleme, benzer veri noktalarının verilerin özniteliklerine veya özelliklerine göre gruplara ayrılması anlamına gelir"

Örneğin, bir grup insanın gelir ve giderlerine sahibiz, bunları aşağıdaki kategorilere ayırabiliriz:

  • Yüksek gelir ve yüksek tüketim
  • Yüksek gelir ve düşük tüketim
  • Düşük gelir ve düşük tüketim
  • Düşük gelir ve yüksek tüketim

Yukarıdaki grupların her biri benzer özelliklere sahip bir gruptur, bu nedenle bu gruplara ilgili programları / ürünleri hedeflemek çok etkilidir. Kredi kartları, otomobil / emlak kredileri vb. basit ifadeyle:

"Kümelemenin arkasındaki fikir, her bir kümenin en benzer noktalara sahip olması için veri noktalarını birlikte gruplamaktır."

Çeşitli kümeleme algoritmaları vardır En popüler kümeleme algoritmalarından biri K-ortalamalarıdır. K-ortalama algoritmasının nasıl çalıştığını ve algoritmanın beklentileri nasıl karşılayamayacağını anlayalım.

2. K-anlam kümelemesine giriş

"K-ortalama kümeleme, mesafeye dayalı bir kümeleme algoritmasıdır; bu, bir küme oluşturmak için en yakın noktaları gruplandırmaya çalışacağı anlamına gelir."

Bu algoritmanın nasıl çalıştığına daha yakından bakalım, bu da Gauss karışım modelinin sonraki anlayışının temelini oluşturacaktır.

Öncelikle K değeri olan hedef grup sayısını belirleyip bölünecek aile veya grup sayısına göre rastgele k centroidleri başlatıyoruz.

Ardından, bir küme oluşturmak için veri noktalarını en yakın centroid'e atayın, ardından centroid'i güncelleyin ve veri noktalarını yeniden dağıtın. Bu işlem, kütle merkezinin konumu artık değişmeyene kadar tekrarlanır.

Küme sayısının 10 olduğunu varsayarak, kümeleri başlatma ve güncelleme sürecinin tamamını temsil eden aşağıdaki gif'e göz atın:

Lütfen aklınızda bulundurun: Bu, bu makale için yeterli olan K-ortalamalı kümelemenin kısa bir özetidir. K-ortalamalı algoritmanın çalışma prensibini incelemek istiyorsanız, işte ayrıntılı bir kılavuz:

En kapsamlı K-mans kılavuzu, her zaman ihtiyacınız olacak:

https://www.analyticsvidhya.com/blog/2019/08/comprehensive-guide-k-means-clustering/?utm_source=blogutm_medium=gaussian-mixture-models-clustering

Üç, K-anlamının kümelenmesinin dezavantajları

K-ortalama kümeleme kavramı kulağa hoş geliyor, değil mi? Anlaşılması kolaydır, uygulanması nispeten kolaydır ve birçok senaryoda uygulanabilir, ancak dikkat etmemizi gerektiren bazı eksiklikler ve sınırlamalar vardır.

Örnek olarak yukarıda bahsedilen gelir ve gider verilerini alalım K-ortalama algoritması çok iyi çalışıyor gibi görünüyor, değil mi? Bekleyin, yakından bakarsanız, oluşturulan tüm kümelerin dairesel olduğunu göreceksiniz Bunun nedeni, sınıflandırmanın centroidinin ortalama değer kullanılarak yinelemeli olarak güncellenmesidir.

Şimdi, noktaların dağılımının dairesel olmadığı aşağıdaki örneği düşünün: Bu veriler üzerinde K-ortalamalarını kümelemeyi kullanırsak, ne olacağını düşünüyorsunuz? Yine de veri noktalarını döngüsel bir şekilde gruplamaya çalışıyor, bu harika değil! K-anlamı doğru kümeyi tanımayacaktır:

Bu nedenle, sınıfları veri noktalarına atamanın farklı bir yoluna ihtiyacımız var. Mesafeye dayalı modeller kullanmak yerine dağıtıma dayalı modeller kullanın , Bu makaledeki Gauss karışım modelinin anlamı budur!

4. Gauss Karışım Modeline Giriş

"Gauss Karışım Modelleri (GMM'ler), belirli sayıda Gauss dağılımının olduğunu varsayar ve her dağıtım bir kümeyi temsil eder. Gauss Karışım Modelleri, aynı dağılıma ait olan veri noktalarını gruplama eğilimindedir."

Sırasıyla belirli bir ortalamaya (1, 2, 3) ve varyansa (1, 2, 3) sahip üç Gauss dağılımımız olduğunu varsayalım (sonraki bölümde bununla ilgili daha fazla bilgi bulabilirsiniz) -GD1, GD2 ve GD3. Belirli bir veri noktaları kümesi için, GMM'lerimiz bu veri noktalarının bu dağılımlara uyma olasılığını hesaplayacaktır.

Bekle, olasılık?

Doğru! Gauss karışım modeli, veri noktalarını farklı kümelere sınıflandırmak için yumuşak bir kümeleme yöntemi kullanan olasılıksal bir modeldir.

Burada mavi, yeşil ve camgöbeği olmak üzere üç renkle temsil edilen üç kümemiz var. Bir veri noktasını kırmızıyla vurguluyoruz Bu noktanın mavi kümeye bölünme olasılığı 1 ve yeşil veya mavi kümeye bölünme olasılığı 0'dır.

Şimdi, mavi ve camgöbeği kümeleri arasındaki başka bir noktayı düşünün (aşağıdaki resimde vurgulanmıştır) Bu noktanın yeşil kümeye bölünme olasılığı 0'dır, değil mi? Mavi ve camgöbeği kümelerine bölünme olasılığı sırasıyla 0,2 ve 0,8'dir.

Gauss karışım modeli, karşılık gelen Gauss dağılımlarına veri noktaları atamak için yumuşak sınıflandırma tekniklerini kullanır. Bu dağılımların ne olduğunu bilmek istediğinizden eminim. Bunu bir sonraki bölümde açıklayacağım.

Beş, Gauss dağılımı

Ortalama etrafında simetrik olarak dağıtılmış veri noktalarına sahip çan şeklinde bir eğriye sahip olan Gauss dağılımına (veya normal dağılım) aşina olduğunuza inanıyorum.

Aşağıdaki şekilde bazı Gauss dağılımları vardır ve ortalama () ve varyans (2) farklıdır. Unutmayın, değeri ne kadar büyükse dağılım eğrisi o kadar geniş olur.

Tek boyutlu uzayda, Gauss dağılımının olasılık yoğunluk fonksiyonu şu şekilde verilir:

ortalama ve 2 varyanstır.

Ancak bu yalnızca tek değişkenler için geçerlidir. İki değişken durumunda, iki boyutlu bir çan eğrisi yerine aşağıda gösterildiği gibi üç boyutlu bir çan eğrisi elde edeceğiz:

Olasılık yoğunluk fonksiyonu aşağıdaki formülle verilmiştir:

Bunlar arasında, x giriş vektörü, 2 boyutlu ortalama vektör ve 2 × 2 kovaryans matrisidir. Kovaryans artık eğrinin şeklini belirleyebilir. D-boyutlu olasılık yoğunluk fonksiyonu benzer şekilde genişletilebilir.

"Bu nedenle, bu çok değişkenli Gauss modeli, x ve 'yi d uzunluğundaki vektörler olarak alır ve , bir d × d kovaryans matrisidir."

D özelliğine sahip bir veri kümesi için, k Gauss dağılımını alacağız (burada k, küme sayısına eşittir), her Gauss dağılımının belirli bir ortalama vektörü ve varyans matrisi vardır, ancak bu Gauss dağılımlarının ortalama toplamı Varyans değeri nasıl verilir?

Bu değerler, Beklenti-Maksimizasyon (EM) adı verilen bir teknikle belirlenebilir.Gauss karışım modeline geçmeden önce, bu tekniği anlamamız gerekir.

6. Beklenti maksimizasyonu nedir

iyi soru!

"Beklenti maksimizasyonu, doğru model parametrelerini bulmak için istatistiksel bir algoritmadır. Veriler eksik değerlere sahip olduğunda veya başka bir deyişle, veriler eksik olduğunda, genellikle EM kullanırız."

Eksik değerleri olan bu değişkenler gizli değişkenler olarak adlandırılır Denetimsiz öğrenme problemlerini incelediğimizde, hedefin (veya küme sayısının) bilinmediğine inanıyoruz.

Bu gizli değişkenler nedeniyle, doğru model parametrelerini belirlemek zordur. Şöyle düşünün: Hangi veri noktasının hangi kümeye ait olduğunu biliyorsanız, ortalama vektörü ve kovaryans matrisini belirlemek kolaydır.

Bu gizli değişkenlerin değerlerine sahip olmadığımız için EM, bu değişkenlerin optimal değerlerini belirlemek için mevcut verileri kullanmaya çalışır ve ardından model parametrelerini bulur. Bu model parametrelerine dayanarak, gizli değişkenlerin değerlerini döndürür ve güncelleriz ve bu böyle devam eder.

Genel olarak, EM'nin 2 adımı vardır:

  • E-adımı: Bu adımda, gizli değişkenin değerini tahmin etmek (tahmin etmek) için mevcut verileri kullanın.
  • M-adımı: E adımında oluşturulan tahmini değere göre, parametreleri güncellemek için tüm verileri kullanın.

EM, Gauss karışım modelleri de dahil olmak üzere birçok algoritmanın temelidir. Öyleyse, GMM EM kavramını nasıl kullanır ve onu belirli bir veri setine nasıl uygular? Hadi görelim!

7. Gauss modelinde beklenti maksimizasyonu

Bunu anlamak için başka bir örnek kullanalım.Okurken, bazı kavramları anlamak için hayal gücünüzü kullanmanız gerekir. Bu, neden bahsettiğimizi daha iyi anlamanıza yardımcı olabilir.

K-boyutlu kümeleme yapmamız gerektiğini varsayalım, bu, k Gauss dağılımının olduğu ve ortalama ve kovaryans değerlerinin 1, 2, ..., k ve 1, 2, ..., k olduğu ve başka bir Dağılımda kullanılan veri noktalarının sayısını, yani dağılımın yoğunluğunu belirlemek için kullanılan parametre i ile temsil edilir.

Şimdi, Gauss dağılımını tanımlamak için bu parametrelerin değerlerini belirlememiz gerekiyor. Küme sayısını belirledik ve ortalama, kovaryans ve yoğunluk değerlerini rastgele belirledik. Ardından, E ve M adımlarını gerçekleştireceğiz!

Adım E:

Her bir Xi noktası için, C1, C2, ..., CK kümesine / dağılımına ait olma olasılığını hesaplayın. Bunu başarmak için aşağıdaki formülü kullanın:

Yüksek bir değer, noktanın doğru kümeye atandığını gösterir ve bunun tersi de geçerlidir.

M adımı:

E adımını tamamladıktan sonra geri dönüp , ve değerlerini güncelliyoruz. Güncelleme yöntemi aşağıdaki gibidir:

1. Yeni dağıtım yoğunluğu, kümedeki nokta sayısının toplam nokta sayısına oranıyla tanımlanır:

2. Ortalama ve kovaryans matrisi, veri noktasının olasılık değeri ile orantılı olan dağılıma atanan değere göre güncellenir. Bu nedenle, dağılımın parçası olma olasılığı daha yüksek olan veri noktaları daha büyük bir orana katkıda bulunacaktır:

Bu adımda üretilen güncellenmiş değere dayanarak, her veri noktasının yeni olasılık değerini hesaplıyor ve yinelemeli olarak güncelliyoruz. Günlük olabilirlik işlevini en üst düzeye çıkarmak için işlem tekrarlanır. Aslında şunu söyleyebiliriz:

GMM'ler güncellenmiş verilerin ortalamasını ve varyansını dikkate alırken, K-aracı yalnızca güncellenmiş ağırlık merkezinin ortalamasını dikkate alır!

8. Gauss karışım modelini uygulamak için Python kullanın

Kodu inceleme zamanı! Bu, herhangi bir makalenin en sevdiğim bölümlerinden biridir, o yüzden hemen başlayalım!

Verileri yükleyerek başlayacağız. Bu benim oluşturduğum geçici bir dosyadır. Verileri aşağıdaki bağlantıdan indirebilirsiniz:

İlgili Bağlantılar:

https://s3-ap-south-1.amazonaws.com/av-blog-media/wp-content/uploads/2019/10/Clustering_gmm.csv

Pandaları pddata = pd.read_csv ('Clustering_gmm.csv') plt.figure (figsize = (7,7)) plt.scatter (veri, veri) plt.xlabel ('Ağırlık') plt.ylabel ('Yükseklik' ) plt.title ('Veri Dağıtımı') plt.show ()

Bu bizim verilerimiz. Şimdi bu veriler üzerine bir K-ortalama modeli oluşturuyoruz:

# eğitim k-modelden sklearn.cluster içe aktarımı anlamına gelir KMeanskmeans = KMeans (n_clusters = 4) kmeans.fit (veri) # kmeanspred'den tahminler = kmeans.predict (data) frame = pd.DataFrame (data) frame = predframe.columns = # sonuçların çizimi renk = aralıktaki k için (0,4): veri = çerçeve plt.scatter (veri, veri, c = renk) plt.show ()

Bu doğru değil, K-ortalama modeli doğru kümeyi belirleyemez. Küme merkezine daha yakından bakın - K-aracı, veri dağılımının tamamı eliptik olmasına rağmen (daha önce tartıştığımız eksiklikleri hatırlıyor musunuz?) Dairesel bir küme oluşturmaya çalışıyor.

Şimdi, K-araçlarını iyileştirip iyileştiremeyeceğimizi görmek için aynı veriler üzerinde bir Gauss karışım modeli oluşturalım:

pandaları pddata = pd.read_csv ('Clustering_gmm.csv') olarak içe aktar # sklearn.mixture'dan eğitim gauss karışımı modeli import GaussianMixturegmm = GaussianMixture (n_components = 4) gmm.fit (data) #predictions from gmmlabels = gmm.predict (data) = pd.DataFrame (veri) çerçeve = labelsframe.columns = renk = aralıktaki k için (0,4): veri = çerçeve plt.scatter (veri, veri, c = renk) plt.show ()

harika! Bunlar tam olarak istediğimiz küme bölümleri! Gauss karışım modeli K-araçlarını yendi!

Son not

Bu, Gauss Karışım Modeli'ne giriş niteliğinde bir kılavuzdur.Size bu güçlü kümeleme tekniğini tanıtmak ve geleneksel algoritmalara kıyasla ne kadar etkili ve verimli olduğunu göstermek için buradayım.

Bir kümeleme projesine katılmanızı ve GMM'leri kullanmaya çalışmanızı tavsiye ederim. Bu, bir kavramı öğrenmenin ve anlamanın en iyi yolu, güven bana, bu algoritmanın ne kadar yararlı olduğunu anlayacaksın!

Gauss Karışım Modeli hakkında herhangi bir sorunuz veya fikriniz varsa, bunları aşağıdaki yorumlar bölümünde tartışabilirsiniz.

Orjinal başlık:

Gauss Karışımı Modelleriyle Daha İyi ve Doğru Kümeler Oluşturun

Orijinal bağlantı:

https://www.analyticsvidhya.com/blog/2019/10/gaussian-mixture-models-clustering/

Editör: Huang Jiyan

Redaksiyon: Lin Yilin

Çevirmen Profili

Zhang Ling , İş başında veri analisti, bilgisayar bilimleri alanında yüksek lisans derecesi ile mezun oldu. Verilerle çalışmak, kendini yeniden şekillendirme cesaretini ve yaşam boyu öğrenmenin azmini gerektirir. Ama yine de sertliğini seviyorum ve sanatına takıntılıyım. Veri okyanusu sonsuzdur ve veri çalışması zorluklarla doludur. Datapai THU'ya böylesine profesyonel bir platform sağladığınız için teşekkür ediyor ve en profesyonelinizle birlikte ilerleme kaydetmeyi umuyoruz!

- Bitiş -

Tsinghua-Qingdao Veri Bilimi Enstitüsü'nün resmi WeChat kamu platformunu takip edin " THU Veri Pastası "Ve kız kardeş numarası" Veri Pastası THU "Daha fazla ders avantajı ve kaliteli içerik elde edin.

Araştırmacılar, doktorlar ve endüstri yatırımcılarının bir araya gelmesiyle nasıl bir kıvılcım çıkacak?
önceki
Guangdong-Southern + Phoenix Tea Travel Town Channel'ın kuzey, doğu ve batısındaki ilk sokak-kasaba kanalı çevrimiçi
Sonraki
GitHub süper 3k yıldız! Python kodundan APP'ye sadece küçük bir araca ihtiyaç vardır
Pekin'de düzenlenen Çin-ABD epilepsi semineri epilepsi tanı ve tedavisinin uluslararasılaşmasının teşvik edilmesi
Yuanmingyuan at kafasının ön araştırma sonuçları! Kayıp kadimlerin "siyah teknoloji" dökümünü kırmaya yardımcı olur
Tsinghua Üniversitesi Suzhou Otomotiv Araştırma Enstitüsü Cheng Bo: Akıllı Bağlantılı Araçlar ve Çin Çözümlerinde Altı Trend
Sonbahar başarılı! Soğuk hava çarptı, Guangdong'un en düşük sıcaklığı tek haneye düştü! Bir sonraki soğuk hava çoktan yolda
8K kamera Çin Yüksek Teknoloji Fuarı'nda görücüye çıktı, çözünürlük 1080p kameradan 15 kat daha yüksek
Pekin Üniversitesi Tsinghua Üniversitesi Doktoru: "İfade" ve "biliş" bilimsel düşünce tartışmasını tetikledi
"Asıl niyeti unutma, misyonu unutma" | Rehberlik: Kardeş ve Kardeş Şube Sekreteri Yarışması
Al-al-al patlak verdi, 10.000 genç cevapladı Deep Krypton
Dünyayı değiştiren kod satırı
Yol gitti ve kırsal alan "canlı"! Meizhou'nun Meijiang Bölgesi, "Dört İyi Kırsal Yolun" inşasını teşvik ediyor
Google "Project Nightingale" ifşa oldu: milyonlarca özel tıbbi veriyi gizlice toplayın
To Top