Manuel Benzerlik Ölçümü oluşturma

İki örnek arasındaki benzerliği hesaplamak için bu iki örneğin tüm özellik verilerini tek bir sayısal değerde birleştirmeniz gerekir.

Örneğin, tek bir özelliğe (ayakkabı ayakkabısı) sahip bir ayakkabı veri kümesi düşünün. İki ayakkabının benzerlik derecesini, ayakkabıların arasındaki farkı hesaplayarak ölçebilirsiniz. Boyutlar arasındaki sayısal fark küçüldükçe ayakkabılar arasındaki benzerlik de artar. Bu tür el yapımı benzerlik önlemlerine manuel benzerlik ölçümü adı verilir.

Hem beden hem de rengi kullanarak ayakkabılar arasındaki benzerlikleri bulmak istiyorsanız ne yapacaksınız? Renk kategorik verilerdir ve sayısal boyut verileriyle birleştirilmesi daha zordur. Verilerin daha karmaşık hale geldikçe manuel manuel benzerlik ölçüsü oluşturmanın daha zor hale geldiğini görüyoruz. Verileriniz yeterince karmaşık hale geldiğinde, manuel ölçüm oluşturamazsınız. Bu durumda, benzerliği gözetimli bir makine öğrenimi modelinin hesapladığı gözetimli benzerlik ölçümüne geçersiniz.

Gözetimli benzerlik ölçümünü daha sonra kullanmayı bırakıp buradaki manuel ölçüye odaklanacağız. Şimdilik, manuel benzerlik ölçümü oluştururken sorun yaşadığınızda gözetim altındaki benzerlik önlemlerine geçiş yaptığınızı unutmayın.

Manuel benzerlik ölçümünün işleyiş şeklini anlamak için ayakkabı örneğimize göz atalım. Modelin iki özelliği olduğunu varsayalım: ayakkabı ayakkabısı ve ayakkabı fiyatı verileri. Her iki özellik de sayısal olduğundan, bunları aşağıdakine benzer bir sayı oluşturacak şekilde tek bir sayı halinde birleştirebilirsiniz.

  • Boyutlar: Ayakkabının büyük ihtimalle Gauss dağılımı vardır. Onaylayın. Ardından verileri normalleştirin.
  • Fiyat (p): Veriler, büyük olasılıkla bir Poisson dağılımıdır. Onaylayın. Yeterli veriniz varsa verileri miktarlara dönüştürün ve \([0,1]\)olarak ölçeklendirin.
  • Verileri kök ortalama kare hatası (RMSE) kullanarak birleştirin. Buradaki benzerlik \(\sqrt{\frac{s^2+p^2}{2}}\)ile benzerdir.

Basitleştirilmiş bir örnek için ABD 8 ve 11 numara, 120 ile 150 fiyatlara sahip iki ayakkabının benzerliğini hesaplayalım. Dağılımı anlamak için yeterli veri olmadığı için, verileri normalleştirmeden veya çeyrekler kullanmadan ölçeklendiririz.

İşlemYöntem
Boyutu ölçeklendirin. Maksimum 20 ayakkabı arayın. 0,4 ve 0,55 elde etmek için 8'i ve 11'i maksimum boyut olan 20'ye bölün.
Fiyatı ölçeklendirin. 0,8 ve 1'i elde etmek için 120 ve 150'yi maksimum 150 değerine bölün.
Boyut farkını bulun. \(0.55 - 0.4 = 0.15\)
Fiyat farkını bulun. \(1 - 0.8 = 0.2\)
RMSE'yi bulun. \(\sqrt{\frac{0.2^2+0.15^2}{2}} = 0.17\)

Özellik verileri benzer olduğunda ölçülen benzerliğiniz de artar. Bunun yerine, ölçülen benzerliğiniz azalır. Ölçülen benzerliğinizi 1'den çıkarıp sezgilerinizi takip edin.

\[\text{Similarity} = 1 - 0.17 = 0.83\]

Genel olarak, Verileri hazırlama bölümünde açıklandığı gibi sayısal veriler hazırlayabilir ve ardından Öklid mesafesini kullanarak verileri birleştirebilirsiniz.

Verileriniz kategorik biçimdeyse ne olur? Kategorik veriler şunlardan biri olabilir:

  • Arabanın rengi ("beyaz" veya "mavi" gibi) ancak tek değere sahip (ikisi birden değil)
  • Bir filmin türü gibi çok değerli (çok fazla değerli) (aynı anda "aksiyon" ve "komedi" veya sadece "aksiyon") olabilir

Tek değerlikli veriler eşleşiyorsa, benzerlik 1'dir; aksi takdirde 0 olur. Çok değerli verilerin işlenmesi daha zordur. Örneğin, film türleri üzerinde çalışmak zor olabilir. Bu sorunu çözmek için filmlerin sabit bir tür grubundan tür atandığını varsayalım. Jacard benzerliği adı verilen ortak değerlerin oranını kullanarak benzerliği hesaplayın.

Örnekler:

  • ["komedi","işlem"] ve ["komedi","işlem"] = 1
  • ["komedi","işlem"] ve ["işlem"] = 1⁄2
  • ["komedi","işlem"] ve ["işlem", "drama"] = 1⁄3
  • ["komedi","işlem"] ve ["kurmaca dışı","biyografik"] = 0

Aşağıdaki tabloda, kategorik verilerle nasıl başa çıkılacağına dair birkaç örnek daha verilmiştir.

Örnekler
Posta kodu Birbirine yakın alanları temsil eden posta kodları daha fazla benzerlik olmalıdır. Bu benzerliği doğru şekilde hesaplamak için gereken bilgileri kodlamak amacıyla posta kodlarını enlem ve boylama dönüştürebilirsiniz. Bir çift posta kodu için enlem ve boylam arasındaki farkı ayrı ayrı hesaplayın. Ardından, tek bir sayısal değer elde etmek için farklılıkları ekleyin.
Renk Metin verilerinizin renk olduğunu varsayalım. Metin değerlerini sayısal RGB değerlerine dönüştürün. Artık iki renk için kırmızı, yeşil ve mavi değerleri arasındaki farkı bulup Öklid mesafesini kullanarak farklılıkları sayısal bir değerde birleştirebilirsiniz.

Genel olarak, benzerlik ölçümünüz doğrudan gerçek benzerliğe karşılık gelmelidir. Metriğiniz yoksa gerekli bilgiler kodlanmıyordur. Önceki örnek, posta kodları gerekli bilgileri kodlamadığı için posta kodlarını enlem ve boylama dönüştürmüştür.

Benzerlik ölçümünüzü oluşturmadan önce verilerinizi dikkatli bir şekilde işleyin. Bu sayfadaki örnekler küçük, basit bir veri kümesine dayalı olsa da gerçek dünyadan kullanılan çoğu veri kümesi çok daha büyük ve karmaşıktır. Niceliğin, sayısal verileri işlemek için iyi bir varsayılan seçim olduğunu unutmayın.