Yanıtlar:
Kayıp ne kadar düşükse, bir model o kadar iyi olur (model eğitim verilerine fazla oturmamışsa). Kayıp, eğitim ve validasyonda hesaplanır ve yorumu , modelin bu iki set için ne kadar iyi performans gösterdiğidir. Doğruluğun aksine, kayıp bir yüzde değildir. Eğitim veya doğrulama setlerinde her örnek için yapılan hataların bir toplamıdır.
Sinir ağlarında, kayıp genellikle negatif log olabilirliği ve sırasıyla sınıflandırma ve regresyon için kalan kareler toplamıdır . Daha sonra doğal olarak, bir öğrenme modelindeki temel amaç, sinir ağlarındaki geri çoğaltma gibi farklı optimizasyon yöntemleri yoluyla ağırlık vektör değerlerini değiştirerek, kayıp fonksiyonunun modelin parametrelerine göre değerini azaltmak (en aza indirmek).
Kayıp değeri, belirli bir modelin her optimizasyon yinelemesinden sonra ne kadar iyi veya kötü davrandığını gösterir. İdeal olarak, her bir veya birkaç tekrardan sonra kaybın azalması beklenir.
Doğruluk modeli parametreleri öğrendim ve sabit ve hiçbir öğrenme gerçekleşiyor sonra bir modelin genellikle belirlenir. Daha sonra test örnekleri modele beslenir ve gerçek hedeflerle karşılaştırıldıktan sonra modelin yaptığı hata sayısı (sıfır bir kayıp) kaydedilir. Daha sonra yanlış sınıflandırma yüzdesi hesaplanır.
Örneğin, test örneği sayısı 1000 ise ve model bunların 952'sini doğru bir şekilde sınıflandırırsa, modelin doğruluğu% 95,2'dir.
Kayıp değerini düşürürken bazı incelikler de vardır. Örneğin , modelin eğitim örneklerini "ezberlediği" ve test seti için bir şekilde etkisiz hale geldiği aşırı uyum sorunuyla karşılaşabilirsiniz . Aşırı uydurma , bir düzenlileştirme kullanmadığınız , çok karmaşık bir modeliniz (serbest parametre W
sayısı büyüktür) veya veri noktası sayısının N
çok düşük olduğu durumlarda da ortaya çıkar .
Modelinizin genellikle farklı aşamalarda kullanıldığını değerlendirmek için iki farklı metriktir.
Kayıp, eğitim sürecinde genellikle modeliniz için "en iyi" parametre değerlerini bulmak için kullanılır (örn. Sinir ağındaki ağırlıklar). Ağırlıkları güncelleyerek eğitimde optimize etmeye çalıştığınız şey budur.
Doğruluk daha çok uygulamalı bir bakış açısından. Yukarıdaki optimize edilmiş parametreleri bulduktan sonra, modelinizin tahmininin gerçek verilerle ne kadar doğru olduğunu değerlendirmek için bu metrikleri kullanırsınız.
Bir oyuncak sınıflandırma örneği kullanalım. Cinsiyeti kişinin kilosundan ve boyundan tahmin etmek istiyorsunuz. 3 veriniz var, bunlar şu şekildedir: (0 erkek için stand, 1 kadın için stand)
y1 = 0, x1_w = 50kg, x2_h = 160cm;
y2 = 0, x2_w = 60kg, x2_h = 170cm;
y3 = 1, x3_w = 55kg, x3_h = 175cm;
Y = 1 / (1 + exp- (b1 * x_w + b2 * x_h)) olan basit bir lojistik regresyon modeli kullanıyorsunuz
B1 ve b2'yi nasıl bulursunuz? önce bir kayıp tanımlar ve b1 ve b2'yi güncelleyerek kaybı yinelemeli bir şekilde en aza indirmek için optimizasyon yöntemini kullanırsınız.
Örneğimizde, bu ikili sınıflandırma problemi için tipik bir kayıp şunlar olabilir: (toplama işaretinin önüne bir eksi işareti eklenmelidir)
B1 ve b2'nin ne olması gerektiğini bilmiyoruz. Rastgele bir tahmin yapalım diyelim ki b1 = 0.1 ve b2 = -0.03. Peki şimdi bizim kaybımız nedir?
yani kayıp
Sonra öğrenme algoritması (örneğin, gradyan iniş) kaybı azaltmak için b1 ve b2 güncellemek için bir yol bulacaksınız.
Eğer b1 = 0.1 ve b2 = -0.03 son b1 ve b2 ise (gradyan kökenli çıkış), şimdi doğruluk nedir?
Diyelim ki y_hat> = 0.5, tahminimizin kadın olduğuna karar veriyoruz (1). aksi takdirde 0 olur. Bu nedenle, algoritmamız y1 = 1, y2 = 1 ve y3 = 1'i tahmin eder. Doğruluk nedir? Y1 ve y2 üzerinde yanlış tahmin yapıyoruz ve y3 üzerinde doğru tahmin yapıyoruz. Şimdi isabetliliğimiz 1/3 = 33.33%
Not: Amir'in cevabında geri yayılmanın NN'de bir optimizasyon yöntemi olduğu söyleniyor. Bence NN'de ağırlıklar için eğim bulmanın bir yolu olarak değerlendirilecek. NN'de yaygın optimizasyon yöntemi GradientDescent ve Adam'dır.
@Aadnan Sadece Eğitim / Doğrulama / Test veri setlerini açıklığa kavuşturmak için: Eğitim seti, sinir ağının ağırlıklarını başlatan modelin ilk eğitimini gerçekleştirmek için kullanılır.
Doğrulama seti, sinir ağı eğitildikten sonra kullanılır. Ağın hiperparametrelerini ayarlamak ve bunlarda yapılan değişikliklerin modelin öngörme doğruluğunu nasıl etkilediğini karşılaştırmak için kullanılır. Eğitim seti, sinir ağının kapı ağırlıklarını oluşturmak için kullanıldığı düşünülebilirken, doğrulama seti sinir ağı modelinin parametrelerinin veya mimarisinin ince ayarını yapmayı sağlar. Parametre / mimari değişikliklerinin ağın tahmin gücünü nasıl etkilediğini gözlemlemek için, bu farklı parametrelerin / mimarilerin aynı veri ve ağ ağırlıklarıyla tekrarlanabilir bir şekilde karşılaştırılmasına izin verdiği için faydalıdır.
Daha sonra test seti, eğitim ve doğrulama veri setleri ile eğitim ve parametre / mimari seçiminden sonra, daha önce görülmemiş veriler üzerinde eğitimli sinir ağının tahmini doğruluğunu test etmek için kullanılır.