با استفاده از یادگیری ماشین گراف در Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence یک طبقه‌بندی رتبه‌بندی اعتباری شرکت بسازید. جستجوی عمودی Ai.

با استفاده از یادگیری ماشین گراف در Amazon SageMaker JumpStart یک طبقه‌بندی رتبه‌بندی اعتباری شرکت بسازید.

امروز، ما یک راه حل جدید برای یادگیری ماشین گراف مالی (ML) را منتشر می کنیم Amazon SageMaker JumpStart. JumpStart به شما کمک می‌کند تا به سرعت با ML شروع کنید و مجموعه‌ای از راه‌حل‌ها را برای رایج‌ترین موارد استفاده ارائه می‌دهد که فقط با چند کلیک می‌توان آنها را آموزش و اجرا کرد.

راه حل جدید JumpStart (امتیاز اعتبار مبتنی بر نمودار) نشان می دهد که چگونه می توان یک شبکه شرکتی از پرونده های SEC (داده های متنی بلند فرم) ایجاد کرد، این را با نسبت های مالی (داده های جدولی) ترکیب کرد و از شبکه های عصبی نموداری (GNN) برای ایجاد اعتبار استفاده کرد. مدل های پیش بینی رتبه در این پست توضیح می دهیم که چگونه می توانید از این راه حل کاملاً قابل تنظیم برای امتیازدهی اعتبار استفاده کنید تا بتوانید سفر ML نمودار خود را تسریع کنید. Graph ML در حال تبدیل شدن به یک منطقه پربار برای ML مالی است زیرا استفاده از داده های شبکه را در ارتباط با مجموعه داده های جدولی سنتی امکان پذیر می کند. برای اطلاعات بیشتر ببین آمازون در WSDM: آینده شبکه های عصبی گراف.

بررسی اجمالی راه حل

می‌توانید امتیاز اعتباری را با بهره‌برداری از داده‌های پیوندهای تجاری بهبود ببخشید، که می‌توانید برای آن نموداری بسازید که در این راه‌حل با CorpNet (مخفف شبکه شرکتی) مشخص می‌شود. سپس می‌توانید طبقه‌بندی گراف ML را با استفاده از GNN در این نمودار و مجموعه ویژگی‌های جدولی برای گره‌ها اعمال کنید تا ببینید آیا می‌توانید با بهره‌برداری بیشتر از اطلاعات در روابط شبکه، مدل ML بهتری بسازید. بنابراین، این راه‌حل الگویی برای مدل‌های کسب‌وکار ارائه می‌دهد که از داده‌های شبکه بهره‌برداری می‌کنند، مانند استفاده از نمودارهای ارتباط زنجیره تأمین، نمودارهای شبکه‌های اجتماعی و موارد دیگر.

این راه حل چندین مصنوع جدید را با ساخت شبکه شرکتی و تولید داده های مالی مصنوعی ایجاد می کند و هر دو شکل داده را برای ایجاد مدل هایی با استفاده از گراف ML ترکیب می کند.

راه حل نشان می دهد که چگونه می توان شبکه ای از شرکت های متصل را با استفاده از بخش MD&A از فایل های SEC 10-K/Q ساخت. شرکت‌هایی با اظهارات آینده‌نگر مشابه احتمالاً برای رویدادهای اعتباری مرتبط هستند. این ارتباطات در یک نمودار نشان داده شده است. برای ویژگی‌های گره گراف، راه‌حل از متغیرهای مدل Altman Z-score و دسته صنعت هر شرکت استفاده می‌کند. اینها در یک مجموعه داده مصنوعی ارائه شده است که برای اهداف نمایشی در دسترس است. داده‌های نمودار و داده‌های جدولی برای برازش طبقه‌بندی‌کننده رتبه‌بندی با استفاده از GNN استفاده می‌شوند. برای اهداف توضیحی، ما عملکرد مدل‌ها را با و بدون اطلاعات نمودار مقایسه می‌کنیم.

از راه حل امتیازدهی اعتباری مبتنی بر نمودار استفاده کنید

برای شروع استفاده از JumpStart، نگاه کنید شروع کار با Amazon SageMaker. کارت JumpStart برای راه حل امتیازدهی مبتنی بر نمودار از طریق در دسترس است Amazon SageMaker Studio.

با استفاده از یادگیری ماشین گراف در Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence یک طبقه‌بندی رتبه‌بندی اعتباری شرکت بسازید. جستجوی عمودی Ai.

  1. کارت مدل را انتخاب کنید، سپس انتخاب کنید راه اندازی برای شروع راه حل
    با استفاده از یادگیری ماشین گراف در Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence یک طبقه‌بندی رتبه‌بندی اعتباری شرکت بسازید. جستجوی عمودی Ai.

