Gözetimli Benzerlik Ölçümü

Manuel olarak birleştirilen özellik verilerini karşılaştırmak yerine, özellik verilerini yerleştirmeler adı verilen temsillere küçültüp yerleştirilmiş olanları karşılaştırabilirsiniz. Yerleştirme, özellik verileri üzerinde gözetim altında bir derin nöral ağı (DNN) eğiterek oluşturulur. Yerleştirmeler, özellik verilerini bir yerleştirme alanındaki bir vektörle eşler. Genellikle, yerleştirme alanının, özellik veri kümesinin bazı gizli yapılarını yakalayacak şekilde özellik verilerinden daha az boyutu vardır. Aynı kullanıcılar tarafından izlenen YouTube videoları gibi benzer örnekler için yerleştirme vektörleri, yerleştirme alanında birbirine yakın şekilde yerleştirilir. Benzerlik ölçümünün, örnek çiftler için benzerliği ölçmek için bu "yakınlığı" nasıl kullandığını göreceğiz.

Benzerlik önlemlerimizi oluşturmak için yalnızca gözetimli öğrenimden bahsettiğimizi unutmayın. Benzerlik ölçütü, manuel veya gözetimli olsun, bu yöntem bir algoritma tarafından gözetimsiz kümeleme için kullanılır.

Manuel ve Gözetimli Önlemlerin Karşılaştırması

Bu tabloda, ihtiyaçlarınıza bağlı olarak manuel veya gözetim altındaki benzerlik önlemlerinin ne zaman kullanılacağı açıklanmaktadır.

KoşulManuelGözetimli
İlişkili özelliklerdeki gereksiz bilgileri ortadan kaldırın. Hayır, özellikler arasındaki bağıntıları ayrı olarak araştırmanız gerekir. Evet, DNN gereksiz bilgileri ortadan kaldırır.
Hesaplanan benzerlikler hakkında bilgi verir. Evet Hayır, yerleştirmeler çözülemez.
Birkaç özelliği olan küçük veri kümeleri için uygundur. Evet, birkaç özelliğe sahip manuel bir ölçüm tasarlamak kolaydır. Hayır, küçük veri kümeleri DNN için yeterli eğitim verisi sağlamaz.
Birçok özelliğe sahip büyük veri kümeleri için uygundur. Hayır, gereksiz bilgileri birden fazla özellikten manuel olarak kaldırmak ve ardından bunları birleştirmek çok zordur. Evet. DNN gereksiz bilgileri otomatik olarak ortadan kaldırır ve özellikleri birleştirir.

Gözetimli Benzerlik Ölçümü Süreci

Aşağıdaki şekilde, gözetim altındaki benzerlik önlemlerinin nasıl oluşturulacağı gösterilmektedir:

Özellik verilerini girin. DNN'yi seçin: otomatik kodlayıcı veya tahmin edici.
      Yerleştirmeyi çıkarın. Ölçüm seçin: Nokta ürün, kosinüs veya Öklid mesafesi.
Şekil 1: Gözetim benzerliği önlemi oluşturma adımları.

İlk adımı zaten öğrendiniz. Bu sayfada bir sonraki adım açıklanmakta ve sonraki sayfalarda geri kalan adımlar açıklanmaktadır.

Eğitim Etiketlerine Göre DNN Seçin

Hem giriş hem de etiket olarak aynı özellik verilerini kullanan bir DNN'yi eğiterek özellik verilerinizi yerleştirmelere azaltın. Örneğin, kurum verileri söz konusu olduğunda DNN, bu özellikleri kendi başına tahmin etmek için fiyat, boyut ve posta kodu gibi özellikleri kullanır. Özellik verilerini aynı özellik verilerini tahmin etmek amacıyla kullanmak için DNN, giriş özelliği verilerini yerleştirmelere azaltmaya zorlanır. Benzerlikleri hesaplamak için bu yerleştirilmiş öğeleri kullanırsınız.

