മെഷീന്‍ ലേണിംഗ് അല്‍ഗോരിതങ്ങളിലേക്ക് ഒരു എത്തിനോട്ടം

മെഷീന്‍ ലേണിംഗ് അല്‍ഗോരിതങ്ങള്‍ പൊതുവേ സങ്കീര്‍ണ്ണമായ ഗണിതശാസ്ത്ര പ്രശ്നങ്ങളെയാണ് പരിഹരിക്കാന്‍ ശ്രമിക്കുന്നത്. അതിനാല്‍ പലതും സാധാരണക്കാരന് മനസ്സിലാക്കാവുന്ന ഭാഷയില്‍ വിശദീകരിക്കാന്‍ വിഷമമാണ്. ചില മെഷിൻ ലേണിംഗ് അൽഗോരിതങ്ങളെ സാധാരണക്കാരനെ പരിചയപ്പെടുത്താൻ ഒരു ശ്രമം നടത്തുകയാണ് ഇവിടെ. അതിനാൽ ഗണിത ശാസ്ത്രപരമായ പൂർണത പ്രതീക്ഷിക്കരുത്. ഈ വിഷയത്തെക്കുറിച്ച് ഇതിനുമുൻപ് എഴുതിയതു കൂടി ചേർത്തു് വായിക്കാൻ അപേക്ഷ. ലിങ്കുകൾ കമന്റിൽ.  പോസ്റ്റിലേക്കുള്ള കണ്ണി.
ആദ്യം K Nearest Neighbour (kNN) അല്‍ഗോരിതം പരിചയപ്പെടുന്നു. മെഷിൻ ലേണിംഗ് അൽഗോരിതങ്ങൾ പ്രവർത്തിക്കുന്നത് നമ്മുടെ തലച്ചോർ പ്രവർത്തിക്കുന്നതിന് സമാനമായ രീതിയിലാണ്. ഉദാഹരണത്തിന് വിവിധ വസ്തുക്കളുടെ പല രൂപത്തിലുള്ള ചിത്രങ്ങൾ ഒരാൾ നമ്മെ കാണിച്ചു തരുന്നു എന്നിരിക്കട്ടെ. അതിനൊപ്പം ചിത്രം കാണിക്കുന്നയാൾ ഓരോ ചിത്രവും എന്താണെന്ന് പറഞ്ഞു തരുന്നുമുണ്ട്. കുറെക്കഴിയുമ്പോൾ മുൻപ് കണ്ട വസ്തുക്കളെ നാം തിരിച്ചറിയാൻ തുടങ്ങും. ഓരോ വസ്തുവിന്റേയും പ്രത്യേകതകൾ (features) നമ്മുടെ തലച്ചോറിൽ പതിയുന്നതു കൊണ്ടാണിങ്ങനെ സംഭവിക്കുന്നത്‌.
ഇതുപോലെ മെഷീന്‍ ലേണിംഗ് അല്‍ഗോരിതങ്ങളെ മുന്‍കൂട്ടി പറഞ്ഞുറപ്പിച്ച ഫീച്ചേഴ്സ് ഉള്ള ഒരു ഡാറ്റാസെറ്റ് വെച്ച് ട്രെയിന്‍ ചെയ്യുകയാണ് ചെയ്യുന്നത്. കുറേക്കഴിയുമ്പോൾ അൽഗോരിതം വസ്തുക്കളെ തിരിച്ചറിയാൻ തുടങ്ങും. ഇത്തരം അല്‍ഗോരിതങ്ങളെ പരിചയപ്പെടുന്നതിന് ഏതെങ്കിലും ഒരു ട്രെയിനിങ് ഡേറ്റാസെറ്റ് എങ്ങിനെയാണിരിക്കുന്നതെന്ന് മനസ്സിലാക്കണം.
ആദ്യമായി നമുക്ക് ഒരു ഡാറ്റാ സെറ്റ് എങ്ങിനെയിരിക്കുമെന്ന് നോക്കാം.
1936ല്‍ റോണാള്‍ഡ് ഫിഷര്‍ എന്ന ബ്രിട്ടീഷ് സസ്യ ശാസ്ത്രജ്ഞന്‍ (അദ്ദേഹം ഒരു സ്റ്റാറ്റിസ്റ്റിക്സ് വിദഗ്ദൻ കൂടിയായിരുന്നു) ഐറിസ് പുഷ്പങ്ങളെക്കുറിച്ച് ഒരു പഠനം നടത്തിയിട്ടുണ്ട്. കാനഡയിലെ ഗാസ്പെ പെനിൻസുലയിൽ കാണപ്പെടുന്ന കാണപ്പെടുന്ന മൂന്ന് തരം ഐറിസ് പുഷ്പങ്ങളെയാണ് അദ്ദേഹം പഠിച്ചത്. Versicolor setosa virginica എന്നിങ്ങനെയാണ് അവ അറിയപ്പെടുന്നത്. ചിത്രം 1 ൽ നോക്കിയാൽ ഈ പൂക്കളെ കാണാം.
ചിത്രം 1

