Boyut İndirgeme (Dimensionality Reduction) – 4

Kernel PCA

Destek vektör makinelerinde, nonlineer sınıflandırma yapmamızı sağlayan çekirdek hilesini görmüştük. Çekirdek hilesi benzer şekilde PCA algoritması ile de kullanılabilir ve PCA ile karmaşık nonlineer izdüşümler yapabiliriz.

pca1

Çekirdek ve parametrelerin belirlenmesi için iki yol izleyebiliriz:

  1.  Boyut indirgeme, çoğunlukla bir gözetimli öğrenme görevinin hazırlık aşamalarındandır. O halde, parametreleri, sınıflandırma veya regresyon hatasını minimum yapacak şekilde seçebiliriz. Bunun için Scikit-Learn içerisindeki GridSearchCV metodu kullanılabilir:
    from sklearn.model_selection import GridSearchCV
    from sklearn.linear_model import LogisticRegression
    from sklearn.pipeline import Pipeline
    clf = Pipeline([
           ("kpca", KernelPCA( n_components=2 )),
           ("log_reg", LogisticRegression())
        ])
    param_grid = [{
            "kpca__gamma": np.linspace(0.03, 0.05, 10),
            "kpca__kernel": ["rbf", "sigmoid"]
     }]
    grid_search = GridSearchCV(clf, param_grid, cv=3)
    grid_search.fit(X, y)
    
    >>> print( grid_search.best_params_)
    {'kpca__gamma': 0.043333333333333335, 'kpca__kernel': 'rbf'}
    
  2. İkinci yol, verisetine dönüşüm uygulamak, bu dönüştürülen verisetine ters dönüşüm uygulayıp verisetini yeniden inşa etmek, orjinal veriseti ile yeniden inşa edilen veri seti arasındaki hataya bakmaktır. Parametreler bu hatayı minimum yapacak şekilde belirlenebilir.pca2
    rbf_pca= KernelPCA(n_components=2, kernel="rbf", gamma=0.0433,
            fit_inverse_transform=True)
    X_reduced = rbf_pca.fit_transform(X)
    X_preimage = rbf_pca.inverse_transform(X_reduced)
    
    >>> from sklearn.metrics import mean_squared_error
    >>> mean_squared_error(X, X_preimage)
    32.786308795766132
    

Bir sonraki yazıda görüşmek üzere.

Kaynaklar

  1. Geron, A. (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow Concepts, Tools, and Techniques for Building Intelligent Systems. Sebastopol: OReilly UK Ltd.
Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s