Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence'da grafik makine öğrenimini kullanarak kurumsal bir kredi derecelendirme sınıflandırıcısı oluşturun. Dikey Arama. Ai.

Amazon SageMaker JumpStart'ta grafik makine öğrenimini kullanarak bir kurumsal kredi derecelendirme sınıflandırıcısı oluşturun

Bugün, finansal grafik makine öğrenimi (ML) için yeni bir çözümü piyasaya sürüyoruz. Amazon SageMaker Hızlı Başlangıç. JumpStart, ML ile hızlı bir şekilde başlamanıza yardımcı olur ve yalnızca birkaç tıklamayla eğitilebilen ve dağıtılabilen en yaygın kullanım durumları için bir dizi çözüm sunar.

Yeni JumpStart çözümü (Grafik Tabanlı Kredi Puanlama), SEC dosyalarından (uzun biçimli metin verileri) bir şirket ağının nasıl oluşturulacağını, bunun finansal oranlarla (tablo verileri) nasıl birleştirileceğini ve kredi oluşturmak için grafik sinir ağlarının (GNN'ler) nasıl kullanılacağını gösterir. derecelendirme tahmin modelleri. Bu gönderide, tamamen özelleştirilebilir bu çözümü kredi puanlaması için nasıl kullanabileceğinizi açıklıyoruz, böylece grafik makine öğrenimi yolculuğunuzu hızlandırabilirsiniz. Graph ML, ağ verilerinin geleneksel tablo veri kümeleriyle birlikte kullanılmasına olanak sağladığı için finansal ML için verimli bir alan haline geliyor. Daha fazla bilgi için, bkz WSDM'de Amazon: Grafik sinir ağlarının geleceği.

Çözüme genel bakış

Bu çözümde CorpNet (kurumsal ağ kısaltması) olarak gösterilen bir grafik oluşturabileceğiniz iş bağlantıları hakkındaki verilerden yararlanarak kredi puanlamasını iyileştirebilirsiniz. Ardından, ağ ilişkilerindeki bilgileri daha fazla kullanarak daha iyi bir ML modeli oluşturup oluşturamayacağınızı görmek için bu grafikte GNN'leri ve düğümler için bir tablo özelliği kümesini kullanarak grafik ML sınıflandırması uygulayabilirsiniz. Bu nedenle bu çözüm, tedarik zinciri ilişki grafikleri, sosyal ağ grafikleri ve daha fazlasını kullanmak gibi ağ verilerinden yararlanan iş modelleri için bir şablon sunar.

Çözüm, bir kurumsal ağ kurarak ve sentetik finansal veriler üreterek birkaç yeni yapı geliştirir ve grafik ML kullanarak modeller oluşturmak için her iki veri biçimini birleştirir.

Çözüm, SEC 10-K/Q dosyalarından MD&A bölümünü kullanarak bağlı şirketler ağının nasıl oluşturulacağını gösterir. Benzer ileriye dönük beyanlara sahip şirketlerin kredi olayları için bağlantı kurması muhtemeldir. Bu bağlantılar bir grafikte gösterilir. Grafik düğüm özellikleri için çözüm, Altman Z-skor modelindeki değişkenleri ve her bir firmanın endüstri kategorisini kullanır. Bunlar, gösterim amacıyla kullanıma sunulan sentetik bir veri kümesinde sağlanır. Grafik verileri ve tablo verileri, GNN'ler kullanılarak bir derecelendirme sınıflandırıcısına uyması için kullanılır. Açıklama amacıyla, grafik bilgisi olan ve olmayan modellerin performansını karşılaştırıyoruz.

Grafik Tabanlı Kredi Puanlama çözümünü kullanın

JumpStart'ı kullanmaya başlamak için bkz. Amazon SageMaker'ı kullanmaya başlama. Grafik Tabanlı Kredi Puanlama çözümü için Hızlı Başlangıç ​​kartına şuradan ulaşılabilir: Amazon SageMaker Stüdyosu.

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence'da grafik makine öğrenimini kullanarak kurumsal bir kredi derecelendirme sınıflandırıcısı oluşturun. Dikey Arama. Ai.

  1. Model kartını seçin, ardından Başlatmak Çözümü başlatmak için.
    Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence'da grafik makine öğrenimini kullanarak kurumsal bir kredi derecelendirme sınıflandırıcısı oluşturun. Dikey Arama. Ai.

Çözüm, çıkarım için bir model ve bir not defteriyle kullanılacak bir uç nokta oluşturur.

  1. Hazır olana ve durum şu şekilde görünene kadar bekleyin: Complete.
  2. Klinik Not Defterini Aç eğitim ve uç nokta dağıtımı için olan ilk not defterini açmak için.
    Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence'da grafik makine öğrenimini kullanarak kurumsal bir kredi derecelendirme sınıflandırıcısı oluşturun. Dikey Arama. Ai.

Bu çözümü nasıl kullanacağınızı öğrenmek için bu not defteri üzerinde çalışabilir ve ardından kendi verileriniz üzerinde diğer uygulamalar için onu değiştirebilirsiniz. Çözüm, sentetik verilerle birlikte gelir ve modeli eğitmek, bir uç noktaya dağıtmak ve ardından çıkarım için uç noktayı çağırmak için gereken adımları örneklemek için bunun bir alt kümesini kullanır. Not defteri ayrıca kendi uç noktanızı dağıtmak için kod içerir.

  1. İkinci not defterini açmak için (çıkarım için kullanılır), Not Defterinde Uç Noktayı Kullan bitiş noktası yapıtının yanında.

Bu not defterinde, bir grup örnek üzerinde çıkarım gerçekleştirmek için örnek uç noktasını çağırmak için verilerin nasıl hazırlanacağını görebilirsiniz.
Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence'da grafik makine öğrenimini kullanarak kurumsal bir kredi derecelendirme sınıflandırıcısı oluşturun. Dikey Arama. Ai.

Uç nokta, çıkarım defterinin son kod bloğunun aşağıdaki ekran görüntüsünde gösterildiği gibi, model performansını değerlendirmek için kullanılan tahmini derecelendirmeleri döndürür.
Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence'da grafik makine öğrenimini kullanarak kurumsal bir kredi derecelendirme sınıflandırıcısı oluşturun. Dikey Arama. Ai.

Bu çözümü, grafikle geliştirilmiş bir kredi derecelendirme modeli için şablon olarak kullanabilirsiniz. Bu örnekteki özellik kümesiyle sınırlı değilsiniz; kendi kullanım durumunuz için hem grafik verilerini hem de tablo verilerini değiştirebilirsiniz. Gerekli kod değişikliklerinin kapsamı minimumdur. Çözümün yapısını anlamak için şablon örneğimizi incelemenizi ve ardından gerektiği gibi değiştirmenizi öneririz.

Bu çözüm yalnızca tanıtım amaçlıdır. Finansal tavsiye değildir ve finansal veya yatırım tavsiyesi olarak güvenilmemelidir. Eğitimli model de dahil olmak üzere ilişkili not defterleri sentetik veriler kullanır ve üretim amaçlı kullanım için tasarlanmamıştır. SEC dosyalarından alınan metinler kullanılsa da, finansal veriler sentetik ve rastgele oluşturulur ve herhangi bir şirketin gerçek finansallarıyla hiçbir ilgisi yoktur. Bu nedenle, sentetik olarak oluşturulan derecelendirmelerin, herhangi bir gerçek şirketin gerçek derecelendirmesiyle de bir ilişkisi yoktur.

Çözümde kullanılan veriler

Veri kümesi, çeşitli muhasebe oranları (sayısal) ve endüstri kodları (kategorik) gibi sentetik tablo verileri içerir. veri kümesi vardır 𝑁=3286 satır. Derecelendirme etiketleri de eklenir. Bunlar, grafik ML ile kullanılacak düğüm özellikleridir.

Veri kümesi ayrıca, yönlendirilmemiş ve ağırlıklandırılmamış bir kurumsal grafik içerir. Bu çözüm, bağlantıların eklenme şeklini değiştirerek grafiğin yapısını ayarlamanıza olanak tanır. Tablo veri kümesindeki her şirket, kurumsal grafikte bir düğüm ile temsil edilir. İşlev construct_network_data() kaynak düğümlerin ve hedef düğümlerin listelerini içeren grafiğin oluşturulmasına yardımcı olur.

Derecelendirme etiketleri, tüm derecelendirmeler için çok kategorili veya ikili olabilen, yatırım derecesi (AAA, AA, A, BBB) ve yatırım dışı not (BB, B, CCC, CC, C, D). D burada varsayılan anlamına gelir.

Verileri okumak ve çözümü çalıştırmak için tam kod, çözüm not defterinde sağlanır. Aşağıdaki ekran görüntüsü, sentetik tablo verilerinin yapısını göstermektedir.

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence'da grafik makine öğrenimini kullanarak kurumsal bir kredi derecelendirme sınıflandırıcısı oluşturun. Dikey Arama. Ai.

Grafik bilgisi aktarılır. Derin Grafik Kitaplığı ve ML grafiğini üstlenmek için tablo verileriyle birleştirilir. Kendi grafiğinizi getirirseniz, onu bir dizi kaynak düğüm ve hedef düğüm olarak sağlamanız yeterlidir.

Model eğitimi

Karşılaştırma için, önce bir modeli yalnızca aşağıdakileri kullanarak tablo verileri üzerinde eğitiriz: Otomatik Gluon, şirketlerin kredi notuna geleneksel yaklaşımı taklit ediyor. Daha sonra grafik verilerini ekliyoruz ve eğitim için GNN'leri kullanıyoruz. Tüm ayrıntılar not defterinde verilmiştir ve bu gönderide kısa bir genel bakış sunulmaktadır. Not defteri ayrıca seçilen referanslarla grafik ML'ye hızlı bir genel bakış sunar.

GNN eğitimi aşağıdaki gibi yapılır. uyarlamasını kullanıyoruz. GraphSAGE modeli Derin Grafik Kitaplığında uygulandı.

  1. Grafik verilerini oku Amazon Basit Depolama Hizmeti (Amazon S3) ve CorpNet için kaynak ve hedef düğüm listelerini oluşturun.
  2. Grafik düğümü özellik setlerini okuyun (eğitim ve test). Verileri gerektiği gibi normalleştirin.
  3. Ayarlanabilir hiperparametreleri ayarlayın. Hiperparametre optimizasyonu (HPO) olmadan GNN'ye uyması için PyTorch çalıştıran özel grafik ML kapsayıcısını çağırın.
  4. HPO ile ML grafiğini tekrarlayın.

Uygulamayı basit ve istikrarlı hale getirmek için, aşağıdaki kodu kullanarak bir kapsayıcıda model eğitimi çalıştırıyoruz (bu eğitim kodundan önceki kurulum kodu, çözüm not defterindedir):

from sagemaker.pytorch import PyTorch
from time import strftime, gmtime training_job_name = sagemaker_config["SolutionPrefix"] + "-gcn-training"
print( f"You can go to SageMaker -> Training -> Hyperparameter tuning jobs -> a job name started with {training_job_name} to monitor training job status and details."
) estimator = PyTorch( entry_point='train_dgl_pytorch_entry_point.py', source_dir='graph_convolutional_network', role=role, instance_count=1, instance_type='ml.g4dn.xlarge', framework_version="1.9.0", py_version='py38', hyperparameters=hyperparameters, output_path=output_location, code_location=output_location, sagemaker_session=sess, base_job_name=training_job_name,
) estimator.fit({'train': input_location})

Mevcut eğitim süreci, grafiği oluşturmak için test veri kümesinin özelliklerinin (hedef sütun dahil değil) kullanıldığı ve bu nedenle test düğümlerinin eğitim sürecine dahil edildiği bir transdüktif ortamda gerçekleştirilir. Eğitim sonunda, test veri setindeki tahminler oluşturulur ve kaydedilir. output_location S3 kovasında.

Eğitim transdüktif olsa da, test veri kümesinin etiketleri eğitim için kullanılmaz ve alıştırmamız, test veri kümesi düğümleri için düğüm yerleştirmelerini kullanarak bu etiketleri tahmin etmeyi amaçlar. GraphSAGE'nin önemli bir özelliği, bu çözümde kullanılmasa da grafiğin parçası olmayan yeni gözlemler üzerinde tümevarımsal öğrenmenin de mümkün olmasıdır.

Hiperparametre optimizasyonu

Bu çözüm, GNN üzerinde HPO gerçekleştirilerek daha da genişletilir. Bu, SageMaker içinde yapılır. Aşağıdaki koda bakın:

from sagemaker.tuner import ( IntegerParameter, CategoricalParameter, ContinuousParameter, HyperparameterTuner,
) # Static hyperparameters we do not tune
hyperparameters = { "n-layers": 2, "aggregator-type": "pool", "target-column": target_column
}
# Dynamic hyperparameters to tune and their searching ranges. # For demonstration purpose, we skip the architecture search by skipping # tuning the hyperparameters such as 'skip_rnn_num_layers', 'rnn_num_layers', etc.
hyperparameter_ranges = { "n-hidden": CategoricalParameter([32, 64, 128, 256, 512, 1024]), 'dropout': ContinuousParameter(0.0, 0.6), 'weight-decay': ContinuousParameter(1e-5, 1e-2), 'n-epochs': IntegerParameter(70, 120), #80, 160 'lr': ContinuousParameter(0.002, 0.02),
}

Ardından, bu durumda F1 puanını en üst düzeye çıkarmak için eğitim hedefini belirledik:

objective_metric_name = "Validation F1"
metric_definitions = [{"Name": "Validation F1", "Regex": "Validation F1 (\S+)"}]
objective_type = "Maximize"

SageMaker'da seçilen ortamı ve eğitim kaynaklarını oluşturun:

estimator_tuning = PyTorch( entry_point='train_dgl_pytorch_entry_point.py', source_dir='graph_convolutional_network', role=role, instance_count=1, instance_type='ml.g4dn.xlarge', framework_version="1.9.0", py_version='py38', hyperparameters=hyperparameters, output_path=output_location, code_location=output_location, sagemaker_session=sess, base_job_name=training_job_name,
)

Son olarak, eğitim işini hiper parametre optimizasyonu ile çalıştırın:

import time tuning_job_name = sagemaker_config["SolutionPrefix"] + "-gcn-hpo"
print( f"You can go to SageMaker -> Training -> Hyperparameter tuning jobs -> a job name started with {tuning_job_name} to monitor HPO tuning status and details.n" f"Note. You will be unable to successfully run the following cells until the tuning job completes. This step may take around 2 hours."
) tuner = HyperparameterTuner( estimator_tuning, # using the estimator defined in previous section objective_metric_name, hyperparameter_ranges, metric_definitions, max_jobs=30, max_parallel_jobs=10, objective_type=objective_type, base_tuning_job_name = tuning_job_name,
) start_time = time.time() tuner.fit({'train': input_location}) hpo_training_job_time_duration = time.time() - start_time

Sonuçlar

Ağ verilerinin ve hiper parametre optimizasyonunun dahil edilmesi, iyileştirilmiş sonuçlar verir. Aşağıdaki tabloda yer alan performans ölçümleri, kredi puanlaması için kullanılan standart tablo veri kümelerine CorpNet'te eklemenin yararını göstermektedir.

AutoGluon için sonuçlar grafiği kullanmaz, yalnızca tablo verilerini kullanır. Grafik verilerini eklediğimizde ve HPO kullandığımızda, performansta önemli bir kazanç elde ediyoruz.

F1 Skoru ÇHC EAA doğruluk MM Dengeli Doğruluk Hassas Geri çağırmak
Otomatik Gluon 0.72 0.74323 0.68037 0.35233 0.67323 0.68528 0.75843
HPO'suz GCN 0.64 0.84498 0.69406 0.45619 0.71154 0.88177 0.50281
HPO ile GCN 0.81 0.87116 0.78082 0.563 0.77081 0.75119 0.89045

(Not: MCC, Matthews Korelasyon Katsayıdır; https://en.wikipedia.org/wiki/Phi_coefficient.)

Temizlemek

Bu not defterini kullanmayı bitirdikten sonra, daha fazla ücret ödememek için model yapılarını ve diğer kaynakları silin. Not defterini çalıştırırken oluşturmuş olabileceğiniz, model yapıları için S3 paketleri, eğitim veri kümeleri, işleme yapıları ve Amazon Bulut İzleme günlük grupları.

Özet

Bu gönderide, grafik makine öğrenimi yolculuğunuzu hızlandırmanıza yardımcı olmak için JumpStart'ta grafik tabanlı bir kredi puanlama çözümünü tanıttık. Dizüstü bilgisayar, daha iyi performans elde etmek için mevcut tablo modelleriyle grafikleri değiştirebileceğiniz ve kullanabileceğiniz bir işlem hattı sağlar.

Başlamak için, Grafik Tabanlı Kredi Puanlama çözümünü JumpStart'ta bulabilirsiniz. Adaçayı Yapıcı Stüdyo.


Yazarlar Hakkında

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence'da grafik makine öğrenimini kullanarak kurumsal bir kredi derecelendirme sınıflandırıcısı oluşturun. Dikey Arama. Ai.Sanjiv Das bir Amazon Bilgini ve Santa Clara Üniversitesi'nde Terry Finans ve Veri Bilimi Profesörüdür. Finans (New York Üniversitesi'nden Yüksek Lisans ve Doktora) ve Bilgisayar Bilimi (UC Berkeley'den Yüksek Lisans) alanında yüksek lisans derecelerine ve Ahmedabad Hindistan Yönetim Enstitüsü'nden MBA derecesine sahiptir. Akademisyen olmadan önce Asya-Pasifik bölgesinde türev ürünler işinde Citibank'ta Başkan Yardımcısı olarak çalıştı. Finansal uygulamalar alanında çok modlu makine öğrenimi üzerinde çalışıyor.

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence'da grafik makine öğrenimini kullanarak kurumsal bir kredi derecelendirme sınıflandırıcısı oluşturun. Dikey Arama. Ai.Doktor Xin Huang Uygulamalı Bilim Adamıdır Amazon SageMaker Hızlı Başlangıç ve Amazon SageMaker yerleşik algoritmaları. Ölçeklenebilir makine öğrenimi algoritmaları geliştirmeye odaklanmaktadır. Araştırma ilgi alanları, doğal dil işleme, tablo verileri üzerinde derin öğrenme ve parametrik olmayan uzay-zaman kümelemesinin sağlam analizidir.

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence'da grafik makine öğrenimini kullanarak kurumsal bir kredi derecelendirme sınıflandırıcısı oluşturun. Dikey Arama. Ai.Soji Adeşina AWS'de Uygulamalı Bilim Adamıdır ve burada dolandırıcılık ve kötüye kullanım uygulamaları, bilgi grafikleri, öneri sistemleri ve yaşam bilimleri ile grafik görevlerinde makine öğrenimi için grafik sinir ağı tabanlı modeller geliştirir. Boş zamanlarında kitap okumayı ve yemek yapmayı sever.

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence'da grafik makine öğrenimini kullanarak kurumsal bir kredi derecelendirme sınıflandırıcısı oluşturun. Dikey Arama. Ai.patrick yang Amazon SageMaker'da Yazılım Geliştirme Mühendisidir. Müşteriler için makine öğrenimi araçları ve ürünleri oluşturmaya odaklanıyor.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi