Amazon MLA-C01: Model Değerlendirmesi ve Seçimi — Çalışma kılavuzu
Şunun bir parçası: AWS Machine Learning Engineer Associate MLA-C01 — Çalışma kılavuzu. Doğrulanmış cevaplarla şurada pratik yapın: Amazon sınav merkezi, veya şurada süreli deneme sınavları çözün: ExamRoll.io.
Doğru model değerlendirmesi, iş hedefine ve sınıf/etiket özelliklerine uygun metriklerin seçilmesiyle başlar. İkili sınıflandırma için, kesinlik (precision) (TP / (TP+FP)), duyarlılık (recall veya sensitivity) (TP / (TP+FN)), özgüllük (specificity) (TN / (TN+FP)) ve doğruluk (accuracy) ((TP+TN) / toplam) metriklerinin türetildiği kanonik ilkel olan karmaşıklık matrisi — doğru pozitifler, yanlış pozitifler, yanlış negatifler, doğru negatifler — temel alınır. Kesinlik ve duyarlılık, harmonik ortalama olan ve yanlış pozitifler ile yanlış negatifler arasındaki dengeyi vurgulayan F1 skorunda (2 * kesinlik * duyarlılık / (kesinlik + duyarlılık)) yakalanan bir ödünleşim oluşturur. Sınıf dengesizliği şiddetli olduğunda, doğruluk yanıltıcı olabilir; ROC eğrisi altındaki alan (AUC), eşik değerleri arasındaki ayrılabilirliği ölçer ve birçok durumda dengesizliğe karşı dayanıklıdır, pozitif sınıf yaygınlığı düşük olduğunda ise kesinlik-duyarlılık AUC (AUPRC) daha bilgilendiricidir. Regresyon için, kök ortalama kare hatası (RMSE) daha büyük hataları karesel olarak cezalandırır ve aykırı değerlere duyarlıdır; aykırı değerlere karşı dayanıklılık tercih edildiğinde ortalama mutlak hata (MAE) kullanın.
Eşik değeri seçimi operasyonel bir karardır: birçok algoritma bir olasılık skoru üretir ve bunu sınıf etiketlerine dönüştürmek için bir eşik değeri gerektirir. F1 veya iş ağırlıklı bir maliyet fonksiyonu gibi seçilen bir hedefi en üst düzeye çıkaran eşik değerlerini bulmak için ROC ve kesinlik-duyarlılık eğrilerini kullanın. Pratik metodoloji, karmaşıklık matrisinden her eşik değeri için kesinlik, duyarlılık ve F1’i hesaplamak ve ardından hedef bir kesinlik veya duyarlılık kısıtını karşılayan eşik değerini seçmektir. Çapraz doğrulama (Cross-validation), metrik tahminlerindeki varyansı azaltarak bunu tamamlar: dengesiz sınıflandırma için katmanlar (fold) arasında sınıf oranlarını korumak amacıyla katmanlı K-katlama (stratified K-fold) kullanın. Kodda, scikit-learn’ün StratifiedKFold’u,
undefined
ve
undefined
parametreleri ve sabit bir
undefined
ile tekrarlanabilir katmanlar oluşturur; beklenen varyansı ölçmek için her katmanın metriklerini kaydedin ve ortalamaları ile standart sapmaları toplayın. SageMaker kullanırken, CV çalışmalarını ayrı eğitim işleri olarak düzenleyebilir ve bunları SageMaker Experiments API’leri ile takip edebilirsiniz: her katman için
undefined
,
undefined
,
undefined
ve ardından
undefined
ve
undefined
kullanın.
Yanlılık-varyans ödünleşimi (bias–variance trade-off), model karmaşıklığı ve regülarizasyon seçimlerine rehberlik eder. Yüksek yanlılığa (bias) sahip modeller yetersiz öğrenir (underfit) ve eğitim ile doğrulama setlerinde yüksek hata üretirken, yüksek varyanslı modeller aşırı öğrenir (overfit) ve düşük eğitim hatasına ancak yüksek doğrulama hatasına sahiptir. Yanlılığı, model kapasitesini artırarak, bilgilendirici özellikler ekleyerek veya regülarizasyon gücünü azaltarak giderin; varyansı, regülarizasyon (L1/L2) ekleyerek, karmaşıklığı azaltarak, dropout kullanarak veya eğitim verisini artırarak giderin. Varyansı tespit etmek için çapraz doğrulama tahminlerini kullanın: katman metrikleri arasındaki büyük yayılım, yüksek varyans anlamına gelir. SageMaker’de yinelemeli eğitim için, erken durdurmayı (early stopping) dahil edin (XGBoost için
undefined
hiperparametresini ve
undefined
veya
undefined
ayarlayın) ve
undefined
içinde arama yapmak için Bayesçi bir strateji ile SageMaker Otomatik Model Ayarlaması’nı kullanın;
undefined
‘ı
undefined
,
undefined
veya
undefined
,
undefined
,
undefined
ve
undefined
ile yapılandırın.
Anahtar hizmetler ve yapılandırma
AWS hizmetleri, deneyleri izlemek, modelleri kaydetmek, sapmayı (drift) tespit etmek ve dağıtım güvenlik önlemlerini (guardrails) uygulamak için sıkı bir şekilde entegre edilmiş bir araç zinciri oluşturur. Çalışmaları organize etmek için Amazon SageMaker Experiments’ı kullanın; hiperparametreleri ve metrikleri kalıcı kılmak için
undefined
,
undefined
ve
undefined
çağrılarını yapın. Merkezi model yaşam döngüsü yönetimi için SageMaker Model Registry’yi (
undefined
ve
undefined
) kullanın ve “PendingManualApproval”, “Approved” ve “Rejected” gibi değerleri destekleyen
undefined
model paketi özelliği aracılığıyla dağıtım akışını kontrol edin. Bir AWS Lambda veya Step Functions insan onay eyleminden
undefined
çağrısı yaparak
undefined
durumunu değiştirerek manuel onayları bir CI/CD akışına entegre edin.
Dağıtım sonrası izleme ve yanlılık/sapma tespiti için SageMaker Model Monitor ve SageMaker Clarify kullanın. Bir uç noktada (endpoint) gerçek zamanlı veri yakalamayı etkinleştirmek için
undefined
veya
undefined
çağrısında
undefined
‘ı ayarlayın; temsili yükleri (payload) toplamak için
undefined
,
undefined
ve
undefined
‘ı belirtin. Bir referans veri setinden
undefined
(
undefined
ve
undefined
JSON) oluşturmak için Model Monitor
undefined
‘u kullanın ve ardından bir
undefined
,
undefined
(cron veya rate) ve
undefined
ile
undefined
gibi
undefined
sağlayarak
undefined
ile bir izleme zamanlaması oluşturun. Adalet ve yanlılık için, SageMaker Clarify’ı
undefined
parametreleri
undefined
ve
undefined
ile bir
undefined
olarak kullanın veya bir Processing işinde SageMaker Clarify yerleşik özelliğini kullanın ve sonuçları gösterge panoları (dashboard) için S3’te kalıcı hale getirin.
Veri toplama, özellik hazırlama ve anomali tespiti için çeşitli AWS yetenekleri genellikle birlikte kullanılır:
- Depolama ve güvenli izolasyon için Amazon S3 (bucket policy’leri, S3 Genel Erişimi Engelleme ve SSE-KMS aracılığıyla KMS şifrelemesi).
- S3 ve JDBC kaynaklarından veri setlerini keşfetmek, birleştirmek ve kataloglamak için AWS Glue ve AWS Glue Data Catalog.
- Sürükle-bırak dönüşümleri ve dağılımların, eksik değerlerin ve çarpıklığın (skew) otomatik görselleştirilmesi için Amazon SageMaker Data Wrangler.
undefined
ve
undefined
API’leri ile çevrimiçi ve çevrimdışı özellik sunumu ve eğitim/sunum özelliklerinde tutarlılık için Amazon SageMaker Feature Store.
- Sapma (drift), yanlılık (bias) ve izleme için SageMaker Model Monitor ve SageMaker Clarify.
- Uygun durumlarda otomatik zaman serisi anomali tespiti için Amazon Lookout for Metrics.
Tasarım desenleri ve ödünleşimler
Operasyonel yükün en aza indirilmesi gerektiğinde, özel ETL veya özel izleme ardışık düzenleri (pipeline) oluşturmak yerine yönetilen hizmetleri ve yerleşik algoritma özelliklerini tercih edin. Örneğin, dolandırıcılık tespiti için bir ikili sınıflandırıcı (binary classifier) eğitiliyorsa, XGBoost, SageMaker’da düşük gecikmeli eğitim ve dengesizlik için özel olarak ayarlanmış hiperparametreler sunan verimli bir yerleşik seçenektir. Örneğin, scale_pos_weight hiperparametresini (negatif_sayısı / pozitif_sayısı) olarak ayarlamalısınız. XGBoost hiperparametrelerini Estimator’da veya eğitim konteynerinde yapılandırın: objective='binary:logistic', eval_metric='aucpr' veya 'auc' ve gürültülü (noisy) çalışmaları sonlandırmak için early_stopping_rounds. Bu, alana özgü sentetik örnekleme gerekmedikçe özel aşırı örnekleme (oversampling) ardışık düzenleri (SMOTE) oluşturmaktan kaçınmanızı sağlar.
Öznitelik mühendisliği (feature engineering) için, kodlama (encoding) dönüşümlerini uygulamak (düşük kardinaliteye sahip kategorik öznitelikler için one-hot, yüksek kardinaliteye sahip öznitelikler için ordinal/label encoding veya target encoding) ve ardından temizlenmiş öznitelikleri SageMaker Feature Store veya S3’e somutlaştırmak (materialize) için SageMaker Data Wrangler’ı kullanın. Data Wrangler, operasyonel yükün büyük bir kısmını ortadan kaldırır ve yeniden kullanabileceğiniz betikler (script) veya işleme işleri (processing job) üretir. Minimum çabayla otomatik model seçimine ihtiyacınız varsa, SageMaker Autopilot karma kategorik ve sayısal öznitelikleri otomatik olarak ön işleyebilir ve aday modeller oluşturabilir; ancak Autopilot, dönüşümleri soyutlar ve özel öznitelik rejimleri için optimal olmayabilir.
Metrikler, yapıtlar (artifact) ve köken (lineage) kaydedildiğinde model karşılaştırma ve tanıtım (promotion) en sağlam şekilde çalışır. Çalıştırmaları (run) karşılaştırmak için SageMaker Experiments’ı kullanın, ardından bir ModelPackageGroup içinde bir ModelPackage oluşturun. ModelPackageApprovalStatus’u “Approved” olarak ayarlayarak tanıtım yapın ve model paketi ARN’sine referans veren bir EndpointConfig oluşturun. İnsan kontrolünün gerekli olduğu durumlarda, modeli “PendingManualApproval” durumunda bırakın ve onu “Approved” durumuna taşımak için UpdateModelPackage’ı çağıran bir onay eylemi (approval action) ile Step Functions veya AWS CodePipeline kullanarak bir insan onay iş akışı bağlayın.
Sık karşılaşılan tuzaklar ve karar kriterleri
Sık karşılaşılan bir tuzak, altta yatan sorun veri kayması (data drift) olduğunda üretimdeki F1 skorundaki düşüşü model hatasıyla karıştırmaktır. Dağıtımdan aylar sonra F1 skorunda sürekli bir düşüşün en olası nedeni, ani bir hatadan ziyade girdi dağılımı kayması (input distribution drift) veya etiket kaymasıdır (concept drift). Teşhis koymak için, istek ve yanıt yüklerini S3’e yakalamak üzere uç noktada (endpoint) DataCaptureConfig’i etkinleştirin, temel kısıtlamalara (baseline constraints) karşı Model Monitor izleme programlarını (monitoring schedules) çalıştırın ve özellik dağılım istatistiklerini ve PSI’ı (population stability index) hesaplayın. Ayrıca, adalet metriklerini (fairness metrics) etkileyen kaymaları tespit etmek için Clarify veri kayması ve yanlılık (bias) kontrollerini çalıştırın.
Diğer bir sık yapılan hata, zamansal sızıntıyı (temporal leakage) veya iş maliyetlerini hesaba katmadan naif bir şekilde yeniden örnekleme (resampling) yaparak sınıf dengesizliğini yanlış yönetmektir. Yinelenen örnekler ekleyebilecek örnekleme stratejilerine geçmeden önce, öncelikle algoritma düzeyindeki kontrolleri tercih edin — XGBoost için scale_pos_weight’i ayarlayın ve eval_metric’i aucpr veya özel bir hedefe (custom objective) göre ayarlayın. Tekrarlanabilirlik ve deney takibi için, hiperparametreleri ve metrikleri kaydetmek (log) üzere her zaman SageMaker Experiments API’lerini kullanın ve yükseltmelerin denetlenebilir olması için model paketlerini yapıt URI’leri (artifact URIs) ve köken meta verileri (provenance metadata) ile kaydedin.
Pratik Problem: Kullanım Senaryosu
Şirket: FinSight Inc. — Amazon S3 ve şirket içi (on-premises) MySQL’deki verilerle çevrimiçi işlemler için dolandırıcılık tespiti. Gereksinimler: güvenli veri izolasyonu, otomatik anomali tespiti ve görselleştirme, üretim dağıtımı öncesi manuel onay, yinelemeli eğitim için düşük başlatma gecikmesi ve minimum operasyonel yük ile merkezi model sürümleme.
Veri toplama ve güvenlik: S3 işlem loglarını taramak ve Glue Catalog tabloları oluşturmak için AWS Glue kullanın, SSE-KMS ile bucket şifrelemesini ayarlayın ve IAM politikaları ve VPC uç noktaları (endpoints) aracılığıyla erişimi kısıtlayın. Şirket içi MySQL için, güvenli bir VPN veya AWS Direct Connect ile bir VPC içinde AWS Glue JDBC bağlantısı kullanın veya gerekli tabloları bir S3 hazırlık bölgesine (landing zone) çoğaltmak için AWS DMS kullanın. Veri kümelerini Glue Data Catalog’a kaydedin ve SageMaker yürütme rollerine (execution roles) en az ayrıcalıklı erişim (least-privilege access) verin.
Özellik hazırlama ve anomali tespiti: Glue Catalog’a ve S3 hazırlık bölgesine bağlanmak için Amazon SageMaker Data Wrangler kullanın, dönüşümleri (eksik değer doldurma, kategorik değişkenler için etiket kodlama, sayısallar için ölçekleme) uygulayın ve dağılımları görselleştirmek ve anormallikleri işaretlemek için Data Wrangler’ın yerleşik profil oluşturma özelliğini çalıştırın. İşlenmiş özellikleri eğitim için SageMaker Feature Store çevrimdışı deposuna (offline store) ve çıkarım sırasında düşük gecikmeli aramalar için çevrimiçi depoya (online store) aktarın.
Model eğitimi ve başlatma gecikmesini en aza indirme: objective=‘binary:logistic’, eval_metric=‘aucpr’ ile XGBoost için SageMaker Estimator kullanın ve scale_pos_weight=(neg_count/pos_count) olarak ayarlayın. Yinelemeli eğitim işlerinde başlatma gecikmesini azaltmak için, Data Wrangler çıktılarını S3’te önbelleğe alın ve veri alımını her seferinde yeniden oluşturmak yerine aynı eğitim konteyner imajını ve örnek türünü yeniden kullanın; girdileri/hiperparametreleri değişmeyen tekrarlanan adımların altyapı başlatmasını atlaması için cache_config etkinleştirilmiş SageMaker Pipelines kullanın.
Deney takibi ve model seçimi: Her eğitim çalışmasını SageMaker Experiments (CreateExperiment, CreateTrial, LogMetric) ile enstrümante edin. En iyi hiperparametreleri bulmak için objective_metric_name=‘validation:aucpr’, objective_type=‘Maximize’, strategy=‘Bayesian’, max_jobs ve max_parallel_jobs ile yapılandırılmış HyperparameterTuner kullanın. Modelleri Experiments’te karşılaştırın ve seçilen adayları bir ModelPackageGroup içinde bir ModelPackage oluşturarak SageMaker Model Registry’ye kaydedin.
Manuel onay ve dağıtım kapısı (gating): Yeni oluşturulan model paketlerini ModelPackageApprovalStatus=‘PendingManualApproval’ durumunda bırakın. İnsan onayı görevi içeren bir AWS Step Functions iş akışı veya bir AWS CodePipeline onay eylemi kullanın; onaylandıktan sonra, onayı ‘Approved’ olarak ayarlamak için UpdateModelPackage’ı çalıştırın ve bir EndpointConfig oluşturulmasını ve dağıtımı gerçekleştirmek için UpdateEndpoint’i otomatik olarak tetikleyin.
İzleme, yanlılık (bias) ve kayma (drift): Gerçek zamanlı uç noktada (endpoint) Input ve Output için CaptureOptions, DestinationS3Uri ve SamplingPercentage ile DataCaptureConfig’i etkinleştirin. Eğitim veri setinden Model Monitor’ün GenerateBaseline’ı ile temel istatistikler oluşturun ve create_monitoring_schedule ile sürekli izleme planlayın. Yanlılık ve veri kayması metriklerini hesaplamak için SageMaker Clarify’ı düzenli olarak bir işleme işi (processing job) olarak çalıştırın. F1 skoru temel kısıtlamaların altına düşerse, Experiments’te yeni çalışmaları kaydeden ve insan incelemesi için yeni model paketleri üreten otomatik bir yeniden eğitim ardışık düzenini (SageMaker Pipeline) tetiklemek için Model Monitor uyarılarını kullanın.
AWS gerekçesi: Bu yaklaşım, yönetilen SageMaker yeteneklerini kullanır—ön işleme yükünü en aza indirmek için Data Wrangler ve Feature Store, karmaşık yeniden örnekleme olmadan dengesizliği ele almak için scale_pos_weight ile XGBoost, denetlenebilir deney ve model yaşam döngüsü yönetimi için SageMaker Experiments ve Model Registry, otomatik kayma ve adalet tespiti için DataCaptureConfig artı Model Monitor ve Clarify ve gerekli manuel onay kapısını sağlamak için Model Registry ile entegre Step Functions/CodePipeline. Bu hizmetler bir araya gelerek güvenlik, izlenebilirlik ve model performans düşüşüne yanıt verme yeteneğini korurken operasyonel yükü en aza indirir.
← Model Eğitimi ve Hiperparametre Optimizasyonu · Tüm alanlar · Model Dağıtımı ve Çıkarım →
Bu soruları çözün → · ExamRoll.io’da süreli pratik →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Sınavınızı geçin →