בנו סיווג דירוג אשראי תאגידי באמצעות למידת מכונה גרפית באמזון SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

בנו סיווג דירוג אשראי תאגידי באמצעות למידת מכונה גרפית באמזון SageMaker JumpStart

היום, אנו משחררים פתרון חדש ללמידת מכונה של גרפים פיננסיים (ML) ב אמזון SageMaker JumpStart. JumpStart עוזר לך להתחיל במהירות עם ML ומספק אוסף של פתרונות למקרי השימוש הנפוצים ביותר שניתן לאמן ולפרוס בכמה לחיצות.

הפתרון החדש של JumpStart (ניקוד אשראי מבוסס גרף) מדגים כיצד לבנות רשת ארגונית ממסמכי SEC (נתוני טקסט ארוכי צורה), לשלב זאת עם יחסים פיננסיים (נתונים טבלאיים), ולהשתמש ברשתות עצביות גרפיות (GNNs) לבניית אשראי מודלים של חיזוי דירוג. בפוסט זה, אנו מסבירים כיצד תוכל להשתמש בפתרון הניתן להתאמה אישית מלא זה לניקוד אשראי, כך שתוכל להאיץ את מסע ה-ML שלך בגרפים. Graph ML הופך לתחום פורה עבור ML פיננסי מכיוון שהוא מאפשר שימוש בנתוני רשת בשילוב עם מערכי נתונים טבלאיים מסורתיים. למידע נוסף, ראה אמזון ב-WSDM: העתיד של רשתות עצביות גרפיות.

סקירת פתרונות

אתה יכול לשפר את ניקוד האשראי על ידי ניצול נתונים על קישורים עסקיים, עבורם אתה יכול לבנות גרף, המסומן כ-CorpNet (קיצור של רשת ארגונית) בפתרון זה. לאחר מכן תוכל להחיל סיווג ML של גרף באמצעות GNNs על גרף זה וערכת תכונות טבלה עבור הצמתים, כדי לראות אם אתה יכול לבנות מודל ML טוב יותר על ידי ניצול נוסף של המידע בקשרי רשת. לכן, פתרון זה מציע תבנית למודלים עסקיים המנצלים נתוני רשת, כגון שימוש בגרפים של קשרי שרשרת אספקה, גרפים של רשתות חברתיות ועוד.

הפתרון מפתח מספר חפצים חדשים על ידי בניית רשת ארגונית ויצירת נתונים פיננסיים סינתטיים, ומשלב את שתי צורות הנתונים ליצירת מודלים באמצעות גרף ML.

הפתרון מראה כיצד לבנות רשת של חברות מחוברות באמצעות סעיף MD&A מתוך הגשות SEC 10-K/Q. חברות עם הצהרות צופות פני עתיד דומות עשויות להיות קשורות לאירועי אשראי. קשרים אלו מיוצגים בגרף. עבור תכונות של צומת גרף, הפתרון משתמש במשתנים במודל Altman Z-score ובקטגוריית התעשייה של כל חברה. אלה מסופקים במערך נתונים סינתטי הזמין למטרות הדגמה. נתוני הגרפים ונתוני הטבלה משמשים כדי להתאים למסווג דירוג באמצעות GNNs. למטרות המחשה, אנו משווים את הביצועים של מודלים עם ובלי מידע הגרף.

השתמש בפתרון ניקוד האשראי המבוסס על גרפים

כדי להתחיל להשתמש ב-JumpStart, ראה תחילת העבודה עם Amazon SageMaker. כרטיס JumpStart עבור פתרון ניקוד האשראי המבוסס על גרפים זמין דרך סטודיו SageMaker של אמזון.

בנו סיווג דירוג אשראי תאגידי באמצעות למידת מכונה גרפית באמזון SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

  1. בחר את כרטיס הדגם ולאחר מכן בחר לשגר ליזום את הפתרון.
    בנו סיווג דירוג אשראי תאגידי באמצעות למידת מכונה גרפית באמזון SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

הפתרון מייצר מודל להסקת מסקנות ונקודת קצה לשימוש עם מחברת.

  1. המתן עד שהם יהיו מוכנים והסטטוס יראה כ Complete.
  2. בחרו פתח מחברת כדי לפתוח את המחברת הראשונה, המיועדת לאימון ולפריסת נקודות קצה.
    בנו סיווג דירוג אשראי תאגידי באמצעות למידת מכונה גרפית באמזון SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