Giriş verilerinin tahmin ederek giriş verilerinin yerleştirmelerini öğrenen DNN'ye otomatik kodlayıcı denir. Otomatik kodlayıcının gizli katmanları giriş ve çıkış katmanlarından küçük olduğundan otomatik kodlayıcı, giriş özelliği verilerinin sıkıştırılmış bir gösterimini öğrenmeye zorlanır. DNN eğitildikten sonra, benzerliği hesaplamak için son gizli katmandaki yerleştirmeleri çıkarırsınız.

Otomatik kodlayıcı ile tahmine dayalı DNN'yi karşılaştırma.
       Başlangıç girişleri ve gizli katmanlar aynıdır, ancak çıkış, tahmine dayalı modeldeki temel özellik tarafından filtrelenir.
Şekil 2: Otomatik kodlayıcı ile tahmin edicinin karşılaştırması.

Otomatik kodlayıcı, yerleştirme oluşturmak için en basit seçenektir. Bununla birlikte, benzer özellikler belirlenirken belirli özellikler diğerlerinden daha önemli olabilecek durumlarda otomatik kodlayıcı ideal seçim değildir. Örneğin, kurum verilerinde "fiyat"ın "posta kodu"ndan daha önemli olduğunu varsayalım. Bu tür durumlarda, DNN için eğitim etiketi olarak yalnızca önemli özelliği kullanın. Bu DNN, tüm giriş özelliklerini tahmin etmek yerine belirli bir giriş özelliğini tahmin ettiği için tahmini DNN olarak adlandırılır. Etiket olarak bir özellik seçmek için aşağıdaki yönergeleri kullanın:

  • Kayıpların hesaplanması ve yorumlanması daha kolay olduğundan sayısal özellikler, kategorik özellikler için etiket olarak tercih edilir.

  • Etiket olarak \(\lesssim\) 100 kardinalitesi olan kategorik özellikler kullanmayın. Bunu yaparsanız DNN, düşük kardinaliteli kategorik etiketleri kolayca tahmin edebileceğinden giriş verilerinizi yerleştirmelere azaltmaya zorlanmaz.

  • Etiket olarak kullandığınız özelliği DNN'deki girişten kaldırın. Aksi halde, DNN çıkış işlemini mükemmel bir şekilde tahmin eder.

Etiket seçiminize bağlı olarak, ortaya çıkan DNN bir otomatik kodlayıcı DNN'si veya tahmine dayalı DNN'dir.

DNN için Kayıp İşlevi

DNN'yi eğitmek için aşağıdaki adımları uygulayarak bir kayıp işlevi oluşturmanız gerekir:

  1. DNN'nin her çıkışı için kayıpı hesaplayın. Şu çıkışlar için:
    • Sayısal bir değerse ortalama kare hatası (MSE) kullanın.
    • Standart olmayan kategorize, günlük kaybını kullanın. Hesaplamak için bir kitaplık işlevi kullanabileceğinizden günlük kaybını kendiniz uygulamanız gerekmez.
    • Çok değerli kategorik kategori, softmax cross entropi kaybını kullanın. Softmax çapraz entropi kaybını kendiniz hesaplamanız gerekmez. Hesaplamak için kitaplık işlevi kullanabilirsiniz.
  2. Her bir çıkışın kayıplarını toplayarak toplam kaybı hesaplayın.

Kaybı birleştirirken her özelliğin kayıpla orantılı olarak katkıda bulunduğundan emin olun. Örneğin, renk verilerini RGB değerlerine dönüştürürseniz üç çıkışınız olur. Ancak üç çıkışın kaybının toplanması, renk kaybının diğer özelliklerden üç kat daha fazla ağırlığı olduğu anlamına gelir. Bunun yerine, her bir çıkışı 1/3 ile çarpın.

Online Sistemde DNN Kullanma

Online makine öğrenimi sisteminde sürekli olarak yeni bir giriş verisi akışı bulunur. DNN'nizi yeni veriler konusunda eğitmeniz gerekir. Ancak DNN'nizi sıfırdan yeniden eğitirseniz DNN'ler rastgele ağırlıklarla başlatıldığı için yerleştirmeleriniz farklı olur. Bunun yerine, DNN'yi mevcut ağırlıklarla her zaman hazırlayıp DNN'yi yeni verilerle güncelleyin.