ഫിഷറിന്റെ നോട്ടത്തിൻ ഈ പുഷ്പങ്ങള്‍ക്ക് നാലുതരം ഫീച്ചറുകളാണുള്ളത്. ഇത് മനസ്സിലാക്കാൻ ഇത്തരം ഒരു പുവിന്റെ പടം ചിത്രം 2 ൽ കാണിച്ചിരിക്കുന്നു. ഓരോപൂവിനും രണ്ട് സെറ്റ് ഇതളുകളുണ്ട്. പുറത്തുള്ള ഇതളിനെ പെറ്റൽ എന്നും അകത്തുള്ള ഇതളിനെ സെപൽ എന്നും വിളിക്കും. സെപലിന്റെ നീളം, വീതി, പെറ്റലിന്റ നീളം, വീതി എന്നിവയാണ് പൂവിന്റെ ഫീച്ചറുകളായി ഫിഷർ പരിഗണിച്ചത്. ഇവ എന്താണെന്ന് ചിത്രത്തില്‍ കാണിച്ചിരിക്കുന്നു.

ചിത്രം 2

ഓരോ ഇനത്തിന്റെയും 50 സാമ്പിള്‍ എടുത്ത് മേല്‍പറഞ്ഞ നീളവും വീതിയും ഉപയോഗിച് പൂക്കളെ വർഗീകരിക്കാമോ എന്ന് പഠിച്ചു . (ഈ ഡാറ്റ യഥാർത്ഥത്തിൽ ശേഖരിച്ചത് ആൻഡേഴ്സൺ എന്ന വേറൊരു ശാസ്ത്രജ്ഞനാണ്.) ഫിഷർ ഈ പഠനം ഒരു പ്രബന്ധമായി പ്രസിദ്ധീകരിച്ചിട്ടുണ്ട്. (റഫറൻസ് 1) സ്റ്റാറ്റിസ്റ്റിക്സ് വിദ്യാര്‍ത്ഥികള്‍ അവരുടെ പഠന പ്രവർത്തനങ്ങളുടെ ഭാഗമായി ഈ ഡേറ്റ ഇപ്പോഴും ഉപയോഗിക്കുന്നുണ്ട്. നമുക്ക് മേല്‍ വിവരിച്ച 150 ഡേറ്റ സാമ്പിളുകൾ ലഭ്യമാണ്. (റഫറൻസ് 2) ഈ ഡേറ്റയുടെ ഒരു ഭാഗം ചിത്രം 2ൽ കാണിച്ചിരിക്കുന്നു. നമ്മുടെ kNN അൽഗോരിതത്തിന് ഉപയോഗിക്കാൻ വേണ്ട ഡാറ്റാ സെറ്റാണിത്.

