משתמש:Talronen/כריית מידע רפואי

מתוך ויקיפדיה, האנציקלופדיה החופשית

מבוא ורקע מדעי[עריכת קוד מקור | עריכה]

מידע רפואי[עריכת קוד מקור | עריכה]

כריית מידע[עריכת קוד מקור | עריכה]

כריית מידע רפואי[עריכת קוד מקור | עריכה]

אלגוריתם החלוקה[עריכת קוד מקור | עריכה]

אפליקציות מובייל(Mobile)[עריכת קוד מקור | עריכה]

חידושים בתחום[עריכת קוד מקור | עריכה]

ממידע לידע - למידה לא מונחית (Unsupervised Learning)[עריכת קוד מקור | עריכה]

הגדרה[עריכת קוד מקור | עריכה]

למידה בלתי-מונחית (למידה בלתי-מודרכת) היא משפחה של אלגוריתמים בלמידה-חישובית שמטרתם לייצג באופן פשוט וקל להבנה אוסף נתונים, דרך מציאת מבנה פנימי חבוי ויצירת כללים ועקרונות לייצוג. בניגוד ללמידה-מונחית , וללמידת-חיזוק, ששם אוסף הנתונים מסווג והאלגוריתם לומד מתוכו את הכללים ויכול להסיק לגבי נתון חדש שאינו מסווג, בלמידה בלתי-מונחית, הנתונים אינם מסווגים והכללים אינם ידועים. למעשה האלגוריתמים מייצרים עקרונות שלא היו ידועים עד כה ומאפשרים להסיק מסקנות מתוך מידע קיים.
בהקשר הרפואי האלגוריתמים בלמידה בלתי-מונחית מקבלים אוסף נתונים על אוכלוסיה ומוצאים עקרונות ומבנים פנימיים בה שלא היו ידועים. כך למשל, אם נספק לאלגוריתם אוסף נתונים (גיל, מין, גובה, ערכים של בדיקות דם וכו') של קבוצת חולים במחלה מסויימת המטופלים בתרופה כלשהי. האלגוריתם יוכל לעזור במציאת העקרונות (המשתנים) שינבאו את הצלחת הטיפול בתרופה. למשל: מידע גנטי (SNP, רצף DNA) של קבוצת אנשים שחלקם פיתחו מחלה כלשהי (קרוהן, ממאירות, מחלה אוטואימונית). האלגוריתם מסוגל למצוא את הכללים (SNP מסויימים או גנים מסויימים) באוכלוסיה של החולים ומתוך כך לנבא התפתחות המחלה על פי המידע הגנטי של יילוד.[1] [2] כך לדוגמא, בבחינה של פרופיל הביטוי של אלפי גנים בחולי לימפומה ממקור של תאי B, אלגוריתם של אשכול היררכי, המבוסס על למידה בלתי-מודרכת, הראה כי חולים בלימפומה מתקבצים לשתי תבניות ביטוי שונות. הסתבר כי בקרב החולים, שלכאורה סובלים מאותה מחלה, מהלך המחלה שונה בין קבוצות עם תבניות ביטוי שונות.[3]

הסקת מסקנות[עריכת קוד מקור | עריכה]

אשכול[עריכת קוד מקור | עריכה]


 אישכול (clustering) - מונח שנטבע לראשונה ב 1939 ע"י TRYON ומתייחס לשיטות שונות לקיבוץ אובייקטים מאותו סוג לאשכולות. בעולם המחקר, האישכול הוא דרך לארגון מידע לתוך קבוצות בעלות משמעות. זהו כלי שמאפשר מיון אובייקטים שונים לתוך אשכולות בצורה שדרגת הקשר בין שני פרטים באותה קבוצה הוא מקסימלי ובין שני פרטים מקבוצות שונות הוא מינימלי. האישכול הוא כלי שמשמש כמעט בכל תחום בחיינו: למשל, אחסון מוצרי מזון לפי אשכולות (פרות, ירקות, שימורים, תבלינים), מיון בעלי חיים (ציפורים, יונקים, חרקים) וכו'. בדוגמאות הללו הכללים לבניית האשכולות ידועים. אך בעולם המחקר האישכול מתייחס למצבים בהם הכללים לקיבוץ של אוסף נתונים אינם ידועים ואז נעזרים באלגוריתמים של למידה לא-מונחית.

העקרונות החשובים בגישה זו הם:

  1. קביעת הכללים על פיהם נקבעת החלוקה לאשכולות.
  2. קביעת מספר האשכולות.
  3. הדמיון בין פרטים בתוך אשכול הוא מקסימלי.
  4. הדמיון בין פרטים מאשכולות שונים הוא מינימלי.

בהקשר הרפואי גישת האישכול מאפשרת לזהות אוכלוסיות חולים עם מאפיינים דומים, ולמצוא את הכללים להבחין ביניהן. למשל אוכלוסיית החולים עם כאבי ראש והקאות. לכל חולה ישנם נתונים כמו גיל, מין, סימפטומים נוספים, ממצאים בבדיקה גופנית, תוצאות מעבדה וכו'. גישת האישכול מאפשרת לקבץ אותם לקבוצות לפי מחלות זיהומיות (שפעת, דלקת באוזן הפנימית), מצבים גידוליים (גידול מוחי), מצבים מטבוליים (הפרעות אלקטרוליטים, מכת חום) וכו'. מתוך הכללים לקביעת האישכול אפשר ללמוד על מאפיינים נוספים לכל אחד מהמצבים, ההבדלים בין המצבים ולשפר את היכולת לאבחן את החולה הבא שיתייצג עם כאב ראש והקאות. דוגמה נוספת היא אוכלוסייה של חולים במחלה מסויימת שעל ידי גישת האישכול אפשר למצוא בתוכה תת-אוכלוסיות שמתנהגות אחרת ומצריכות טיפול שונה.[4] [5] [6]


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

  • אלגוריתמים היררכים hierarchial clustering יוצרים מבנה מדורג של קשרים בין האובייקטים כמו עץ.
  1. מודלים לפי קישוריות connectivity based: מבוססים על מרחקים בין אובייקטים, מתוך ההנחה שאובייקטים קרובים דומים יותר מאובייקטים מרוחקים.
  • אלגוריתמים של חלוקה partitional clustering: יוצרים קבוצות שמסווגות לפי מודל האישכול בו משתמשים.
  1. מודלים לפי מירכוז centroid based: (למשל K-Means) מבוססים על מציאת וקטור מרכזי שמייצג את האובייקטים באותו אשכול.
  2. מודלים לפי התפלגות distribution based: דומים במהותם למודלים סטטיסטים distribution models
  3. מודלים לפי צפיפות density based: מבוססים על יצירת אשכול באזורים בהם צפיפות האובייקטים גדולה יחסית. אובייקטים באזורים של צפיפות נמוכה נחשבים בד"כ כרעש.

כימות (Quantification Issues)[עריכת קוד מקור | עריכה]

הגישה הממצה (The Exhaustive Approach)[עריכת קוד מקור | עריכה]

חישוביות ויעילות[עריכת קוד מקור | עריכה]

אלגוריתם K-Means[עריכת קוד מקור | עריכה]

תבנית {{אלגוריתם}} ריקה מתוכן. יש להזין פרמטרים בערך או בוויקינתונים.


אלגוריתם k-means clustering הוא כלי בכריית מידע לבצע אישכול לאוסף נתונים [7]. האלגוריתם שייך למשפחה של אלגוריתמים המבצעים אישכול על ידי חלוקה partitional ובנוי על מודל המירכוז. בהנתן אוסף אובייקטים בגודל N, כאשר לכל אובייקט יש P פרמטרים (כל אובייקט הוא וקטור בגודל P), האלגוריתם יחלק את האובייקטים ל K אשכולות. לכל אשכול יש צנטרואיד C שהוא הממוצע הגאומטרי של כל האובייקטים באשכול.כל אובייקט משוייך לצנטרואיד הקרוב ביותר כך שסכום ריבועי המרחקים בין כל אובייקט באשכול לצנטרואיד הוא מינימלי.

כלומר עבור כל אשכול j נמצא לכל האובייקטים באשכול את ריבוע המרחק מהצנטרואיד של האשכול C. נסכום זאת לכל האובייקטים באשכול ואז לכל האשכולות. נרצה למצוא את הסכום המינימלי של הפונקציה.
השלבים באלגוריתם:

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


יתרונות האלגוריתם: פשוט ומהיר הסיבוכיות שלו ליניארית N*K*P*I מכפלה של מספר האובייקטים במספר הפרמטרים בווקטור במספר האשכולות ובמספר החזרות.
חסרונות האלגוריתם: מצריך הגדרה מראש של K, לא מדוייק במצבים של אשכולות בגדלים שונים, צפיפויות שונות וצורות אשכול לא גלובולריות [8]

מידע לתבונה ולהחלטה - למידה מונחית From Knowledge to Wisdom to Decision - Supervised Learning[עריכת קוד מקור | עריכה]

אחזור מידע (Information Retrieval (IR) Paradigms)[עריכת קוד מקור | עריכה]

תהליך איחזור מידע ((Information Retrieval (IR) מתחיל בכך שהמשתמש מכניס שאילתא למערכת. שאילתות הינן הצהרות לגבי צורך במידע. השאילתא של המשתמש מושווית למידע שמכיל בסיס-הנתונים. באיחזור מידע השאילתא לא מאתרת אובייקט יחיד, אלא בדר"כ יש מספר אובייקטים העשויים להתאים כתשובה לשאילתא, ברמות שונות של רלבנטיות לשאילתא. רוב מערכות ה-IR מחשבות בעת החיפוש במאגרי הנתונים לכל אובייקט במאגר את ההתאמה (הרלבנטיות) שלו לשאילתא. האובייקטים מדורגים על פי הרלבנטיות, ואלו המדורגים במקומות הראשונים מוצגים למשתמש. יעילות החיפוש מוגדרת על ידי הגורמים הבאים: דיוק (Precision)הינו היחס בין המסמכים הרלבנטיים למשתמש מתוך כלל המסמכים שנמצאו. איחזור (Recall) הוא היחס בין המסמכים שהוצגו למשתמש לבין כלל המסמכים הרלבנטיים שקיימים במאגר המידע. נפולת (Fall-out) היחס בין המסמכים הבלתי רלבנטיים שהוצגו למשתמש, לבין כל המסמכים הלא רלבנטיים המצויים במאגרי המידע. חיפוש טוב יקבל דיוק גבוה, איחזור גבוה, ונפולת נמוכה. חיפוש מידע רפואי נעשה במאגרים רבים ושונים: מאגרי מאמרים העוסקים בנושאים רפואיים ומדעיים (PubMed, ועוד), מאגרים בנושאים ביולוגיים (SwissProt, ועוד). תחום חיפוש מידע רפואי עוסק גם ברשומות רפואיות הנמצאות במכוני מחקר ובתי-חולים. דוגמא למחקר המשתמש באיחזור מידע ככלי עבודה עיקרי הינו ענף ה-Genome Wide Association Studies. במחקרים אלו משתמשים בנתונים אשר התקבלו ובמאגרי-מידע של תוצאות ניסויים במחקרים שהועלו לרשת האינטרנט. החוקרים מחוייבים במקרים רבים להעלות לרשת את תוצאותיהם, בכדי שחוקרים אחרים יוכלו לעשות בהן שימוש. דוגמא למאגר מידע כזה: NCBI dbGaP database [9] [10].

ספרות רפואית[עריכת קוד מקור | עריכה]

מיון MeSH[עריכת קוד מקור | עריכה]

Medical Subject Headings) MeSH) הוא מערכת קיטלוג מבוקרת של עיתונים ומאמרים מדעיים שהוקמה על ידי הספריה הרפואית הלאומית של ארצות הברית. המערכת מקטלגת את המאמרים שנמצאים בבסיס המידע של MEDLINE/Pubmed. מערכת זו מחלקת את המידע לפי נושאים ותתי-נושאים כך שכל ערך נמצא תחת שורה של נושא ותת-נושא ואף הערך עצמו יכול להכיל נושאים ותתי-נושאים שונים. מונחי ה- Mesh[1] מסודרים גם בסדר אלפבתי וגם בסדר הירארכי. לעיתים ניתן להגיע לערך מכיוונים שונים. עבודת הקיטלוג מתבצעת באופן ידני על-ידי ספרנים מומחים אשר עוברים על המאמרים ומקטלגים את המושגים המדעיים המופיעים בהם תחת הכותרות הנכונות. היתרון של מערכת זו הוא בכך שהיא מאפשרת לצמצם את תוצאות החיפוש של הערך לתוצאות שהן יותר רלבנטיות למחפש. בניגוד לחיפוש רגיל (ב-Pubmed למשל) שיעלה את כל המאמרים בהם מופיע המושג המבוקש בלי תלות בהקשר, בחיפוש במערכת ה-MeSH ניתן להגיע למאמרים בהם מופיע המושג תחת הנושא הרלבנטי למחפש.

Algorithmic Approach[עריכת קוד מקור | עריכה]

חוקי הלמידה (Rule Learning)[עריכת קוד מקור | עריכה]

רשומה אלקטרונית רפואית (EMR)[עריכת קוד מקור | עריכה]

הרשומה הרפואית הממוחשבת, היא ריכוז המידע הרפואי של המטופל באופן דיגיטלי, למטרת ייעול ושיפור הטיפול הרפואי, והפיכתו לנגיש עבור הצוות המטפל באשר הוא. קיימים מינוחים שונים למושג זה המשמשים בהקשרים שונים. הרשומה הרפואית הממוחשבת (Electronic Medical Record) באה לציין את ריכוז המידע הרפואי של המטופל, לרבות המידע הקליני, המעבדתי והדמייתי. השימוש במושג (EHR - Elctronic Health Record), בא לציין את הרשומה הרפואית ברמת האירגון, כגון בית החולים או קופת החולים (מבטח), ואשר עשוייה לכלול, גם מרכיבים נוספים שאינם חלק מהרשומה הרפואית, כגון דוחות סיעודיים, חשבונות, סוג הביטוח ועוד. לצד אלה התפתח גם השימוש במונח Personal Health Record- PHR שבא לציין את הרשומה הרפואית שבחזקתו או בנגישותו של המטופל. מונח זה שהתגבש עם התפתחות העידן האינטרנטי והרשתות החברתיות[11], הולך והופך משמעותי יותר.

המעבר מהתיק-הרפואי הכתוב לממוחשב, מאפשר לצד איחסון המידע הרפואי, גם אינטגרציה של המידע הדיגיטלי המגיע ממקורות שונים. לצד תלונות החולה, הצגת ההדמייה שביצע המטופל ובדיקות הדם, שמאפשרות את העשייה הקלינית היומיומית, מתאפשרת גם אינטגרציה עמוקה יותר של כריית המידע הרפואי והשגת ידע רפואי (Knowledge). בעזרת כלים הלקוחים מתחום כריית הנתונים המשלבים זיהוי מוטיבים, למידת-מכונה, אישכול ועוד, ניתן לזהות מתוך עומס המידע הרפואי המצטבר גם מגמות, זיהוי גורמי-סיכון, ואף בעתיד, התאמת הטיפול הרפואי באופן פרטני (Personalized medicine).[12] ראשיתה של הרשומה הרפואית הממוחשבת , בניסיונות של חברת IBM בשנות ה-60, בשילוב מערכות המיחשוב עם העשייה הרפואית. עם השנים והתפתחות מערכות מיחשוב לניהול אירגון (ERP) נותר מאחור תחום ניהול המידע הרפואי, ובאופן מסורתי הרשומה הרפואית תועדה במהלך העשורים בכתב. המוטיבציה למיחשוב המערכות הרפואיות, נבע בראש ובראשונה מהצורך להביא לנגישות המידע למערכת הרפואית, ומתוך מטרה לייעל ולצמצם את עלויות הטיפול הרפואי. גישה זו שבבסיסה הפרדיגמה של פיתרון כולל top down design הביאה לעיתים לכשלון יותר מאשר להצלחה. הטענה לכשלון ההטמעה של מערכות אלה היתה שהשיפור הצפוי ממיחשוב התיק הרפואי (כ-6% לשנה לפי אחד המאמרים [13] ) קטן בהשווה להשקעה הדרושה לשם הטמעתם באירגונים גדולים. [14]

חקיקה[עריכת קוד מקור | עריכה]

למרות הזמן שחלף, שילוב מערכות מיחשוב-רפואי בחלק מהמדינות המפותחות עדיין בראשיתו. בארה"ב, רק 10% מכלל בתי החולים הטמיעו מערכות EMR עד 2006 [15] מתוך הבנה של היתרונות של איחסון המידע והפיכתו לזמין לצוות המטפל, כחלק מהחקיקה של ה- American Recovery and Reinvestment Act of 2009 הוקצו 25.8 מליון דולר לצורך פיתוח והטמעה של מערכות מחשוב רפואי. צורך זה בא לידי ביטוי כבר ב-2004 לנוכח ההרס שזרעה אחריה הסופה קתרינה, לאחר שהתברר שמעוצמת ההרס, אבדו רשומות רפואיות שהועלו על הכתב של מאות אלפי תושבים[16]. רשומות שאוחסנו באופן דיגיטלי כגון רישומי חיסונים במסגרת תוכנית החיסונים הארצית, ניצלו, וחסכו בכך עלות של מיליוני דולרים.

אחת המכשלות העיקריות העומדות בפני הגורמים הבאים לפתח ולהטמיע מערכות מידע רפואי, היא חוסר-האחידות והעדר סטנדרט מאחד הן למבנה הרשומה הרפואית והן לאופן בו מערכות מיחשוב בין אירגוניים אמורים להעביר את המידע בינהם. קיימים פרוטוקלים שונים לאיפיון הרשומה הרפואית ולהעברת המידע רפואי כגון HL7 (WHO) , ANSI X12 (בארה"ב), באירופה CEN's TC/251 , רק לשם ההדגמה, ופרוטוקולים אחרים לשמירה ואיחזור מידע הדמייתי כגון DICOM ואחרים.

במטרה לעקוף את חוסר האחידות ולעודד פיתוח יישומים שיאפשרו תיקשרות בין המערכות השונות, נכלל סעיף במסגרת חוק ה:Health Insurance Portability and Accountability Act בארה"ב , שקרא לשפר ולייעל את הקשר בין הגופים השונים, זאת לצד קביעת כללים נוקשים לגבי אחריות השמירה של המידע הרפואי לסוגיו.

החקיקה במדינת ישראל: הצעת חוק רשומה רפואית לאומית, התשס"ז - 2007 , שבא בניסיון להסדיר את הנושא, זאת לצד ועדה שהוקמה על ידי משרד הבריאות במטרה לבחון את הבטיו השונים . בארץ ניתן לראות פער הקיים בין מערכת הרפואה הציבורית של בתי החולים, שם מתקיימות מערכות-המידע של הארגון (ERP) לצד ערב רב של מערכות מידע רפואי (EMR) לצד מערכות המידע הרפואי של הקופות המבטחות, שם ההטמעה של מערכות מידע רפואי קיימות כבר שנים רבות. בניסיון לשנות מגמה זו התקבלה החלטה על הטמעת מערכת ניהול מידע רפואי - נמ"ר שנכנסה ל-11 בתי חולים ציבוריים.

מודל עסקי[עריכת קוד מקור | עריכה]

מודלים עיסקיים שונים שימשו גופים שונים בפיתוח מערכות תוכנה לרשומה רפואית ממוחשבת. אחת המגבלות העיקריות בתחום, כאמור, הוא העדר סטנדרטים אחידים אם באיפיון הרשומה הרפואית ובתקשרות שבין האירגונים השונים. עובדה זו העלתה את עלויות הפיתוח של הפתרונות השונים. מתוך הכרה ביתרונות הכלכליים הגלומים במידע בכלל ובמידע הרפואי בפרט, נעשו ניסיונות שונים של חברות בתחום כריית המידע כגון גוגל (GOOGLE HEALTH) שלא צלחו, וזאת בשל חוסר היענות של המשתמשים (הן הרופאים לצד המטופלים), עלויות כלכליות וחשש מסוגיות של אבטחת המידע. חברות קטנות שנכנסו לתווך זה ניסו לתת פתרונות שונים שבאו לענות הן על הצורך של רשומה רפואית עבור המטפל, והן גישה למידע עבור המטופל (CPR). אחד היישומים הללו של חברת PRACTICE FUSION [17] שמהווה Web based EMR , שם לו כמטרה להנגיש את המידע לרופא ולמטופל תוך פיתרון עלויות תוכנה- התקנה מחד גיסא , וניוד התיק הרפואי עם המטופל מאידך גיסא, תופס תאוצה. פתרון זה שמשמש (למעלה מ-150,000 רופאים), משלב מודל של זמינות המידע הרפואי דרך הרשת, על המשתמע (צפייה בנתונים , תיעודם, הפקת מרשמים, והפניות לבדיקות). המידע נגיש למטופל ולמטפל, לצד אפשרות של כריית מידע מהנתונים שהיא המניע האמיתי מאחורי והמודל העיסקי.

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

בארץ, המודל העיסקי שונה וזאת בשל השוני במבנה מערכת הבריאות. המודל העיסקי מממש בין השאר את יתרונות הרשומה הרפואית הממוחשבת עם כריית הנתונים הרפואית. לשם הדוגמה, בארץ משמש את קופ"ח מכבי גוף המיישם ניתוח של מידע רפואי ("מדיקל אינפורמטיקס") והמתבסס על הרשומה הרפואית הממוחשבת. במסגרת זאת נעשה שימוש באלגוריתמים שונים כגון אלגוריתמים של זיהוי תבניות (motif findings) ואישכול, לצד שימוש בכלים אחרים מתחום כריית הנתונים, המשמשים לאיתור קבוצות שבסיכון (כגון סוכרת , יתר לחץ-דם), בחינת היענות של המטופלים לטיפול (על ידי הצלבת מידע המגיע ממערכות שונות - כגון הפקת מרשמים , לצד רכישות של תרופות), ואף לצורך התראות בפני הרופא המטפל במצבים הדורשים את התייחסותו. לצד מערכת EHR שכזו מתפתחת ברוח התקופה מקבילה של PHR , תוך שימוש באתרי האינטרנט של הקופות והנגשת המידע הרפואי למטופל. מערכות אלה מאפשרות למטופל צפייה בנתונים מתיקו האישי, תיעוד רשמיו, ואף קבלת מידע מעיבוד נתוני המעבדה הרלבנטיים לו להפקת וחישוב גורמי סיכון למחלות כרוניות , זאת לצד המלצות לשינוי אורחות החיים.

אפליקציות חדשות[עריכת קוד מקור | עריכה]

פרטיות והצפנה[עריכת קוד מקור | עריכה]

הדרישה להגנה על הפרטיות היא תנאי ליצירת תשתית רחבה של מידע רפואי ממוחשב נגיש, שיכול להוות בין היתר בסיס לכריית מידע רפואי. דרישה זו מתבטאת בין היתר בחקיקה (לדוגמה, בארצות הברית - ה-Health Insurance Portabilty and Accountability Act מ-1996) ובסטנדרטים רגולטוריים מחמירים להם נדרשים יישומים הקשורים במידע רפואי אישי (כגון רשומות רפואיות אלקטרוניות - Electronic Medical Record). החשש מפגיעה בפרטיות עקב מחשוב המידע הרפואי והפיכתו נגיש לגורמים רבים עשוי להוות מכשול לשימוש נרחב ברשומות חולים אלקטרוניות על אף היתרונות הגדולים הקיימים ביישום נרחב של כלי רב עוצמה זה. שיטה להבטיח שמירה על פרטיות ביחס לגורמים לא מורשים היא הצפנה (encryption/enciphering), תהליך שבו מסר מקור (plaintext) הופך למסר מוצפן (ciphertext). התהליך ההפוך של שחזור מסר המקור מהמסר המוצפן קרוי פענוח (deciphering/decryption). מבחינים בין שיטות הצפנה שהן בטוחות מבחינה חישובית (computationally secure) לבין שיטות הצפנה שהן בטוחות ללא תנאי (unconditionally secure). במקרה הראשון המשאבים הנדרשים לפיצוח הצופן הם כה גדולים שמבחינה מעשית הדבר לא ניתן לביצוע; במקרה האחרון הצופן אינו ניתן לפיצוח ללא קשר לכמות המשאבים שיושקעו בדבר. יש להדגיש שהצפנה היא גישה להגנה על פרטיות מגורמים לא מורשים, אך אינה מהווה הגנה מפני גורמים מורשים העושים שימוש לרעה באפשרותם לגשת למידע. הבחנה נוספת היא בין הצפנה סימטרית (צופן סימטרי) להצפנה א-סימטרית (הצפנת מפתח פומבי). במקרה של הצפנה סימטרית (לדוגמה: Monoalphabetic substitution cipher, Vernam's One-time pad Cipher) המפתח המשמש בתהליך ההצפנה ובתהליך הפענוח הוא זהה. מכשול יסודי בשיטות הצפנה סימטריות הוא הצורך לספק את המפתח בנוסף ל-ciphertext כשהמפתח לא קיים אצל המפענח. הצפנה א-סימטרית מהווה פתרון לבעייה זו, על ידי שימוש במפתח שונה להצפנה ולפענוח. שיטת ההצפנה א-סימטרית המשמשת כיום באופן נרחב היא RSA, הקרויה על שם מפתחיה: Rivest, Shamir and Adelman. השיטה מבוססת על קיום מפתח פומבי (public key) המשמש להצפנה (מפתח זה הינו מכפלה של שני מספרים ראשוניים גדולים) ומפתח פרטי (private key) המשמש לפענוח (המבוסס על שני המספרים הראשוניים שמכפלתם היא המפתח הפומבי). שיטה זו היא דוגמה ל-computationally secure encryption (המשאבים החישוביים הנדרשים לשחזור המספרים הראשוניים שמכפלתם היא המפתח הפומבי גורמים לכך שפיצוח ההצפנה אינו מעשי).

בינה מלאכותית ברפואה - מהפכה ויצירתיות[עריכת קוד מקור | עריכה]

ניתוח מול תבונה (Analysis vs. Intelligence)[עריכת קוד מקור | עריכה]

אלגוריתם גנטי(GAs)[עריכת קוד מקור | עריכה]

תבנית {{אלגוריתם}} ריקה מתוכן. יש להזין פרמטרים בערך או בוויקינתונים.


רעיון האלגוריתם הגנטי הוצג בשנות ה 60 על ידי Ingo Rechenberg . האלגוריתם מתבסס על תהליך הברירה הטבעית בבעלי חיים, שתואר לראשונה על ידי צ'רלס דרווין , כבסיס לפתרון בעיות חישוביות. בתהליך הברירה הטבעית בטבע נוצרות תכונות חדשות באופן אקראי. התכונות נוצרות על ידי שינויים ב DNA של בעל חיים שמהווה את הבסיס הגנטי לכלל התכונות שלו. התכונות שמקודדות ב DNA עוברות לצאצאים של בעל החיים שנושא אותם בתהליך ההתרבות, בו הצאצא מקבל תכונות משני הורים. תדירות הופעתה של תכונה חדשה באוכלוסיה, שמשפרת את ההישרדות תגדל, בעוד שתדירותה של תכונה הפוגעת בהישרדות תקטן עד שתעלם לחלוטין. התהליך של הברירה טבעית זהה לכל תכונה, כיוון שכל התכונות מקודדות באותה שיטה בקוד הגנטי. האלגוריתם הגנטי בנוי בצורה כללית כך שהוא לא מוכוון לפתור שום בעיה ספציפית, אלא נועד ליצר מנגנון גנרי לפתרון בעיות, בתנאי היחיד שניתן יהיה לזהות אם הפתרון טוב יותר או פחות. יש להגדיר מראש מהו פתרון טוב. האלגוריתם הגנטי בנוי מהרכיבים הבאים: 1. הצגת הבעיה במבנה דמוי כרומוזום (מערך של נתונים) - מבנה נתונים בו כל איבר במבנה מכיל ערך אחד מתוך סט של ערכים אפשריים. 2. בריאה - יצירה רנדומלית של מספר פרטים שמהווים את האוכלוסיה הראשונית. כל פרט מיוצג על ידי כרומוזום עם ערכים ספציפיים 3. ברירה טבעית - תהליך שמורכב משני חלקים: מציאת פונקצית התאמה fitness function שתזהה את רמת ההתאמה של פרטים שונים לסביבה ומציאת הפרטים שפותרים את הבעיה בצורה מיטבית ,והעדפת הפרטים היותר טובים ביצירת הדור הבאbiased selection. 4. שיחלוף גנטי genetic crossovers- כל "צאצא" נוצר משני "הורים", כאשר הצאצא מכיל חלק מהערכים שנמצאו אצל ההורה האחד, ןהחלק האחר הגיע מההורה האחר. 5. מוטציות - שינוי רנדומאלי של ערכים במבנה הנתונים. מטרת המוטציות להכניס אפשרות לשיפור פונקציית ההתאמה כפי שבטבע מוטציות עשויות להביא לשיפור בהתאמת היצור החי לסביבתו (דוגמא: מוטציה בגן לאנמיה חרמשית מהווה חיסון בפני מלריה ולכן שכיחה באפריקה). שלבים 3,4 ו5 חוזרים על עצמם עד שתנאי העצירה מתקיים. 6. הפסקת החזרה על התהליך. תנאי עצירה - שינויים נוספים אינם משפרים את הצאצאים. ניתן למצוא מידע נוסף על אלגוריתמים גנטים בקישורים הבאים: [18] [19]


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

היסטוריה ועתיד ברפואה[עריכת קוד מקור | עריכה]

רפואה היא מדע של אבחנה, טיפול, מניעה של מחלות ופגיעה בגוף והנפש. בהסתכלות היסטורית, הרפואה היתה עם פחות כלים וטכנולוגיה לאבחון מחלות תוך שימת דגש לחיצוניות החולה ולא לפנים גופו(ובפרט שלא להסתכלות ברמה התאית). אם היינו חולים בשנת 1900 אז היתה מוגבלות מסויימת לגבי התרופות והרופא היה נותן לך נוגדי כאב עד שהגוף היה קורס או נלחם במחלה לבדו. שים לב שהיתה חוסר תקשורת ברפואה ופחות פירסומים, ומחלות שניתנות לטיפול היו מוגדרות כחשוכות מרפא. אני אפנה את תשומת ליבכם להיסטוריה של הרפואה באתר http://www.spartacus.schoolnet.co.uk/REVhistorymedicine.htm

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

http://www.thenewatlantis.com/publications/the-future-of-medical-technology

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


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

האלגוריתם פרופילז - חלק א[עריכת קוד מקור | עריכה]

תבנית {{אלגוריתם}} ריקה מתוכן. יש להזין פרמטרים בערך או בוויקינתונים.


בינה מלאכותית ברפואה - גרפים ולמידת מכונה[עריכת קוד מקור | עריכה]

בעיית ההפשטה (Problem Abstraction)[עריכת קוד מקור | עריכה]

Zero-Knowledge Scenarios[עריכת קוד מקור | עריכה]

אלגוריתם A*[עריכת קוד מקור | עריכה]

אלגוריתם נפוץ ויעיל למציאת מסלול אופטימאלי בין שתי נקודות בתוך מרחב חיפוש או גרף פתרונות. מדובר באלגוריתם המשתמש בחיפוש Best-first search המתחשב בדרך שכבר בוצעה בפועל עד נקודה בדרך ליעד, בנוסף לדרך הצפויה להתבצע אל עבר המטרה. האלגוריתם מעריך את הדרך לצומת n באמצעות הפונקציה (f(n) = g(n) + h(n כאשר (g(n הינו מחיר המסלול הקצר ביותר לצומת n שמצאנו עד כה (h(n הינו המרחק המוערך למטרה. אם (h(n תמיד אוטפטימית, ניתן להוכיח כי *A מחזיר פיתרון בעל מחיר מינימלי.

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

רשתות נוירונים מלאכותיות (ANNs)[עריכת קוד מקור | עריכה]

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

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

תא העצב בנוי לרוב בצורה בה הוא מקבל מידע ממספר מקורות דרך שלוחות תאיות הנקראות דנדריט. המידע מועבר כזרם חשמלי הזורם בדנדריטים אל גוף תא העצב. לאחר עיבוד מידע "הקלט" הזה מוציא תא העצב "פלט" המועבר גם הוא כזרם חשמלי בשלוחה תאית הנקראת אקסון (סיב עצבי) שמעבירה את המידע הזה לתא הבא (דרך איזור החיבור בין התאים שנקרא סינפסה). השאלה אם תא העצב יעביר זרם באקסון או לא (או יעביר עוצמה מסויימת של זרם) תלויה בעיבוד הזרמים המגיעים לתא, דהיינו: בסכום המשקלים היחסיים שהתא נותן לכל אחד מהזרמים בדנדריטים. הרשת העצבית בנויה מתאי עצב רבים המקושרים ביניהם בקשרים רבים. היתרון של רשת עצבית הוא שמתבצע בה תהליך למידה שבו הרשת לומדת ל"כייל" את עצמה לפי "הנסיון". תהליך הלמידה הזה מתבצע ע"י שינוי המשקלים היחסיים של כל הקשרים לפי התוצאה ("הפלט"). אופן ביצוע החישובים בתוך האלגוריתם אינו ניראה למשתמש, והוא כעין "קופסא שחורה". התאוריה שעליה מתבסס הרעיון החישובי לקוחה ממדעי המוח ונקראת Hebbian theory ולפיה הסינפסה משנה את היכולת שלה במהלך תהליך הלימוד. דוגמא לאלגוריתם מסוג רשת עצבית הוא Backpropagation בו משקל הקשר בין הנוירונים מתעדכן משכבת הפלט חזרה לכוון נוירוני הקלט על סמך הפער בין פלט הרשת לתוצאה הרצויה עבור כל אחת מדוגמאות האימון [20]. רשתות עצביות מלאכותיות נמצאות בשימוש במדעים הקוגניטיביים ובמערכות תוכנה שונות כמו מערכות של אינטליגנציה מלאכותית לזיהוי פנים, זיהוי כתב יד, חיזוי שוק ההון, ניתוח קול, ועוד.

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

האלגוריתם פרופילז- חלק ב[עריכת קוד מקור | עריכה]

תבנית {{אלגוריתם}} ריקה מתוכן. יש להזין פרמטרים בערך או בוויקינתונים.


בינה מלאכותית ברפואה - ללמד מחשב לקרוא ביולוגיה[עריכת קוד מקור | עריכה]

אחזור מידע[עריכת קוד מקור | עריכה]

כריית טקסטים[עריכת קוד מקור | עריכה]

בלשנות (Computational Linguistics)[עריכת קוד מקור | עריכה]

התפתחות שפה טבעית (Natural Language Processing - NLP)[עריכת קוד מקור | עריכה]

גילוי ידע ביולוגי (Biological Knowledge Discovery)[עריכת קוד מקור | עריכה]

מכריית מידע לרפואה אישית -מודל בסיסי - רפואה וחיזוי[עריכת קוד מקור | עריכה]

מוטיבציה[עריכת קוד מקור | עריכה]

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

ביקורת:

הכתיבה צריכה להיות יותר אובייקטיבית, ממוקדת, ומתייחסת אל ההווה כאשר ניתן.

המשפט הראשון נראה לי מיותר.

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

המשפט השלישי - כדאי לתת מקורות, או לפחות כמה דוגמאות בכמה מילים. כללי מדי.

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

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

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

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

הערה: מה הקשר בין כריית מידע רפואי למה שנכתב??

Nonlinear Model Fitting[עריכת קוד מקור | עריכה]

מודל מהווה תיאור מתמטי של מצב או דינמיקה של תופעה. השימוש במודל לתיאור תופעה ביולוגית/רפואית יכול לשמש להבנת התוצאות של ניסוי קליני רפואי - האם קיים קשר בין התופעות שנבדקו, האם חלים שינויים ביולוגיים לאורך זמן וכו'. בניית מודל נעשית על ידי התאמה של תוצאות ניסויות למודל. הבעיה בהתאמת התוצאות היא שקיים "רעש", כלומר תוצאות שאינן מדוייקות מסיבות פיזיקליות (עריכת הניסוי) ותוצאות שמקורן בשונות ביולוגית בין הפרטים. להל"ן דוגמא לעבודה מדעית המתבססת על גישה זו [21]. המודל שמתאים לתיאור תופעות ביולוגיות בדרך-כלל אינו ליניארי. מתייחסים לבניית המודל כאל מציאת הפתרון הטוב ביותר מתוך אוסף עצום של פתרונות אפשריים solution landscape. התאמת תוצאות למודל לא-ליניארי יכולה להתבצע בכמה שיטות: שיטת האלגוריתם הגנטי, Hill Climbing algorithm, או Bootstrapping. לכל שיטה מאלו יש יתרונות וחסרונות. הדרישה מאלגוריתמים אלו היא לבצע את ההתאמה באופן מדוייק ככל שניתן, תוך הימנעות מהיתקעות בlocal minima.

תקן (Benchmarking)[עריכת קוד מקור | עריכה]

זהו הליך של קביעת סטנדרטים (תיקנון), אשר על מוצר כלשהו (תוכנה, אלגוריתם, וכו') לעמוד בהם. בבניית מודל לתופעה רפואית חשוב ביותר לבצע תיקנון של המודל, שכן באמצעות התיקנון ניתן לקבוע את איכות המודל [22]. קריטריונים המשתמשים לתיקנון מודלים המתארים תופעות ברפואה: 1. Curve difference- השוואה בין העקומה של המודל המוצע מחד, לבין עקומת ה training set -שהיא עקומה המתארת את התופעה כפי שנצפתה בניסויים במציאות מאידך. אחת השיטות להשוואה מבוצעת באמצעות מדידות ריבועי המרחקים בין שתי העקומות (הRMS). 2. Shape classification- השוואה בין הצורה של הגרף של המודל המוצע, המבטאת בעצם את התנהלות התהליך הרפואי, לבין צורת הגרף המתקבל מן הניסויים בשטח. צורת הגרף מתוארת באופן הבא: ירידה (D-Descent) C- Curve עליה (U-Up) ישר (S-Steady) אם לדוגמא, בגרף של המודל מתקבלת הצורה הבאה: DCUD, ובגרף של הניסויים בשטח הצורה היא DCUS, ברור ששני הגרפים שונים זה מזה. 3.Parameter Verity- בדיקת מהימנות הפרמטרים שבשימוש. בדיקה זו מבוצעת מכיוון שברפואה מותאמת אישית לוקחים בחשבון כי לכל מטופל פרמטרים בעלי ערכים שונים. 4. Biological prediction- מסתירים מן המחשב חלק מן המידע האמיתי שהצטבר על סמך הניסויים שבוצעו בשטח, ונותנים לו להמשיך את הגרף. אח"כ משווים בין הגרף שהמחשב שרטט לבין ההמשך של הגרף האמיתי. זהו הפרמטר החשוב ביותר.

שיטת מונטה-קרלו (Monte-Carlo)[עריכת קוד מקור | עריכה]

תבנית {{אלגוריתם}} ריקה מתוכן. יש להזין פרמטרים בערך או בוויקינתונים.


האלגוריתם דיברסיטז (DIVERSITASE)[עריכת קוד מקור | עריכה]

תבנית {{אלגוריתם}} ריקה מתוכן. יש להזין פרמטרים בערך או בוויקינתונים.


מכריית מידע לרפואה אישית - Autonomous Discovery of Cross Patient Phenomena[עריכת קוד מקור | עריכה]

Association Analysis[עריכת קוד מקור | עריכה]

בעיית הסגמנטציה[עריכת קוד מקור | עריכה]

בהקשר הביו-רפואי, בעיית המקטוע (סגמנטציה) מתייחסת ליכולת לחבר אוסף של נקודות, המייצגות על פי רוב סדרת דגימות על פני רצף זמן (time series), באופן שיהיה בעל משמעות ביולוגית. מקטוע אופטימלי ישקף באופן נכון שלבים (פאזות) בתהליך הביולוגי ויסייע בהבנתו על אף אי-הודאות המובנית לגבי פרקי הזמן שבין הדגימות. בהתאם לשאלה הביולוגית או הרפואית, מקטוע נכון יכול לתרום להבנת התהליך הביולוגי, לזיהוי של motifs ושל אסוציאציה בין motifs, ועוד. אפיון אמין של התהליך הביולוגי עשוי להוביל לתובנות מעשיות בתחומי הרפואה; לדוגמה, זיהוי תת-קבוצות של מטופלים המגיבים באופן שונה לטיפול והתאמת הטיפול לחולה בהתאם למאפייניו האישיים (Personalized medicine). את אוסף נקודות הדגימה ניתן לתאר בעקומה שבה ציר ה-X מייצג את הזמן וציר ה-Y מייצג את ערכי המשתנה הנדגם (בהתאם לתהליך הביולוגי הנבדק). המטרה היא, כאמור, לחלק את הנקודות למקטעים שייצגו באופן נאמן את התהליך הביולוגי הרלוונטי. תהליך המקטוע יכול להתבצע בגישות שונות, שמשותפת להן השאיפה להקטין את מרחק ה- Root mean square (מרחק ה-RMS) בין נקודות הדגימה לפונקציה המתקבלת לאחר המקטוע; קיים trade-off בין הרצון להקטין את מספר המקטעים לבין מינימיזציה של מרחק ה-RMS. יש לציין, שעל אף השאיפה שתהליך המקטוע יתרום להבנת התהליך הביולוגי, האלגוריתמים העיקריים המשמשים בהקשר זה מבוססים על שיקולי מרחק RMS בלבד. מבחינה מתמטית, מספר האפשרויות למקטוע של רצף של n נקודות הוא מסדר גודל של 2 בחזקת (n-2); גם כשידוע מספר המקטעים (k), המורכבות החישובית (computational complexity) עצומה, והמשאבים החישוביים הנדרשים לפתרון הבעייה הופכים אותה באופן מעשי לבלתי פתירה NP-complete. דרך אחת להתמודד עם בעיית הסגמנטציה בהינתן המורכבות החישובית היא בגישה של Top down design, על ידי שימוש באלגוריתמים הייוריסטים. דוגמאות לאלגוריתמים מסוג זה הן: 1. אלגוריתם "חלון ההזזה" (sliding window) - בגישה זו, מקטע חדש שמוצאו בנקודה מסויימת יוארך עד שמרחק ה-RMS יעלה על סף שהוגדר מראש (קצה המקטע יהיה בנקודה האחרונה שבה לא הייתה חצייה של הסף). 2. אלגוריתם top down - בגישה זו, השלב הראשון הוא חיבור הנקודה הראשונה לנקודה האחרונה ב-time series. בשלבים הבאים המקטע המדובר (בשלב הראשון) ומקטעי הבת של מקטע זה (בשלבים מאוחרים יותר) יחולקו כל פעם לשניים בנקודות חלוקה שתוכתבנה על ידי שיקול של מרחק RMS מינימלי. 3. אלגוריתם bottom up - בגישה זו נקודת המוצא היא חיבור של כל הנקודות ב-time series; בכל אחד מהשלבים הבאים מבוצע איחוד של 2 מקטעים סמוכים; בחירת נקודות האיחוד מוכתבת על ידי שיקול של מרחק RMS מינימלי. יש לציין שבכל אחד משלושת המקרים מדובר באלגוריתם חמדן (greedy algorithm), המוצא את הפתרון המקומי המיטבי לכל שלב ללא התחשבות בהשפעה האפשרית על הפתרון הכולל, ועשוי להוביל לנקודות מינימום מקומיות (local minima) במרחב הפתרונות (solution landscape). ישנם חוקרים, ביניהם צוות מהמחלקה לביולוגיה חישובית באוניברסיטת בר אילן, שניגשו לבעיית המקטוע בגישה של Bottom-up design, המבוססת על פירוק (disassembly) של הבעייה הכללית לתת-בעיות; תת הפתרונות (sub-solutions) המתקבלים עבור תת הבעיות מהווים את הבסיס לפתרון דטרמיניסטי ואופטימלי של הבעייה הכללית. גרסת האלגוריתם שפותחה באוניברסיטת בר אילן מכונה Segmentase, ומבוססת על מטריצת תכנון דינמי (dynamic programming) בעלת שני מימדים - מימד "מצביע הנקודה" (data point index) ומימד "מספר הסגמנטים" (Number of segments). מערך ציוני המטריצה מכתיב אם הצעד הבא יהיה הארכה של מקטע קודם או תוספת מקטע חדש, והיכן יתחיל המקטע (כמה נקודות לפני הנקודה הנוכחית). תוצר האלגוריתם הוא חלוקה מיטבית למספר מיטבי (k) של מקטעים; המורכבות החישובית של השיטה עבור n נקודות היא מסדר גודל של n³. יתרון ה-Segmentase על פני האלגוריתמים ההיוריסטים של מקטוע הודגם באופן אמפירי ביחס לדגימות חולים עם מחלות נגיפיות כרוניות (רפרנס). התוצר של כל האלגוריתמים של מקטוע שנדונו, המתייחסים למערך נתונים (dataset) אחד בכל פעם, הוא פרשנות פרטנית (individualized interpretation), ספציפית לסדרת הנתונים הנתונה. רונן טל בוצר ושותפיו מאוניברסיטת בר אילן פיתחו אלגוריתם ייחודי המבוסס על segmentase ומכונה cis-segmentation. באלגוריתם זה, מילוי מטריצות זהות לאלה המשמשות עבור segmentase מתבצע בו זמנית עבור מספר מערכי נתונים (לדוגמה - סדרות דגימות של חולים שונים). על בסיס מטריצות אלה נוצרת מטריצת קנסות קולקטיבית (collective matrix of penalties) עבור כל תא במטריצות המקוריות, הגובה קנס עבור פרטניות של מערך נתונים מסויים ביחס למערכי נתונים אחרים שנבדקו (individuality penalty). ציונו הסופי של כל תא במטריצות הפרטניות (המקוריות) נקבע על סמך שילוב בין שיקול מרחק ה-RMS לבין קנס הפרטניות. תוצר התהליך הוא פרשנות מותאמת אישית (personalized interpretation, בשונה מ-individualized interpretation) הלוקחת בחשבון את זן (species) מערך הנתונים שאליו משתייך מערך נתונים נתון (לדוגמה - תת קבוצת החולים שאליה משתייך חולה ספציפי). גישה זו מקטינה את הסיכון לתאימות יתר (Overfitting) ומגדילה את הסיכוי לתוצר בעל משמעות ביולוגית אמיתית. MDM-L01T05: Algorithms - Segmentation \ Introduction & Scientific Background

האלגוריתם סגמנטז (SEGMENTASE)[עריכת קוד מקור | עריכה]

תבנית {{אלגוריתם}} ריקה מתוכן. יש להזין פרמטרים בערך או בוויקינתונים.


פרשנות אסוציאטיבית (Associative Interpretation)[עריכת קוד מקור | עריכה]

נושאי רוחב[עריכת קוד מקור | עריכה]

תורת הגרפים[עריכת קוד מקור | עריכה]

אלגוריתמי חיפוש היוריסטיים[עריכת קוד מקור | עריכה]

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

מרחב הפתרונות[עריכת קוד מקור | עריכה]

סיבוכיות וחישוביות[עריכת קוד מקור | עריכה]

תכנות דינאמי[עריכת קוד מקור | עריכה]

מצב למידת מכונה[עריכת קוד מקור | עריכה]

רשתות נוירונים מלאכותיים[עריכת קוד מקור | עריכה]

למידה מונחית[עריכת קוד מקור | עריכה]

למידה מונחית (Supervised learning) היא הפעולה של למידת מכונה באמצעות אוסף נתונים שהפלט הרצוי שלהם ידוע (Supervisory signal). אוסף הנתונים מחולק לסט למידה וסט בחינה. אלגוריתם למידה מונחית מנתח את סט הלמידה ומפיק ממנו מודל מסווג (Classifier) במטרה להכליל את החוקיות מסט הלמידה אל מרחב הקלטים האפשרי כולו, כך שיוכל לחזות את הפלט הנכון עבור כל קלט חדש שיקבל. ביצועי המודל נאמדים באמצעות הרצה על סט הבחינה, אשר חדש ואינו מוכר למודל [24].

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

עצי החלטה[עריכת קוד מקור | עריכה]

בלמידת מכונה על ידי עצי החלטה, האלגוריתם רותם את מושג ה"אנטרופיה" מתורת המידע (Shannon) לשם מציאת משתנה הקלט שמכיל כמה שיותר מידע ביחס אל הפלט הרצוי (supervisory signal). לפי משתנה זה מחלקים את מקרי הקלט לתתי-קבוצות ובכל אחת מהן חוזרים על התהליך באופן רקורסיבי, עד לסיפוק קריטריון עצירה שהוגדר. פלט האלגוריתם הוא למעשה סכימה בצורת עץ אשר מתארת את מסלולי ההחלטה השונים אשר שואפים לתאר בצורה הטובה ביותר את סיווגם של הקלטים השונים. זהו אלגוריתם של למידה מונחית למידה מונחית המשתמש ב-training set לשם הכוונה לכיוון הפתרון הרצוי.

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


לאלגוריתם למידת מכונה זה ודומיו קיימים מספר יתרונות על פני כלי הסטטיסטיקה הקלאסיים:

  1. עץ החלטות מתבסס על אנטרופיה מתורת האינפורמציה ולא על מתאם (correlation) סטטיסטי. הבדל זה מאפשר מציאת של קשרים לא-לינאריים בין משתנים, כדוגמת השער הלוגי XOR.
  2. אימות התוצאות (validation) בלמידת מכונה כה מחמיר, שהוא מייתר את צורך בתיקונים שונים עקב בעיית הבחינה המרובה (Multiple testing) הנהוגים בסטטיסטיקה הקלאסית.

מודל מרקוב חבוי[עריכת קוד מקור | עריכה]

מכונת וקטורים תומכים Support Vector Machines[עריכת קוד מקור | עריכה]

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

מכונת וקטורים תומכים SVM - Support vector machines הינה שיטת למידה מונחית (supervised learning) הממפה יחסים בין קלט-פלט על סט למידה (training set). במקור ה-SVM משתייכים למשפחת המודלים לינארים המוכללים (generalized linear models) אשר מתאפיינים ביכולת ניבוי של תוצאה מסויימת על בסיס של קשר לינארי בין שורה של משתנים (קלט) לבין תוצאה כלשהי (פלט). ניבוי תוצאה נומרית רציפה (לדג' משך שרידות אחרי השתלת מוח עצם) יקרא רגרסיה וניבוי תוצאה בדידה-לא רציפה יקרא סיווג (לדג' האם שרד השתלת מוח עצם- כן/לא). אפליקציות מתקדמות מאפשרות תאור יחסים שאינם לינארים, אלו מתבססות על פונקציות קרנל (Kernel trick). בהתבססות על פונקציות אלו ה-SVM יוצר מישור הפרדה (קו כאשר כאשר מדובר על הפרדה של שני משתנים בלבד והיפר-מישור (hyperplane) כאשר מדובר על מספר משתנים גדול יותר) בין משתנים החוזים תוצאה מסויימת לבין אילו החוזים תוצאה אחרת. באופן כללי הרעיון הוא ליצוא משתנים הרחוקים באופן המקסמילי מישור ההפרדה [25]. היתרונות של SVM הינם במהירות האימון, היכולת להתמודד עם שורה ארוכה של משתנים שאינם נמצאים בקשר לינארי עם התוצאה. מאידך מודל הניבוי שיוצר ה-SVM הוא בגדר "קופסא שחורה", כלומר לא ניתן להסיק באילו פרמטרים השתמש כדי להגיע למסקנה כלשהי. השימוש ב-SVM לניבוי תוצאות ברפואה הולך וגובר [26] [27].

זיהוי תבנית[עריכת קוד מקור | עריכה]

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

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

פרוצדורה ממוחשבת התומכת את פרשנות הרופא ואת הממצאים הדיאגנוסטיים הינה Computer aided diagnosis (CAD), הפועלת במתכונת של מערכת תומכת החלטה, המותירה את האחריות וההחלטה הרפואית תחת שיקול דעת אנושי.

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

קיימות מספר משפחות אלגוריתמים המסייעים במלאכה:

  • קלסיפיקציה - supervised. כאן ניתן למנות עצי החלטה, SUPPORT VECTOR MACHINES, K NEAREST NEIGHBOR
  • אישכול - unsupervised

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

גילוי מוטיבים[עריכת קוד מקור | עריכה]

התאמת מודלים מתמטיים[עריכת קוד מקור | עריכה]

סימולציה וניבוי[עריכת קוד מקור | עריכה]

אחזור מידע[עריכת קוד מקור | עריכה]

עיבוד שפה טבעית[עריכת קוד מקור | עריכה]

כריית מידע חברתי[עריכת קוד מקור | עריכה]

כריית מידע חברתי (social data mining) הינה אמצעי לשימוש ברשת האינטרנט לצורך קבלת מידע מציבור המשתמשים ברשת. עם התרחבות תפוצת הרשת, המידע שנאסף נהיה יותר ויותר אמין ומשקף את האוכלוסיה בכללותה. דוגמא לאתר המפיק מידע רפואי ממשתמשי הרשת הינו האתר: "Patients like me". האתר מעודד את הגולשים לדווח על מצבן הבריאותי הכללי וכן על מצבם הבריאותי היום-יומי. בהיותו אתר חברתי, הוא רותם את המוטיבציה לחיברות לטובת המשתמשים בו (קבוצות תמיכה וכו') וכן לטובת המדע. יש להדגיש: למרות שהאתר מתפקד כאתר חברתי, הוא איננו אתר חברתי אלא מהוה אוסף רשומות רפואיות מסודרות של כל אחד מן הפציינטים המשתמשים בו. באמצעות מידע שנאסף באתר, נכתבו כבר כמה מאמרים רפואיים, העוסקים בטרשת נפוצה, ובבריאות נפשית. מאמר מענין במיוחד עוסק בתרופה חדשה נוגדת דיכאון אשר הפציינטים המשתתפים באתר החלו לקחת אותה, והדיווחים שלהם השלימו את תוצאות הניסוי הקליני המחקרי שערכו מפתחי התרופה.

מיקור המונים מדעי[עריכת קוד מקור | עריכה]

מיקור המונים מדעי היא דוגמא לכך שלאינטואיציה ולצורת החשיבה האנושית אין תחליף חישובי. דוגמא לכך הוא מבחן CAPTCHA במחשבים, אתגר מענה (challenge-response) שמטרתו להבטיח שהתשובה המוחזרת אינה מופקת באמצעות מחשב. מבחן CAPTCHA מבקש מהמשתמש להקליד אותיות או מספרים המופיעים בצורה מעוותת על המסך, צורה שמחשב אינו מסוגל לפענח. גם במדע אפשר להיעזר במיקור ההמונים. מיקור המונים מדעי מתבסס על יצירת תכנים מדעיים ללא המסננים המסורתיים, וקבלת תוצאות שעולות לעיתים באיכותן על התוצאות של אינציקלופדיות ומקורות מידע ממוסדים. דוגמא לך היא משחק אינטרנטי (foldit)[28], בו מציעים המשתתפים במשחק אפשרות מיטבית לקיפול חלבון. התוצאות המתקבלות במשחק שכזה טובות יותר מהתוצאות שמתקבלות על-ידי תוכנות מחשב מתקדמות. דוגמא נוספת היא משחק לבניית מולקולות RNA[29], שתוצאותיו טובות יותר מתכנון על-ידי מחשב. המגבלה בשיטת מיקור ההמונים המדעי הוא הצורך בגיוס קבוצת אנשי מקצוע בתחום ואנשים המתעניינים בנושא ומוכנים להשקיע בו מחשבה וזמן.

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ wikipedia : unsupervised learning http://en.wikipedia.org/wiki/Unsupervised_learning
  2. ^ Unsupervised Learning Zoubin Ghahramani† Gatsby Computational Neuroscience Unit http://mlg.eng.cam.ac.uk/zoubin/papers/ul.pdf
  3. ^ Distinct types of diffuse large B-cell lymphoma identified by gene expression profiling http://www.nature.com/nature/journal/v403/n6769/abs/403503a0.html
  4. ^ ויקיפדיה http://en.wikipedia.org/wiki/Data_clustering
  5. ^ How To Group Objects Into Similar Categories, Cluster Analysis http://www.statsoft.com/textbook/cluster-analysis/
  6. ^ http://www.youtube.com/watch?v=FzHoyEKA3aI Medical Data Mining Course-The Clustering Question
  7. ^ A Tutorial on Clustering Algorithms- K means. http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/kmeans.html
  8. ^ http://www.youtube.com/watch?v=IE85fP8lkBg MDM-L02T12: The K-Means Algorithm \ From Data to Information to Knowledge - Unsupervised Learning
  9. ^ http://www.genome.gov/20019523#gwas-5
  10. ^ http://en.wikipedia.org/wiki/Information_retreival
  11. ^ http://www.patientslikeme.com/
  12. ^ Use of an Electronic Medical Record Improves the Quality of Urban Pediatric Primary Care Pediatrics Vol. 111 No. 3 March 1, 2003 pp. 626 -632 (doi: 10.1542/peds.111.3.626)
  13. ^ Evans DC, Nichol WP, Perlin JB (April 2006). "Effect of the implementation of an enterprise-wide Electronic Health Record on productivity in the Veterans Health Administration". Health Econ Policy Law 1 (Pt 2): 163–9
  14. ^ http://www.youtube.com/watch?v=fkpc8x9oTQY&list=PL6A044C85462D8B62&feature=view_all MDM-L04T18: The EMR
  15. ^ Smaltz, Detlev and Eta Berner. The Executive's Guide to Electronic Health Records.' (2007, Health Administration Press) p.03
  16. ^ http://www.bupedu.com/lms/admin/uploded_article/eA.432.pdf
  17. ^ http://www.practicefusion.com/
  18. ^ http://www.obitko.com/tutorials/genetic-algorithms/
  19. ^ http://www.youtube.com/watch?v=Y_0sujBKT4U MDM-L05T24: Genetic Algorithms (GAs) \ Artificial Intelligence in Medicine
  20. ^ http://www.youtube.com/watch?v=XNai_oVhb6k MDM-L06T30: Artificial Neural Networks (ANN) \ Artificial Intelligence in Medicine - B
  21. ^ http://www.ncbi.nlm.nih.gov/pubmed/9756471
  22. ^ http://www.youtube.com/watch?v=OmzVW3Fj5eA
  23. ^ http://www.scribd.com/doc/7290255/Hill-Climbing-Methods
  24. ^ http://www.ncbi.nlm.nih.gov/pubmed/19449621
  25. ^ http://www.nature.com/nbt/journal/v24/n12/abs/nbt1206-1565.html What is a support vector machine?
  26. ^ http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3180705/ Data mining methods in the prediction of Dementia: A real-data comparison of the accuracy, sensitivity and specificity of linear discriminant analysis, logistic regression, neural networks, support vector machines, classification trees and random forests
  27. ^ http://www.ncbi.nlm.nih.gov/pubmed/19449621 Machine learning techniques to examine large patient databases.
  28. ^ http://fold.it/portal/
  29. ^ http://eterna.cmu.edu/eterna_page.php?page=about