אתה יכול לעבוד דרך מחברת זו כדי ללמוד כיצד להשתמש בפתרון זה ולאחר מכן לשנות אותו עבור יישומים אחרים על הנתונים שלך. הפתרון מגיע עם נתונים סינתטיים ומשתמש בתת-קבוצה שלהם כדי להמחיש את השלבים הדרושים לאימון המודל, לפרוס אותו לנקודת קצה, ולאחר מכן להפעיל את נקודת הקצה להסקת מסקנות. המחברת מכילה גם קוד לפריסת נקודת קצה משלך.

  1. כדי לפתוח את המחברת השנייה (המשמשת להסקת מסקנות), בחר השתמש בנקודת קצה במחברת ליד חפץ נקודת הקצה.

במחברת זו, אתה יכול לראות כיצד להכין את הנתונים כדי להפעיל את נקודת הקצה לדוגמה כדי לבצע הסקה על אצווה של דוגמאות.
בנו סיווג דירוג אשראי תאגידי באמצעות למידת מכונה גרפית באמזון SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

נקודת הקצה מחזירה דירוגים חזויים, המשמשים להערכת ביצועי המודל, כפי שמוצג בצילום המסך הבא של בלוק הקוד האחרון של מחברת ההסקות.
בנו סיווג דירוג אשראי תאגידי באמצעות למידת מכונה גרפית באמזון SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

אתה יכול להשתמש בפתרון זה כתבנית למודל דירוג אשראי משופר גרף. אינך מוגבל לקבוצת התכונות בדוגמה זו - אתה יכול לשנות הן את נתוני הגרפים והן את הנתונים הטבלאיים למקרה השימוש שלך. היקף השינויים הנדרשים בקוד הוא מינימלי. אנו ממליצים לעבוד על דוגמה של התבנית שלנו כדי להבין את מבנה הפתרון, ולאחר מכן לשנות אותו לפי הצורך.

פתרון זה מיועד למטרות הדגמה בלבד. זה לא ייעוץ פיננסי ואין להסתמך עליו כייעוץ פיננסי או השקעות. המחברות המשויכות, כולל הדגם המיומן, משתמשות בנתונים סינתטיים, ואינן מיועדות לשימוש בייצור. למרות שנעשה שימוש בטקסט מהגשת SEC, הנתונים הפיננסיים נוצרים באופן סינתטי ואקראי ואין להם שום קשר לנתונים הפיננסיים האמיתיים של אף חברה. לכן, גם לדירוגים שנוצרו באופן סינתטי אין שום קשר לדירוג האמיתי של אף חברה אמיתית.

הנתונים המשמשים בפתרון

למערך הנתונים יש נתונים טבלאיים סינתטיים כגון יחסים חשבונאיים שונים (מספריים) וקודים תעשייתיים (קטגוריים). למערך הנתונים יש 𝑁=3286 שורות. מתווספות גם תוויות דירוג. אלו הן תכונות הצומת שיש להשתמש בהן עם גרף ML.

מערך הנתונים מכיל גם גרף ארגוני, שאינו מכוון ואינו משוקלל. פתרון זה מאפשר להתאים את מבנה הגרף על ידי שינוי האופן שבו נכללים קישורים. כל חברה במערך הנתונים הטבלאי מיוצגת על ידי צומת בגרף הארגוני. הפונקציה construct_network_data() עוזר לבנות את הגרף, הכולל רשימות של צמתי מקור וצמתי יעד.

תוויות דירוג משמשות לסיווג באמצעות GNNs, שיכולים להיות ריבוי קטגוריות עבור כל הדירוגים או בינאריים, מחולקים בין דרגת השקעה (AAA, AA, A, BBB) לדרגת השקעה שאינה (BB, B, CCC, CC, C, ד). D כאן מייצג ברירת מחדל.

הקוד המלא לקריאת הנתונים והפעלת הפתרון מסופק במחברת הפתרון. צילום המסך הבא מציג את המבנה של הנתונים הטבלאיים הסינתטיים.

בנו סיווג דירוג אשראי תאגידי באמצעות למידת מכונה גרפית באמזון SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