ചിത്രം 3
ഇനി കടലേത് കടലാടിയേത് എന്നറിയാത്ത നമ്മൾ കാട്ടില്‍ പോയി ഒരു ഐറിസ് പൂവ് ഇറുത്ത് കൊണ്ട് വരുന്നു എന്നിരിക്കട്ടെ. ഏതു ജാതിയില്‍ പെട്ട ഐറിസാണ് അതെന്ന് നമുക്ക് കമ്പ്യൂട്ടർ അൽഗോരിതം ഉപയോഗിച്ച് തിരിച്ചറിയണം.
ഇതിനായി നമ്മള്‍ അജ്ഞാതനായ പൂവിന്റെ സെപ്പലും പെറ്റലും അളന്നെടുക്കും( നീളവും വീതിയും) അളന്നെടുക്കും. ഇവയാണ് പൂവിനെ തിരിച്ചറിയാൻ നാം ഉപയോഗിക്കാൻ പോകുന്ന ഫീച്ചറുകൾ. അൽഗോരിതം നമുക്ക് ലഭ്യമായിട്ടുള്ള ഡാറ്റാസെറ്റിലെ ഏതെങ്കിലും പൂവുകളോട് അജ്ഞാതന് സാമ്യമുണ്ടോ എന്ന് പരിശോധിക്കണം. ഇതിനുള്ള എളുപ്പവഴി പൂവുകൾ തമ്മിൽ ഉള്ള ദൂരം അളക്കുക എന്നതാണ്. ആദ്യമായ് പൂവുകൾ തമ്മിൽ ഉള്ള ദൂരം എന്ന് കേൾക്കുന്നവർ ചെറുതായി പരിഭ്രമിചെക്കാം.
ഇതുമനസ്സിലാക്കാൻവളരെ എളുപ്പമാണ് ഉദാഹരണത്തിന് രണ്ടു ഫീച്ചറുകൾ മാത്രം പരിഗണിക്കുക. നമുക്ക് സെപൽ നീളവും വീതീയും എടുക്കാം . ഈ നിളത്തെയും വീതിയേയും ഒരു ഗ്രാഫ് പേപ്പറിലെ x , y എന്നി ആക്സിസുകളിൽ രേഖപ്പെടുത്താം. ചിത്രം 4 നോക്കുക . x1 y1 ഒരു പൂവിൻറെ ഫീച്ചറും x2 y2 രണ്ടാമത്തെ പൂവിന്റെ ഫീച്ചറുമാണ്.
ചിത്രം 4
ഇനി മൂന്ന് ഫീച്ചറുകളുണ്ടെങ്കിൽ x y z ആക്സിസുകൾ പരിഗണിക്കണം . പൂക്കൾ തമ്മിലുള്ള ദൂരം ഈ മൂന്ന് ഫീച്ചറുകൾ ഉപയോഗിച്ചുകണ്ടെത്താൻ കഴിയും . ഇങ്ങനെ ഫീച്ചറുകൾ വിവിധ ആക്സിസ്കളിൽ രേഖപ്പെടുത്തിയാൽ നമുക്ക് ഒരു ഫീച്ചർ സ്പേസ് കിട്ടും.ഇതുപോലെ നാലോ അതിലധികമോ ഫീച്ചറുകൾ ഉപയോഗിച്ചുള്ള ഫീച്ചർ സ്പേസുകൾ ഉണ്ടാക്കാം അതിൽ പൂക്കൾ തമ്മിലുള്ള ദൂരം അലക്കാനും പറ്റും ( ദൂരം അളക്കുന്ന രീതിയെക്കുറിച്ചു മുൻപൊരിക്കൽ എഴുതിയിട്ടുണ്ട്/ ലിങ്ക് ഇവിടെ.
ഇനി നമ്മുടെ അൽഗോരിതത്തിലേക്കു വരാം. അൽഗോരിതം ചെയ്യേണ്ടത് അജ്ഞാതൻറെ അയൽക്കാരെ കണ്ടുപിടിക്കുക എന്നതാണ് ഫീച്ചർ സ്പേസിൽ ഏറ്റവും അടുത്തുള്ള യാളുടെ സ്വഭാവം ആകും പുതിയ പൂവിന്.
പലപ്പോഴും നാം പുതിയപൂവിനെ ഒന്നുലധികം അയൽക്കാരോട് താരതമ്യപ്പെടുത്തും. . മെഷീൻ ലേർണിംഗ് ടെർമിനോളജി ഉപയോഗിച്ച് പറഞ്ഞാൽ പൂവിന്റെ ചുറ്റുവട്ടത്തുള്ള k അയൽക്കാരെ കണ്ടെത്തും. അതിൽ ആർക്കാണോ ഭൂരിപക്ഷം അതായിരിക്കും പൂവിന്റെ വർഗം
k എണ്ണം നമ്മുടെ പ്രോബ്ലത്തിനനുസരിച്ച് മാറ്റിയെടുക്കാം. എത്ര kയെടുത്താലാണ് നല്ല കൃത്യതയുള്ള (accuracy) തിരിച്ചുവിളി (recall) ഉള്ള ഉത്തരങ്ങള്‍ കിട്ടുക എന്ന് പരീക്ഷിച്ച് കണ്ടെത്താം.
ചിത്രം 5 നോക്കിയൽ പ്രവർത്തനം കൃത്യമായി മനസ്സിലാകും
ചിത്രം 5
ഈ അല്‍ഗോരിതത്തിന്റേ തകരാറ് ഓരോ തവണയും നമ്മള്‍ മൊത്തം ഡാറ്റായും സ്കാന്‍ ചെയ്യണം എന്നുള്ളതാണ്.
ചിത്രങ്ങൾ ഇൻറർനെറ്റിൽ നിന്നെടുത്തതാണ്

Leave a Reply