راه حل یک مدل برای استنتاج و یک نقطه پایانی برای استفاده در یک دفترچه ایجاد می کند.

  1. منتظر بمانید تا آماده شوند و وضعیت به صورت نمایش داده شود Complete.
  2. را انتخاب کنید نوت بوک را باز کنید برای باز کردن اولین نوت بوک که برای آموزش و استقرار نقطه پایانی است.
    با استفاده از یادگیری ماشین گراف در Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence یک طبقه‌بندی رتبه‌بندی اعتباری شرکت بسازید. جستجوی عمودی Ai.

می توانید از طریق این نوت بوک کار کنید تا نحوه استفاده از این راه حل را بیاموزید و سپس آن را برای سایر برنامه های کاربردی در داده های خود تغییر دهید. راه‌حل با داده‌های مصنوعی ارائه می‌شود و از زیرمجموعه‌ای از آن برای نمونه‌سازی مراحل مورد نیاز برای آموزش مدل، استقرار آن در نقطه پایانی و سپس فراخوانی نقطه پایانی برای استنتاج استفاده می‌کند. این نوت بوک همچنین حاوی کدی برای استقرار یک نقطه پایانی است.

  1. برای باز کردن نوت بوک دوم (که برای استنتاج استفاده می شود)، را انتخاب کنید از Endpoint در Notebook استفاده کنید در کنار مصنوع نقطه پایانی

در این دفترچه یادداشت، می‌توانید نحوه آماده‌سازی داده‌ها را برای فراخوانی نقطه پایانی مثال برای انجام استنتاج روی دسته‌ای از مثال‌ها ببینید.
با استفاده از یادگیری ماشین گراف در Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence یک طبقه‌بندی رتبه‌بندی اعتباری شرکت بسازید. جستجوی عمودی Ai.

نقطه پایانی رتبه‌بندی‌های پیش‌بینی‌شده را برمی‌گرداند، که برای ارزیابی عملکرد مدل استفاده می‌شود، همانطور که در تصویر زیر از آخرین بلوک کد دفتر استنتاج نشان داده شده است.
با استفاده از یادگیری ماشین گراف در Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence یک طبقه‌بندی رتبه‌بندی اعتباری شرکت بسازید. جستجوی عمودی Ai.

شما می توانید از این راه حل به عنوان الگویی برای مدل رتبه بندی اعتباری ارتقا یافته با نمودار استفاده کنید. شما محدود به مجموعه ویژگی در این مثال نیستید—شما می‌توانید داده‌های نمودار و داده‌های جدولی را برای مورد استفاده خود تغییر دهید. میزان تغییرات کد مورد نیاز حداقل است. توصیه می کنیم برای درک ساختار راه حل از طریق مثال الگو کار کنید و سپس در صورت نیاز آن را اصلاح کنید.

این راه حل فقط برای اهداف نمایشی است. این مشاوره مالی نیست و نباید به عنوان مشاوره مالی یا سرمایه گذاری به آن اعتماد کرد. نوت بوک های مرتبط، از جمله مدل آموزش دیده، از داده های مصنوعی استفاده می کنند و برای استفاده تولیدی در نظر گرفته نشده اند. اگرچه متن از پرونده های SEC استفاده می شود، داده های مالی به صورت مصنوعی و تصادفی تولید می شوند و هیچ ارتباطی با وضعیت مالی واقعی هیچ شرکتی ندارند. بنابراین، رتبه‌بندی‌های مصنوعی ایجاد شده نیز هیچ ارتباطی با رتبه‌بندی واقعی هیچ شرکتی ندارند.

داده های مورد استفاده در راه حل

مجموعه داده دارای داده های جدولی مصنوعی مانند نسبت های حسابداری مختلف (عددی) و کدهای صنعت (مقوله ای) است. مجموعه داده دارد 𝑁= 3286 ردیف. برچسب های رتبه بندی نیز اضافه شده است. اینها ویژگی های گره ای هستند که با گراف ML استفاده می شوند.

مجموعه داده همچنین حاوی یک نمودار شرکتی است که بدون جهت و وزن ندارد. این راه حل به شما اجازه می دهد تا ساختار نمودار را با تغییر نحوه گنجاندن پیوندها تنظیم کنید. هر شرکت در مجموعه داده جدولی با یک گره در نمودار شرکتی نشان داده می شود. کارکرد construct_network_data() به ساخت نمودار کمک می کند، که شامل لیستی از گره های مبدا و گره های مقصد است.

