אלגברה לינארית חיונית למדע נתונים ולמידת מכונה

צומת המקור: 1852280

תמונה מאת בנימין או טאיו.

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

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

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

1. אלגברה לינארית לעיבוד מקדים של נתונים

 ראשית אנו ממחישים כיצד נעשה שימוש באלגברה לינארית בעיבוד מקדים של נתונים.

1.1 ייבא ספריות נחוצות לאלגברה לינארית

ייבוא ​​מטומטם כ- np יבוא פנדות כ- pd ייבא פילאב ייבוא ​​matplotlib.pyplot כ- plt ייבוא ​​seaborn כמו sns 

 

1.2 קרא מאגר הנתונים ותכונות התצוגה

data = pd.read_csv ("tech-stocks-04-2021.csv") data.head () 

 טבלתי 1. מחירי מניות למחירי מניות נבחרים במשך 16 הימים הראשונים באפריל 2021.

הדפס (data.shape) פלט = (11,5) 

 השמיים data.shape פונקציה מאפשרת לנו לדעת את גודל מערך הנתונים שלנו. במקרה זה, מערך הנתונים כולל 5 תכונות (תאריך, AAPL, TSLA, GOOGL ו- AMZN), ולכל תכונה 11 תצפיות. תַאֲרִיך מתייחס לימי המסחר באפריל 2021 (עד 16 באפריל). AAPL, TSLA, GOOGL ו- AMZN הם מחירי המניות הסגורים של אפל, טסלה, גוגל ואמזון בהתאמה.

1.3 הדמיית נתונים

כדי לבצע הדמיה של נתונים, נצטרך להגדיר מטריצות עמודות כדי שתוכלו לדמיין את התכונות:

