Bir yemek önerisi uygulaması geliştirdiğinizi düşünün. Kullanıcılar favori öğünlerini giriyor ve uygulama da benzer öğünler öneriyor pek çok bilgi edindiniz. Makine öğrenimi (ML) modeli geliştirmek istiyorsanız yiyecek benzerliğini tahmin edebilen, böylece uygulamanız yüksek kaliteli içerikler üretebilir önerileri ("Krepleri sevdiğiniz için krep öneririz").
Modelinizi eğitmek için 5.000 popüler kullanıcı içeren bir veri kümesi borş çorbası dahil olmak üzere yemek ürünleri, sosisli sandviç salata, pizza, ve şavurma.
![Şekil 1. Beş gıda maddesinin çizimleri. Saat yönünde
sol üst: borş çorbası, sosisli sandviç, salata, pizza, şavurma.](https://developers.google.cn/static/machine-learning/crash-course/embeddings/images/food_images.png?authuser=6&hl=tr)
Şunları içeren bir meal
özelliği oluşturursunuz:
tek seferlik kodlama
temsili bir grafik oluşur.
![Şekil 2. Top: Borş çorbası için tek seferlik kodlamanın görselleştirmesi.
[1, 0, 0, 0, ..., 0] vektörü altı kutunun üzerinde gösterilir.
her biri soldan hizalı
sağa doğru düzenleyin. Kutular, soldan sağa
şu resimleri içermelidir: borş çorbası, sosisli sandviç, salata, pizza, [boş],
şavurma. Orta: Sosisli sandviç için tek seferlik kodlamanın görselleştirmesi.
[0, 1, 0, 0, ..., 0] vektörü, her biri altı kutu üzerinde gösterilir.
vektör sayılarından biriyle soldan sağa hizalanır. Kutularda bulunan
borş çorbası görselleştirme için olanla aynı resimleri soldan sağa doğru
bölümünü ziyaret edin. Alt: şavurma için tek seferlik kodlamanın görselleştirmesi. İlgili içeriği oluşturmak için kullanılan
[0, 0, 0, 0, ..., 1] vektörü, her biri hizalı olarak altı kutunun üzerinde görüntülenir
kullanarak soldan sağa doğru düzenleyebilirsiniz. Kutularda bulunan
borş çorbası ve sosisli sandviç için olanlarla aynı resimler soldan sağa
birlikte çalışır.](https://developers.google.cn/static/machine-learning/crash-course/embeddings/images/food_images_one_hot_encodings.png?authuser=6&hl=tr)
Seyrek veri temsillerinin tehlikeleri
Bu tek kullanımlık kodlamaları incelediğinizde, burada temsil eder.
- Ağırlık sayısı. Giriş vektörlerinin büyük olması,
ağırlıklar
nöral ağ için kullanılabilir.
Tek seferlik kodlamanızda M girişleriyle ve N
düğümlerden sonra ağın ilk katmanında yer alıyorsa model,
MxN ağırlıklarını belirtir. Çok sayıda ağırlık başka sorunlara neden olur:
- Veri noktalarının sayısı. Modelinizde ne kadar ağırlık olursa o kadar fazla veri ihtiyacınız olacak.
- İşlem miktarı. Ne kadar ağırlık olursa o kadar hesaplama gerekir kullanmaya karar verebilir. Hesabınızın yeteneklerini aşmak çok kolaydır. donanım.
- Bellek miktarı. Modelinizde ne kadar ağırlık varsa onu eğiten ve sunan hızlandırıcılar için gereklidir. Bunu ölçeklendirme çok zor bir süreçtir.
- Destek vermenin zorluğu cihaz üzerinde makine öğrenimi (ODML) ile ilgili daha fazla bilgi edinin. Makine öğrenimi modelinizi yerel cihazlarda (ör. sunucu yerine modelinizi daha küçük yapmaya odaklanmalı ve daha küçük ağırlık sayısını azaltmak için kullanılır.
- Vektörler arasında anlamlı ilişkiler eksikliği. tek seferlik kodlamalar, yiyecekle ilgili anlamlı bilgiler vermez. benzerliklerini görebiliriz. Matematiksel olarak indeks 1 ("sosisli sandviç") 4999'a ("şavurma") kıyasla indeks 2'ye ("salata") daha yakındır. köpek, salatadan çok şavurma'ya (et ve ekmek içerir) benzer.
Bu modülde, daha düşük boyutlu yerleştirmelerin nasıl oluşturulacağını öğreneceksiniz. hem bu iki sorunu da ele alan seyrek verilerin temsilleridir.