Category Archives: கணியம்

Machine Learning – 29 – PCA

Principle Component Analysis என்பது அதிக அளவு பரிமாணங்கள் கொண்ட தரவுகளை குறைந்த அளவு பரிமாணங்கள் கொண்டதாக மாற்றுவதற்குப் பயன்படுகிறது. எடுத்துக்காட்டாக 1000 அம்சங்களைக் கொண்டு ஒரு விஷயம் கணிக்கப்படுகிறது என வைத்துக் கொள்வோம். PCA-ஆனது இந்த 1000 X-ஐ 100 X-ஆகவோ அல்லது இன்னும் குறைந்த பரிமாணங்கள் கொண்டதாகவோ மாற்றிக் கொடுக்கும். அதாவது Y எண்ணிக்கையைப் பற்றிக் கவலைப்படாது. வெறும் X எண்ணிக்கையை மட்டும் குறைக்கும். எனவேதான் PCA என்பது dimensionality reduction-க்கு உதவுகின்ற ஒரு சிறப்புவகை… Read More »

Machine Learning – 28 – SVM

Support Vector Machine (SVM) என்பது தரவுகளை வகைப்படுத்திப் பிரிப்பதற்கான ஒரு வழிமுறை ஆகும். ஏற்கெனவே இதற்கென logistic regression என்பதைப் பற்றிப் பார்த்தோம். ஆனால் இந்த SVM என்பது வகைப்படுத்துதல் எனும் வேலையை logistic-ஐ விட இன்னும் சற்று துல்லியமாக அமைக்கிறது. நேர்கோடு மூலம் பிரிக்கப்படும் தரவுகளுக்கு large margin classifier எவ்வாறு உதவுகிறது என்பதையும், நேர்கோடு முறையில் பிரிக்கப்பட முடியாத தரவுகளுக்கு kernels எவ்வாறு உதவுகிறது என்பதையும் இப்பகுதியில் காணலாம். Large margin classifier… Read More »

Machine Learning – 27 – Clustering Algorithm

Clustering with K-Means: Unsupervised learning-ல் நாம் கற்க இருக்கும் முதல் algorithm இதுவே. இதுவரை நாம் கண்ட அனைத்தும் supervised-ன் கீழ் அமையும். logistic regression, multi-class classification போன்ற அனைத்திலும், உள்ளீடு(X) மற்றும் வெளியீடு(Y) இரண்டையும் கொடுத்து பயிற்சி அளிப்போம். பல்வேறு வெளியீட்டு வகைகளின் கீழ் தரவுகளைப் பிரிப்பதற்கு அத்தனை வகையான எல்லைகளையும் நாமே வரையறை செய்வோம். ஆனால் இந்த unsupervised-ல் வெறும் உள்ளீடுகள் மட்டுமே கொடுக்கப்படும். எத்தனை வகையில் பிரிக்க வேண்டும் என்பதோ,… Read More »

Machine Learning – 26 – Decisiontrees&Randomforest

Regression மற்றும் Classification இரண்டிற்கும் உதவக்கூடிய நேர்கோடு முறையில் பிரிக்க இயலாத non-linear தரவுகளுக்கான model-ஆக decision trees மற்றும் random forest விளங்குகிறது. Decision trees என்பது பொதுவாக மாதிரித் தரவுகளில் உள்ள மதிப்புகளைக் கொண்டு அவற்றை சிறுசிறு பகுதிகளாகப் பிரித்துக் கற்கிறது. கீழ்க்கண்ட எடுத்துக்காட்டில் ஒரு மலர் மல்லியா, ரோஜாவா, தாமரையா என்று தீர்மானிக்க DecisionTreeClassifier() மற்றும் RandomForestClassifier() பயன்படுத்தப்பட்டுள்ளன. ஒவ்வொரு மலரின் இதழ்களுடைய(sepal) நீள அகலமும், அவற்றின் மேற்புற இதழ்களுடைய(petal) நீள அகலமுமான… Read More »

எளிய தமிழில் Robotics 9. முடுக்க மானி (Accelerometer)

உங்கள் திறன் பேசியை நீளவாட்டத்தில் இருந்து அகலவாட்டத்திற்குத் திருப்புகிறீர்கள் என்று வைத்துக் கொள்வோம். நீங்கள் பார்த்துக் கொண்டிருக்கும் காணொளியோ அல்லது நீங்கள் பயன்படுத்திக் கொண்டிருக்கும் செயலியோ நீளவாட்டத்தில் இருந்து அகலவாட்டத்திற்குத் திரும்புகிறது அல்லவா? இதன் பின்னால் இருப்பது தான் முடுக்கமானி. உங்கள் தேகப் பயிற்சியை அளவிடும் செயலிகள் நீங்கள் எடுக்கும் தப்படிகளை எண்ணிக் காட்டும். மற்றும் சில வண்டியோட்டும் செயலிகள் உங்கள் வண்டி செல்லும் வேகத்தையும் காட்டும். இவை யாவுமே முடுக்க மானிகளால் நடைபெறுகின்றன. இ-பக் (E-puck)… Read More »

எளிய தமிழில் Robotics 8. நகர்வு திட்டமிடல் (Motion planning)

