Çevrimiçi vs çevrimdışı öğrenme?


38

Çevrimdışı ve çevrimiçi öğrenme arasındaki fark nedir ? Bu sadece veri kümesinin tamamında (çevrimdışı) veya artımlı olarak öğrenme (bir seferde bir örnek) hakkında mı? Her ikisinde de kullanılan algoritma örnekleri nelerdir?

Yanıtlar:


26

Çevrimiçi öğrenme, veriler gelirken yaptığınız anlamına gelir. Çevrimdışı, statik bir veri kümesine sahip olduğunuz anlamına gelir.

Dolayısıyla, çevrimiçi öğrenme için, (genellikle) daha fazla veriye sahipsiniz, ancak zaman kısıtlamalarınız var. Çevrimiçi öğrenmeyi etkileyebilecek bir diğer kırışıklık, kavramlarınızın zaman içinde değişebileceğidir.

Diyelim ki spam'ı tanımak için bir sınıflandırıcı oluşturmak istiyorsunuz. Büyük bir e-posta topluluğunu edinebilir, etiketleyebilir ve üzerine bir sınıflandırıcı düzenleyebilirsiniz. Bu çevrimdışı öğrenme olurdu. Veya sisteminize gelen tüm e-postaları alabilir ve sınıflandırıcınızı sürekli olarak güncelleyebilirsiniz (etiketler biraz zor olabilir). Bu çevrimiçi öğrenme olurdu.


7
Evet ve küçük bir açıklama, çevrimiçi öğrenme algoritmalarının, en azından Makine Öğrenmesi'nde çalışıldığı gibi, çoğunlukla, örnek saklama yeteneğinizin veri setinin boyutuna kıyasla çok sınırlı olduğu varsayımını ortaya koymasıdır. En sınırlayıcı durumda, bir seferde yalnızca bir örnek görürsünüz ve sınıflandırıcınızı güncellemek için kullandıktan sonra unutmanız gerekir.
Harlan

8

"Çevrimiçi" terimi aşırı yüklenmiştir ve bu nedenle makine öğrenmesi alanında karışıklığa neden olmaktadır.

“Çevrimiçi” in tersi toplu öğrenmedir. Toplu öğrenmede, öğrenme algoritması tüm partiyi tüketdikten sonra parametrelerini güncellerken, çevrimiçi öğrenmede, algoritma 1 eğitim örneğinden öğrendikten sonra parametrelerini günceller. Mini toplu öğrenme, bir uçtaki toplu öğrenme ile diğer uçtaki çevrimiçi öğrenme arasındaki yarı noktadır.

Ayrıca, "ne zaman" veriler gelirse veya depolanıp depolanmayacağına, çevrimiçi veya toplu öğrenmeye diktir.

Çevrimiçi öğrenmenin, toplu öğrenmeye kıyasla bir minimaya yaklaşması daha yavaş olduğu düşünülmektedir. Ancak, tüm veri kümesinin belleğe sığmadığı durumlarda, çevrimiçi öğrenmeyi kullanmak kabul edilebilir bir sonuçtur.


Bunun doğru olduğunu sanmıyorum. Tanımladığınız şey, hem çevrimiçi hem de çevrimdışı sorun ayarları için kullanılabilen, stokastik (veya çevrimiçi) gradyan iniş optimizasyon algoritmasıdır .
danijar

"Veriler gelirken" in çevrimiçi ve çevrimdışı algoritmalar anlamına geldiğine inanıyorum en.wikipedia.org/wiki/Online_algorithm Çevrimiçi öğrenme için belirlenen OP'lerin açıkça bu ayrımı yaptığını hissediyorum. Çevrimiçi Algos -> Veriler girilirken işlenir. Çevrimiçi öğrenme -> Eğitim sırasında temel modeli güncelleyin.
gokul_uf

4

Çevrimiçi öğrenme (ayrıca artımlı öğrenme olarak da adlandırılır ): örneklerin tek bir sunumunu düşünüyoruz. Bu durumda, her bir örnek, öğrenme algoritması tarafından öngörülen şekilde sırayla kullanılır ve sonra atılır. Belirli bir aşamada yapılan kilo değişiklikleri spesifik olarak bağlı ancak (mevcut) Örnek sunulan ve muhtemelen modelinin mevcut durumuna edilir. Örneklerin bir anda bulunamayabileceği zamanla değişen kurallar için doğal bir prosedürdür.

Çevrimdışı öğrenim : ağırlık değişiklikleri tüm (eğitim) veri setine bağlıdır ve bu da global bir maliyet işlevi tanımlar. Örnekler bu maliyet fonksiyonunun en aza indirilmesi sağlanıncaya kadar tekrar tekrar kullanılır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.