30

Bir makine öğrenme görevi için özelliklerin nasıl sağlanabileceğini öğrenmek için bazı tavsiyeleriniz var mıdır? Sinir ağı için bile iyi giriş özellikleri önemlidir. Seçilen özellikler gereken gizli nöron sayısını ve gerekli sayıda eğitim örneğini etkileyecektir.Makine öğrenimi için özellikler nasıl oluşturulur

Aşağıdaki örnek bir sorun, ancak genel olarak özellik mühendisliği ile ilgileniyorum.

bir motivasyon örneği: bir bulmaca (örneğin 15-puzzle veya Sokoban) bakarken Ne iyi girdi olurdu? İki devletten hangisinin hedefe daha yakın olduğunu bilmek mümkün mü?

cevap

46

İyi özellik mühendisliği iki bileşenden oluşur. Birincisi, çözmeye çalıştığınız görevin özelliklerini ve kullanmakta olduğunuz sınıflandırıcıların güçlü yönleri ve sınırlamaları ile nasıl etkileşimde bulunabileceklerini anlamaktır. İkincisi, beklentilerinizi test edeceğiniz ve aslında neyin işe yarayıp neyin işe yaramadığını öğreneceğiniz deneysel bir çalışmadır. Sorunun Kişisel yukarıdan aşağı anlayış deneyleri motive ve daha sonra bu deneyler için öğrenmek aşağıdan yukarıya bilgiler sorunun daha iyi anlaşılmasını sağlamak yardımcı olur:

Bu

iteratif yapılabilir. Sorunun daha derin anlaşılması daha sonra daha fazla deney yapabilir. Sınıflandırıcınıza

için

Montaj Özellikleri Diyelim ki logistic-regression gibi basit bir doğrusal sınıflandırıcı veya lineer çekirdeğimiz SVM kullandığınızı varsayalım. Ölçülebilir ve sınıflandırıcıya girdi olarak sağlayabileceğiniz çeşitli özellikler arasında ilginç etkileşimler olabileceğini düşünüyorsanız, bu etkileşimleri yakalayan özellikleri manuel olarak oluşturup sağlamanız gerekir. Ancak, bir polinom veya Gauss çekirdeği olan bir SVM kullanıyorsanız, giriş değişkenleri arasındaki etkileşimler modelin yapısı tarafından zaten yakalanacaktır.

Benzer şekilde, bazı giriş değişkenleri diğerlerine göre çok daha büyük bir değerler aralığına sahipse, SVM'ler kötü performans gösterebilir (örneğin, çoğu özellik 0 veya 1 değerini alır, ancak bir özellik -1000 ile 1000 arasında bir değer alır) . Dolayısıyla, bir SVM için özellik mühendisliği yaparken, özelliklerin değerlerini sınıflandırıcıya sunmadan önce normalleştirmeyi deneyebilirsiniz. Ancak, decision trees veya random forests kullanıyorsanız, bu sınıflandırıcılar çeşitli özelliklerin üstündeki değerler arasındaki büyüklük farklılıklarına karşı dayanıklı olduğundan, bu normalleştirme gerekli değildir.

Notlar Özellikle, karmaşık hal alan ile ilgili bir sorun çözme bakıyorsanız

Çözme Puzzle, sen Q-learning gibi reinforcement learning yaklaşım kullanmak isteyebilirsiniz. Bu, sistem tarafından bir dizi ara adımın bir hedefe ulaşmasını içeren öğrenme görevlerinin yapılandırılmasına yardımcı olur.

+0

Kitapta belirtilen özellikler arasındaki etkileşimlerin tanınması tanıyor mu? Girişten bir şeyin eksik olduğunu nasıl anlayabilirim? İstatistik ders kitaplarının çoğunda –

+0

etkileşimler belirtilmelidir. Ancak, Wikipedia'da iyi bir genel bakış var: http://en.wikipedia.org/wiki/Interaction_%28statistics%29. – dmcer

+6

Girdiden eksik olan şeylere gelince, 'doğru özelliklere sahip olup olmadığımı nasıl anlarım?Sınıflandırıcınız için düzenli hale getirme şeklini değiştirirseniz ve performans hala eğitim verilerinde kötü ise, muhtemelen daha fazla özellik için beyin fırtınası yapmaya çalışmalısınız. Bununla birlikte, antrenman seti performansınız iyi olduğunda, ancak test seti performansınız kötü olduğunda, eğitim setine çok yakışırsınız ve bazı özellikleri kaldırmak ve/veya düzenli hale getirmek isteyeceksiniz. – dmcer

İlgili konular