برچسب‌های رتبه‌بندی برای طبقه‌بندی با استفاده از GNN استفاده می‌شوند، که می‌تواند چند طبقه‌ای برای همه رتبه‌بندی‌ها یا باینری باشد، که بین درجه سرمایه‌گذاری (AAA، AA، A، BBB) و درجه غیرسرمایه‌گذاری (BB، B، CCC، CC، C، د). D در اینجا مخفف defaulted است.

کد کامل برای خواندن در داده ها و اجرای راه حل در دفترچه راه حل ارائه شده است. تصویر زیر ساختار داده های جدولی مصنوعی را نشان می دهد.

با استفاده از یادگیری ماشین گراف در Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence یک طبقه‌بندی رتبه‌بندی اعتباری شرکت بسازید. جستجوی عمودی Ai.

اطلاعات نمودار به کتابخانه نمودار عمیق و برای انجام نمودار ML با داده های جدولی ترکیب شد. اگر گراف خود را می آورید، به سادگی آن را به عنوان مجموعه ای از گره های مبدا و گره های مقصد عرضه کنید.

آموزش مدل

برای مقایسه، ابتدا یک مدل را با استفاده از داده‌های جدولی آموزش می‌دهیم AutoGluon، تقلید از رویکرد سنتی به رتبه بندی اعتباری شرکت ها. سپس داده های نمودار را اضافه می کنیم و از GNN برای آموزش استفاده می کنیم. جزئیات کامل در دفترچه یادداشت ارائه شده است و یک مرور مختصر در این پست ارائه شده است. این نوت بوک همچنین یک نمای کلی از نمودار ML با منابع انتخاب شده ارائه می دهد.

آموزش GNN به شرح زیر انجام می شود. ما از اقتباسی استفاده می کنیم مدل GraphSAGE در کتابخانه Deep Graph پیاده سازی شده است.

  1. خواندن داده های نمودار از سرویس ذخیره سازی ساده آمازون (Amazon S3) و لیست گره های مبدا و مقصد را برای CorpNet ایجاد کنید.
  2. در مجموعه ویژگی های گره گراف (آموزش و آزمایش) بخوانید. در صورت لزوم داده ها را عادی کنید.
  3. تنظیم فراپارامترهای قابل تنظیم کانتینر گراف تخصصی ML را که PyTorch را اجرا می کند، فراخوانی کنید تا GNN بدون بهینه سازی هایپرپارامتر (HPO) متناسب باشد.
  4. نمودار ML را با HPO تکرار کنید.

برای ساده و پایدار کردن پیاده سازی، آموزش مدل را با استفاده از کد زیر در یک ظرف اجرا می کنیم (کد راه اندازی قبل از این کد آموزشی در دفترچه راه حل موجود است):

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})

فرآیند آموزش فعلی در یک محیط انتقالی انجام می شود، که در آن ویژگی های مجموعه داده آزمایشی (بدون احتساب ستون هدف) برای ساختن نمودار استفاده می شود و بنابراین گره های آزمایشی در فرآیند آموزش گنجانده می شوند. در پایان آموزش، پیش‌بینی‌های مجموعه داده آزمایشی تولید و ذخیره می‌شوند output_location در سطل S3.

حتی اگر آموزش انتقالی است، برچسب‌های مجموعه داده آزمایشی برای آموزش استفاده نمی‌شوند، و هدف تمرین ما پیش‌بینی این برچسب‌ها با استفاده از جاسازی گره‌ها برای گره‌های مجموعه آزمایشی است. یکی از ویژگی های مهم GraphSAGE این است که یادگیری استقرایی روی مشاهدات جدید که بخشی از نمودار نیستند نیز امکان پذیر است، اگرچه در این راه حل مورد سوء استفاده قرار نمی گیرد.

بهینه سازی هایپرپارامتر

این راه حل با انجام HPO بر روی GNN گسترش می یابد. این کار در SageMaker انجام می شود. کد زیر را ببینید:

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),
}

سپس هدف تمرینی را تنظیم می کنیم تا امتیاز F1 را در این مورد به حداکثر برسانیم:

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

محیط انتخابی و منابع آموزشی را در SageMaker ایجاد کنید:

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,
)

در نهایت، کار آموزشی را با بهینه سازی هایپرپارامتر اجرا کنید:

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

نتایج

گنجاندن داده های شبکه و بهینه سازی هایپرپارامتر نتایج بهبود یافته ای را به همراه دارد. معیارهای عملکرد در جدول زیر مزایای افزودن CorpNet به مجموعه داده‌های جدولی استاندارد مورد استفاده برای امتیازدهی اعتبار را نشان می‌دهد.