எந்திரன் நகர்வு வகைகள் சக்கர எந்திரன்கள்: நாம் பயிற்சிகளில் பார்க்கும் தைமியோ 2 போன்ற பல பயிற்சி எந்திரன்கள் சக்கர வகையே. சுழல்நெறிப் பட்டை எந்திரன்கள்: கவச வாகனம் (military tank) போன்ற சுழல்நெறிப் பட்டைகளில் (tracks) நிலையாக நிற்கவும், கரடுமுரடான புலங்களில் நகரவும் இவையே சிறந்தவை. பரவலாக விற்கப்படும் லெகோ மைண்ட்ஸ்டார்ம்ஸ் மற்றும் பூஸ்ட் பயிற்சி எந்திரன் தொகுப்புகள் சுழல்நெறிப் பட்டைகள் கொண்டவை. நடக்கும் எந்திரன்கள்: படிக்கட்டுகளில் ஏறுவது நடக்கும் எந்திரன்களால்தான் முடியும். ஆர்க்பாட்டிக்ஸ் ஹெக்ஸி… Read More »

எளிய தமிழில் Robotics 7. மோதல் தவிர்ப்பு

ப்ரைடென்பெர்க் வண்டி (Braitenberg vehicle) ப்ரைடென்பெர்க் வண்டி என்பது இத்தாலியக் கணினி வல்லுநர் வாலண்டினோ ப்ரைடென்பெர்க் ஒரு சிந்தனைப் பரிசோதனையில் உருவாக்கிய கருத்துரு. இடையூறுகள் உள்ள சூழலில் உணரிகளின் உதவியுடன் வண்டி தன்னியக்கமாகச் செல்ல இது அடிப்படையாக உள்ளது. ஆகவே இது எளிமையான இடையூறு தவிர்ப்பு (obstacle avoidance) நிரல் எழுதும் வினைச்சரமாகப் (algorithm) பயன்படுகிறது. இதன் எளிமையான அமைவில் மின்கலம் (photo cell) போன்ற சாதாரணமான உணரிகளை நேரடியாக சக்கரங்களுடன் இணைக்கலாம். ஒவ்வொறு சக்கரமும்  தனி… Read More »

எளிய தமிழில் Robotics 6. கூட்டுவேலை எந்திரன்கள் (Collaborative Robots or Cobots)

தொழில்துறை எந்திரன்கள் பொதுவாக கனரக இயந்திரங்கள் வகையில் அடங்குபவை. மேலும் இவை மிகத் துரிதமாக இயங்குபவை. ஆகவே பாதுகாப்புக்காக தொழில்துறை எந்திரன்களைச் சுற்றி கம்பி வலை தடுப்பு போடுவது வழக்கம். தொழிற்சாலையில் வேலை செய்பவர்கள் தற்செயலாக எந்திரன்களின் அருகில் செல்ல நேரிட்டால் கடுமையான விபத்துகள் நிகழக்கூடும் என்பதாலேயே இந்த முன்னெச்சரிக்கை எடுக்கப்படுகிறது. சமீப காலத்தில் பார்வை உட்பட பல்வேறு உணரிகளில் ஏற்பட்டுள்ள தொழில்துறை மேம்பாடுகள் காரணமாக புது வகையான தொழில் துறை எந்திரன்கள் சந்தைக்கு வந்துள்ளன. இவற்றை… Read More »

எளிய தமிழில் Robotics 5. எந்திரனை நிரல் எழுதி இயக்குதல்

தேவையான இயக்கங்களின் வரையறையை முன்னரே கொடுத்துவிட்டால் எந்திரன் மனிதத் தலையீடு இல்லாமல் அவற்றைச் செய்ய முடியும். ஆனால்  நமக்குத் தேவையான வேலை செய்யுமாறு அமைப்பை அடையாளம் கண்டு மற்றும் குறிப்பிட்டு வடிவமைத்து முன்கூட்டியே நிரல் எழுத வேண்டும். எடுத்துக்காட்டாக, எடுத்து வைத்தல் (pick-and-place) வேலை செய்யும் எந்திரன் கைமுனை சாதனம் (end effector) எந்தத் தோற்ற அமைவில் இருக்க வேண்டும் என்று நாம் முடிவு செய்து நிரல் எழுத வேண்டும். எந்திரன் கைக்கு நிரல் எழுதும் வகைகள்… Read More »

நடைமுறைக்கேற்ற நிரலரின் பத்து அடிப்படை பண்புகள்

1. துறைசார்ந்த மொழியைப் பேசவேண்டும். ஒவ்வொரு மென்பொருளும் ஏதோவொரு துறையின் தேவைக்காகவே உருவாக்கப்படுகிறது. எந்தத் துறையின் பிரச்சனைகளுக்குத் தீர்வாக மென்பொருளை உருவாக்குகிறோமோ, அதற்கான நிரலில், அந்தத் துறை சார்ந்த கலைச்சொற்கள் நிறைந்திருக்கவேண்டும். அப்போதுதான், துறைசார் வல்லுநர்களும் (SME), நிரலர்களும் மென்பொருள் குறித்த விவாதங்களில் சிரமமின்றி பேசிக்கொள்ளமுடியும். அதேபோல, நிரலின் கூறுகள் (module), இனக்குழுக்கள் (class), மாறிகள் (variables) ஆகியவற்றுக்கு பெயரிடும்போதும், துறைசார்ந்த பெயர்களையே வைப்பது நல்லது. Image by OpenClipart-Vectors on Pixabay முன்னாள் ஜெர்மன் அதிபர்… Read More »