x = data ['date'] y = data ['TSLA'] plt.plot (x, y) plt.xticks (np.array ([0,4,9]), ['1 באפריל', '8 באפריל ',' 15 באפר '']) plt.title ('מחיר המניה של טסלה (בדולרים) לאפריל 2021', גודל = 14) plt.show () 

תרשים 1. מחיר המניה בטסלה במשך 16 הימים הראשונים באפריל 2021.

2. מטריקס קובריאנס

השמיים מטריקס השונה המשותפת היא אחת המטריצות החשובות ביותר במדעי הנתונים ולמידת מכונה. הוא מספק מידע על תנועה משותפת (מתאם) בין תכונות. נניח שיש לנו מטריצת תכונות עם 4 תכונות ו תצפיות כמוצג ב לוח 2:

לוח 2. כולל מטריצה ​​עם 4 משתנים ותצפיות n.

כדי לדמיין את המתאמים בין התכונות, אנו יכולים ליצור עלילת פיזור:

cols = data.column [1: 5] פלט הדפסה (cols) = אינדקס (['AAPL', 'TSLA', 'GOOGL', 'AMZN'], dtype = 'object') sns.pairplot (data [cols] , גובה = 3.0) 

איור 2. מגרש זוג פיזור למניות טק נבחרות.

כדי לכמת את מידת המתאם בין תכונות (רב-קולינאריות), אנו יכולים לחשב את מטריצת המשתנות באמצעות משוואה זו:

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

בצורה של מטריצה, המטריצה ​​המשותפת יכולה לבוא לידי ביטוי כמטריצה ​​אמיתית וסימטרית 4x4:

מטריצה ​​זו ניתנת לאלכסון על ידי ביצוע a טרנספורמציה יחידה, המכונה גם טרנספורמציה של ניתוח רכיבים עיקריים (PCA), כדי להשיג את הדברים הבאים:

מאז זכר למטריצה נשאר בלתי משתנה תחת טרנספורמציה יחידה, נצפה כי סכום הערכים העצמיים של המטריצה ​​האלכסונית שווה לסך השונות הכלול בתכונות X1, איקס2, איקס3ו- X4.

2.1 חישוב מטריצת השונות למניות טק

מ- sklearn.preprocessing יבוא StandardScaler stdsc = StandardScaler () X_std = stdsc.fit_transform (data [cols] .iloc [:, range (0,4)]. values) cov_mat = np.cov (X_std.T, bias = True) 

שים לב שהדבר משתמש ב לְשַׁרבֵּב של המטריצה ​​הסטנדרטית.

2.2 ויזואליזציה של מטריצת השונות

plt.figure (figsize = (8,8)) sns.set (font_scale = 1.2) hm = sns.heatmap (cov_mat, cbar = True, annot = True, square = True, fmt = '. 2f', annot_kws = { 'size': 12}, yticklabels = cols, xticklabels = cols) plt.title ('מטריצת משתנות המציגה מקדמי מתאם') plt.tight_layout () plt.show () 

איור 3. עלילת מטריצה ​​בשילוב למניות טכנולוגיה נבחרות.

אנו צופים באיור 3 כי AAPL מתואם חזק עם GOOGL ו- AMZN, וחלש עם TSLA. TSLA מתאם בדרך כלל חלש עם AAPL, GOOGL ו- AMZN, בעוד ש- AAPL, GOOGL ו- AMZN מתואמים חזק זה עם זה.

2.3 חישוב ערכים עצמיים של מטריצת השונות

פלט np.linalg.eigvals (cov_mat) = מערך ([3.41582227, 0.4527295, 0.02045092, 0.11099732]) np.sum (np.linalg.eigvals (cov_mat)) פלט = 4.000000000000006 np.trace (cov_mat) פלט = 4.000000000000001 

אנו מתבוננים כי העקבות של מטריצת השונות משתנה לסכום הערכים העצמיים כצפוי.

2.4 חישב את השונות המצטברת

מכיוון שעקבות המטריצה ​​נותרות משתנות תחת טרנספורמציה יחידה, נצפה כי סכום הערכים העצמיים של המטריצה ​​האלכסונית שווה לסך השונות הכלול בתכונות X1, איקס2, איקס3ו- X4. לפיכך, אנו יכולים להגדיר את הכמויות הבאות:

 

שימו לב שמתי p = 4, השונות המצטברת הופכת להיות שווה ל- 1 כצפוי.

eigen = np.linalg.eigvals (cov_mat) cum_var = eigen / np.sum (eigen) print (cum_var) output = [0.85395557 0.11318237 0.00511273 0.02774933] print (np.sum (cum_var)) output = 1.0 

 אנו צופים בשונות המצטברת (cum_var) ש- 85% מהשונות כלולה בערך העצמי הראשון ו- 11% בשנייה. פירוש הדבר שכאשר מיושם PCA, ניתן להשתמש רק בשני המרכיבים העיקריים הראשונים, שכן 97% מהשונות הכוללת תורמים משני המרכיבים הללו. זה יכול למעשה להפחית את המימדי של שטח התכונה מ -2 ל -4 כאשר PCA מיושם.

3. מטריקס רגרסיה לינארי

נניח שיש לנו מערך נתונים הכולל 4 תכונות ניבוי ו n תצפיות, כמוצג להלן.

לוח 3. כולל מטריצה ​​עם 4 משתנים ותצפיות n. עמודה 5 היא משתנה היעד (y).

ברצוננו לבנות מודל רב-רגרסיה לחיזוי y ערכים (עמודה 5). המודל שלנו יכול לבוא לידי ביטוי בצורה זו

בצורה של מטריצה ​​ניתן לכתוב משוואה זו כ-

איפה X האם מטריצת התכונות (nx 4), w היא המטריצה ​​(4 x 1) המייצגת את מקדמי הרגרסיה שייקבעו, ו y היא המטריצה ​​(nx 1) המכילה את תצפיות ה- n של משתנה היעד y.

שים לב כי X היא מטריצה ​​מלבנית, לכן איננו יכולים לפתור את המשוואה שלמעלה על ידי הפיכה של X.

להמיר X לתוך מטריצה ​​מרובעת, אנו מכפילים את הצד השמאלי והצד הימני של המשוואה שלנו ב- לְשַׁרבֵּב of X, זה

משוואה זו יכולה להתבטא גם כ-

איפה

היא מטריצת הרגרסיה (4 × 4). ברור שאנו מתבוננים בכך R היא מטריצה ​​אמיתית וסימטרית. שים לב שבאלגברה ליניארית, השינוי של המוצר של שתי מטריצות מציית למערכת היחסים הבאה

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

דוגמאות לניתוח רגרסיה לחיזוי משתנים רציפים ודידיים מובאות להלן:

יסודות רגרסיה לינארית למתחילים מוחלטים

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

4. מטריקס ניתוח מפלה לינארי

דוגמא נוספת למטריצה ​​אמיתית וסימטרית במדע הנתונים היא מטריצת ה- Linear Discriminant Analysis (LDA). מטריצה ​​זו יכולה לבוא לידי ביטוי בצורה:

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

לפרטים נוספים אודות יישום ה- LDA, עיין בהפניות הבאות:

למידת מכונה: הפחתת ממדיות באמצעות ניתוח מפלה לינארי

מאגר GitHub ליישום LDA באמצעות מערך Iris

למידת מכונת פיתון מאת סבסטיאן רשקקה, מהדורה שלישית (פרק 3)

<br> סיכום

לסיכום, דנו בכמה יישומים של אלגברה לינארית במדע הנתונים ולמידת מכונה. באמצעות מערך מניות הטכנולוגיה, המחשנו מושגים חשובים כמו גודל מטריצה, מטריצות עמודות, מטריצות מרובעות, מטריצת קובריאנס, העברת מטריצה, ערכים עצמיים, מוצרי נקודה וכו '. אלגברה לינארית היא כלי חיוני במדעי הנתונים ומכונה לְמִידָה. לפיכך, מתחילים המתעניינים במדע הנתונים חייבים להכיר מושגים חיוניים באלגברה לינארית.

מידע נוסף:

מקור: https://www.kdnuggets.com/2021/05/essential-linear-algebra-data-science-machine-learning.html

בול זמן:

עוד מ KDnuggets