نتایج برای AutoGluon از نمودار استفاده نمی کند، فقط از داده های جدولی استفاده می کند. وقتی داده‌های نمودار را اضافه می‌کنیم و از HPO استفاده می‌کنیم، یک سود مادی در عملکرد دریافت می‌کنیم.

امتیاز F1 ROC AUC دقت MCC دقت متعادل دقت به یاد بیاورید
AutoGluon 0.72 0.74323 0.68037 0.35233 0.67323 0.68528 0.75843
GCN بدون HPO 0.64 0.84498 0.69406 0.45619 0.71154 0.88177 0.50281
GCN با HPO 0.81 0.87116 0.78082 0.563 0.77081 0.75119 0.89045

(توجه: MCC ضریب همبستگی متیوز است. https://en.wikipedia.org/wiki/Phi_coefficient.)

پاک کردن

پس از اتمام استفاده از این نوت بوک، مصنوعات مدل و سایر منابع را حذف کنید تا از پرداخت هزینه های بیشتر جلوگیری کنید. باید منابعی را که ممکن است در حین اجرای نوت بوک ایجاد کرده باشید، به صورت دستی حذف کنید، مانند سطل های S3 برای مصنوعات مدل، مجموعه داده های آموزشی، پردازش مصنوعات، و CloudWatch آمازون گروه های ورود به سیستم

خلاصه

در این پست، ما یک راه حل امتیازدهی اعتباری مبتنی بر نمودار در JumpStart را معرفی کردیم تا به شما کمک کند سفر ML خود را در گراف تسریع کنید. این نوت بوک خط لوله ای را ارائه می دهد که می توانید نمودارها را با مدل های جدولی موجود تغییر دهید و از آنها برای دستیابی به عملکرد بهتر استفاده کنید.

برای شروع، می توانید راه حل امتیازدهی اعتباری مبتنی بر نمودار را در JumpStart in پیدا کنید SageMaker Studio.


درباره نویسنده

با استفاده از یادگیری ماشین گراف در Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence یک طبقه‌بندی رتبه‌بندی اعتباری شرکت بسازید. جستجوی عمودی Ai.دکتر سانجیو داس محقق آمازون و پروفسور تری در امور مالی و علوم داده در دانشگاه سانتا کلارا است. او دارای مدرک تحصیلات تکمیلی در رشته های مالی (M.Phil و Ph.D از دانشگاه نیویورک) و علوم کامپیوتر (MS از UC Berkeley) و MBA از موسسه مدیریت هند در احمدآباد است. او قبل از اینکه دانشگاهی شود، در تجارت مشتقات در منطقه آسیا و اقیانوسیه به عنوان معاون رئیس در سیتی بانک کار می کرد. او بر روی یادگیری ماشین چندوجهی در حوزه کاربردهای مالی کار می کند.

با استفاده از یادگیری ماشین گراف در Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence یک طبقه‌بندی رتبه‌بندی اعتباری شرکت بسازید. جستجوی عمودی Ai.دکتر شین هوانگ یک دانشمند کاربردی برای Amazon SageMaker JumpStart و الگوریتم های داخلی آمازون SageMaker. او بر روی توسعه الگوریتم های یادگیری ماشینی مقیاس پذیر تمرکز می کند. علایق تحقیقاتی او در زمینه‌های پردازش زبان طبیعی، یادگیری عمیق بر روی داده‌های جدولی، و تجزیه و تحلیل قوی خوشه‌بندی ناپارامتریک فضا-زمان است.

با استفاده از یادگیری ماشین گراف در Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence یک طبقه‌بندی رتبه‌بندی اعتباری شرکت بسازید. جستجوی عمودی Ai.سوجی آدیشینا یک دانشمند کاربردی در AWS است، جایی که مدل‌های مبتنی بر شبکه عصبی گراف را برای یادگیری ماشین در وظایف نمودارها با برنامه‌های کاربردی برای تقلب و سوء استفاده، نمودارهای دانش، سیستم‌های توصیه‌کننده و علوم زیستی توسعه می‌دهد. در اوقات فراغت از مطالعه و آشپزی لذت می برد.

با استفاده از یادگیری ماشین گراف در Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence یک طبقه‌بندی رتبه‌بندی اعتباری شرکت بسازید. جستجوی عمودی Ai.پاتریک یانگ مهندس توسعه نرم افزار در Amazon SageMaker است. او بر ساخت ابزارها و محصولات یادگیری ماشینی برای مشتریان تمرکز دارد.

تمبر زمان:

بیشتر از آموزش ماشین AWS