Next Page  78 / 190 Previous Page
Information
Show Menu
Next Page 78 / 190 Previous Page
Page Background

ראשית טענו קבצים קטנים יחסית (למשל

עמודות),

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

כיצד אתם מתמודדים עם

מאגרי נתונים מבוזרים שבהם אתם מוכרחים

וכל העיבוד נעשה

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

במימוש ובפקודות, כלומר ב-

כדאי להכיר לפחות שפה אחת בצורה מלאה

«

web

דוגמא לשילוב המודלים והתובנות ביישומי

New-Tech Magazine l 78