April 2016 issue
ראשית טענו קבצים קטנים יחסית (למשל עמודות), 100- שורות ו 100 בעלי מימדים של רצוי בעלי סוגי מידע שונים - כותרות, תאריכים, ערכים מספריים שלמים, מחרוזות וכו'. בהתחלה אל תנסו להשתמש בכלים מובנים או תוספים של שפות תכנות, אלא נסו לממש זאת בעצמכם - זה ישנה את אופן ההסתכלות שלכם על המידע ועל כמות הזמן שנחסכת לכם בשימוש חוזר של קוד. לאחר מכן תתחילו לעשות שימוש חוזר בקוד, בין אם שאתם כתבתם ובין אם מצאתם באתר שיתוף קבצים או חבילות מוכנות. זכרו תמיד שיש המון שפות תכנות בחוץ, וכמעט בכולן ישנו מימוש לקריאת קובץ אקסל או טקסט אחר. חפשו או csvread , xlsread פונקציות מובנות כמו (או את מקביליהן כמובן) readtable אפילו שיקצרו את זמן העבודה שלכם וימקדו אתכם בעיקר. שימו לב לזמן הטעינה 2 - של הקובץ וכמות הזיכרון שיש לכם פרמטרים שיהיו מאד חשובים בהמשך. לאחר טעינת קבצים קטנים, נסו לעבוד עם קבצים גדולים יותר, כאלו שאקסל יחזיר לכם הודעת שגיאה אם תנסו לפתוח אותם http ”. ב-//: File not Loaded Completely “ - תוכלו למצוא המון דוגמאות www . data . gov שכוללות גם תחומי חיים שונים וגם סוגי קבצים שונים - מקום נהדר להתחיל. בשלב זה המטרה היא להתמודד עם כמות המידע הגדולה ועם אופן העיבוד שלה, ולצורך כך תצטרכו ללמוד שיטות לעיבוד המידע בצורה של גושים. יש להגדיר "מצביע" לקובץ, ואז לטעון בכל פעם גוש אחר של מידע. אתם memmapfile תעשו שימוש בפונקציות כמו , שמאפשרות לכן לבצע את MapReduce ו- העיבוד הזה. פעם קראתי הסבר ממש פשוט - ומציע גם MapReduce של אופן הפעולה של לכם לעשות זאת. השלב הבא יהיה העבודה עם JDBC / ODBC או SQL מאגרי נתונים מבוססי - אלו כבר מערכות שהמידע זמין בצורה יחסית פשוטה, וכל שצריך הוא לשאול שאלה נכונה את המערכת, ע"י בניה של שאילתא ) מתאימה. לצורך כך כמובן שתצטרכו Query ( גישה למאגר נתונים שכזה, וניתן למצוא רבים כאלו. לדוגמא, מיקרוסופט מציעה מאגר של מידע ועם עדכונים 10 GB נתונים כזה עם חופשיים בחינם, וכמובן שלא ניתן להתעלם הפופולרית. לא משנה מה תתקינו mySQL מ- או עם מה תעבדו - חשוב לשים לב לתהליך העבודה, לאופן כתיבת השאילתא, לאופן רכישת המידע ולאופן כתיבת התוצאות בחזרה. ובשלב האחרון, שימו יהבכם ותבחנו . Spark או Hadoop כיצד אתם מתמודדים עם מאגרי נתונים מבוזרים שבהם אתם מוכרחים
« web דוגמא לשילוב המודלים והתובנות ביישומי
וכל העיבוד נעשה MapReduce להשתמש ב- ישירות בענן. אם לא תעבדו נכון - תקבלו תוצאות לא נכונות. הנושא המרכזי ביותר הוא עולם המתמטיקה, כלומר - שימוש בסטטיסטיקה וניתוח נתונים וכמובן ידע והיכרות עם אלגוריתמים מסוגים שונים - לימוד מכונה/עיבוד תמונה/עיבוד אות - בהתאם לנושאים המעניינים אתכם או שבהם תעסקו. לא כל העוסקים בתחום הם בוגרי תואר בהנדסה או מתימטיקה ולכן אני מציע לעבור לפחות הכשרה או שתיים בעולם הניתוח הסטטיסטי. יש קורס ממש שמראה כיצד עושים זאת, Coursera טוב של אבל גם ספר טוב יכול לשמש בתור מנחה מצוין. תתמקדו בעיקר - איך לפתור בעיות מינימום ומקסימום, איך מבצעים פעולות אלגבריות כמו כפל מטריצות וקצת על רשתות נוירונים. זה יספק לכם מבוא מצוין לפרק הבא של לימוד מכונה שרובו ככולו מבוסס על מתמטיקה. וכאן שוב ניתן למצוא ספר מצוין, לעבור קורס במרכז הדרכה בסיסטמטיקס . לא מצאתי אף קורס Coursera או קורס ב- שיכול להנחיל את כל תורת לימוד המכונה בפרק זמן סביר, ועל כן תיאלצו להמשיך ולהתעמק וללמוד בעצמכם גם לאחר הקורס - ואפילו כדאי לעשות זאת. זהו תחום של המדע שממשיך להתפתח כל הזמן וחייבים להישאר עדכניים. לפני מספר שנים, עם כניסת יכולות מתקדמות לעיבוד וידאו, התפתח תחום שלם שעוסק בלמידה מתוך וידאו וכיום ניתן לראות דוגמאות רבות של זיהוי עצמים בתוך סרטים, מעקב אחרי חשודים וכמובן מציאת קשר בין מספר תמונות ממספר אתרי אינטרנט או אתרי שיתוף מידע קיימים. אז אם חבר תייג אותי בתור חבר באינסטגרם, כנראה שאני גם חבר שלו בפייסבוק וניתן להציע לו להוסיף אותי בתור חבר, נכון? את החלק האחרון של הלימוד תיאלצו כבר לעשות בהתאם לתחום שמעניין אתכם. בנושא של עיבוד אות ותמונה יש לא מעט קורסים והכשרות, בין אם באוניברסיטאות או מכללות ובין אם בהכשרות אונליין למיניהן. אבל שימו לב שלא ניתן לצפות מאף בוגר של קורס "חד-פעמי"
שכזה באמת להבין בחומר, ללא תרגול, בניה של מערכת או שתיים ולמידה מניסיון של אחרים. ובנושא זה אני תמיד ממליץ לשוחח עם מי שכבר עשה את זה, כלומר להתייעץ עם מישהו שהוא מומחה לתחום הייחודי, ולקבל ממנו הכוונה ועצה. מניסיוני - ברוב המקרים זה ייעשה בשמחה. ולבסוף ידע וניסיון בהטמעת פתרון בעולם /וכדומה. כאשר Web האמיתי - קוד מכונה/ אנו רוצים להטמיע מערכת בעולם האמיתי, היא צריכה להתנהג לפי הגדרות העולם האמיתי, שבו כל שניה לוקחת בדיוק שניה ואם צריכת הזיכרון גבוהה בבית אחד מעבר למה שיש - המערכת קורסת. לשם כך יש לבצע היכרות מעמיקה עם מערכות הפעלה ועם מעבדי זמן-אמת, אשר כיום נחלקים . תחת FPGA ו- DSP סוגים - 2- בכלליות ל נכללים כל אותם מחשבים DSP קטגוריות שיכולים להריץ מערכת הפעלה, והם בדר"כ מכילים עוד רכיבי זיכרון, ממשקים , ARM יכללו מעבדי DSP וכדומה. סוגים של מעבדי אינטל, רוב המעבדים הסלולריים TI , NXP , Freescale ויצרנים רבים נוספים (, ...). בכדי להפעיל מעבדים אלו יש Windriver - שפת ++ C / C להשתמש בשפת תכנות מסוג תכנות ותיקה שהחליפה את שפת האסמבלי לרוב יהיו FPGA ועדיין חיה ונושמת. מעבדי מוכווני מטרה וינסו לבצע אותה בשיטה המקבילה והמהירה ביותר. מעבדי תקשורת, סלולר, כל המוצרים שמיוצרים בכמויות של או FPGA אלפים ומעלה לרוב יהיו מבוססי שכן עלות הייצור שלהם נמוכה. בכדי ASIC להפעיל מעבדים מסוג זה יש לכתוב בשפת VHDL , אשר נקראת C מכונה הדומה לשפת . יש כמובן גישות ושיטות נוספות, Verilog או יש כבר Web אך לא נרחיב בנושא. לעולם ה- צורך להכיר כתיבה של שפות אשר נעשה בהם JAVAScript שימוש היום בעולם זה, כמו , . יש לזכור ששפות JAVA , C #, HTML , Python תכנות הן מאד דומות במהות ובעקרונות המנחים אותן, אך עשויות להיות מאד שונות . לכן Syntax במימוש ובפקודות, כלומר ב- כדאי להכיר לפחות שפה אחת בצורה מלאה
New-Tech Magazine l 78
Made with FlippingBook