מידע הגרף מועבר ל- ספריית גרפים עמוקה ובשילוב עם הנתונים הטבלאיים לבצע גרף ML. אם אתה מביא גרף משלך, פשוט ספק אותו כקבוצה של צמתי מקור וצמתי יעד.

אימון מודל

לשם השוואה, ראשית אנו מאמנים מודל רק על נתונים טבלאיים באמצעות AutoGluon, המחקה את הגישה המסורתית לדירוג אשראי של חברות. לאחר מכן אנו מוסיפים את נתוני הגרף ומשתמשים ב-GNN לאימון. פרטים מלאים מסופקים במחברת, וסקירה קצרה מוצעת בפוסט זה. המחברת מציעה גם סקירה מהירה של גרף ML עם הפניות נבחרות.

הכשרת ה-GNN מתבצעת באופן הבא. אנו משתמשים בהתאמה של ה דגם GraphSAGE מיושם בספריית הגרפים העמוקים.

  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 הוא מקדם המתאם של Matthews; https://en.wikipedia.org/wiki/Phi_coefficient.)

לנקות את

לאחר שתסיים להשתמש במחברת זו, מחק את חפצי הדגם ומשאבים אחרים כדי להימנע מחיובים נוספים. עליך למחוק ידנית משאבים שייתכן שיצרת בזמן הפעלת המחברת, כגון דלי S3 עבור חפצי מודל, מערכי נתונים של אימון, עיבוד חפצים, ו אמזון CloudWatch יומן קבוצות.

<br> סיכום

בפוסט זה, הצגנו ב-JumpStart פתרון מבוסס גרפים של ניקוד אשראי כדי לעזור לך להאיץ את מסע ה-ML שלך בגרף. המחברת מספקת צינור שניתן לשנות ולנצל גרפים עם מודלים טבלאיים קיימים כדי להשיג ביצועים טובים יותר.

כדי להתחיל, תוכל למצוא את פתרון ניקוד האשראי המבוסס על גרפים ב-JumpStart ב סטודיו SageMaker.


על הכותבים

בנו סיווג דירוג אשראי תאגידי באמצעות למידת מכונה גרפית באמזון SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ד"ר סנג'יב דאס הוא מלומד באמזון והפרופסור טרי למימון ומדעי הנתונים באוניברסיטת סנטה קלרה. הוא בעל תארים לתואר שני בפיננסים (M.Phil ודוקטורט מאוניברסיטת ניו יורק) ומדעי המחשב (MS מאוניברסיטת ברקלי), ותואר שני במנהל עסקים מהמכון ההודי לניהול, אחמדאבאד. לפני שהיה אקדמאי, הוא עבד בעסקי הנגזרים באזור אסיה-פסיפיק כסגן נשיא בסיטיבנק. הוא עובד על למידת מכונה מולטי-מודאלית בתחום יישומים פיננסיים.

בנו סיווג דירוג אשראי תאגידי באמצעות למידת מכונה גרפית באמזון SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ד"ר שין הואנג הוא מדען יישומי עבור אמזון SageMaker JumpStart ו אלגוריתמים מובנים של Amazon SageMaker. הוא מתמקד בפיתוח אלגוריתמים של למידת מכונה ניתנים להרחבה. תחומי העניין שלו במחקר הם בתחומים של עיבוד שפה טבעית, למידה עמוקה על נתונים טבלאיים וניתוח חזק של צבירת מרחב-זמן לא פרמטרית.

בנו סיווג דירוג אשראי תאגידי באמצעות למידת מכונה גרפית באמזון SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.סוג'י אדשינה הוא מדען יישומי ב-AWS, שם הוא מפתח מודלים מבוססי רשת עצבית גרפים ללמידת מכונה במשימות גרפים עם יישומים להונאה וניצול לרעה, גרפי ידע, מערכות ממליצים ומדעי החיים. בזמנו הפנוי הוא נהנה לקרוא ולבשל.

בנו סיווג דירוג אשראי תאגידי באמצעות למידת מכונה גרפית באמזון SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.פטריק יאנג הוא מהנדס פיתוח תוכנה באמזון SageMaker. הוא מתמקד בבניית כלים ומוצרים של למידת מכונה עבור לקוחות.

בול זמן:

עוד מ למידת מכונות AWS