Theory
આગાહીના બે પ્રકાર
Supervised learning label વાળા દાખલાઓમાંથી પરિણામની આગાહી કરે છે. પણ 'પરિણામ' નો અર્થ બે સાવ જુદી વસ્તુ થઈ શકે છે. Placement ના data માટે તમે પૂછી શકો: આ વિદ્યાર્થીનું placement થશે કે નહીં? અથવા તમે પૂછી શકો: આ વિદ્યાર્થીને કેટલા marks આવશે?
પહેલો પ્રશ્ન વર્ગ ની આગાહી કરે છે; બીજો સંખ્યા ની. એ ભેદ supervised learning ને બે કુટુંબમાં વહેંચે છે, classification અને regression, અને તમારી સમસ્યા કયા કુટુંબની છે એ જાણવાથી પછીનું બધું નક્કી થાય છે: model, માપદંડો, આખો રસ્તો. આ પાઠ એ ભેદને ચોખ્ખો કરે છે.
Theory
Classification અને regression
Classification વર્ગ ની આગાહી કરે છે (એટલે કે અલગ અલગ class label ની). પરિણામ નક્કી કરેલા વર્ગોના સમૂહમાંથી એક હોય છે: placement થયું કે ન થયું, spam છે કે નથી, 0 થી 9 માંનો કયો અંક છે. જવાબ એક નામ છે, માપેલી રાશિ નહીં.
Regression સળંગ સંખ્યા ની આગાહી કરે છે. પરિણામ કોઈ માપ પરની રાશિ હોય છે: વિદ્યાર્થીના marks, ઘરની કિંમત, આવતી કાલનું તાપમાન. જવાબ એ વ્યાપમાંની કોઈ પણ કિંમત લઈ શકે છે.
બંને supervised છે (બંને label વાળા training data માંથી શીખે છે). ફરક ફક્ત પરિણામના પ્રકારનો છે: વર્ગ એટલે classification, સંખ્યા એટલે regression.
At a glance
| પાસું | Classification | Regression |
|---|---|---|
| શેની આગાહી કરે | વર્ગ (class label) | સળંગ સંખ્યા |
| પરિણામનો દાખલો | Placement: હા કે ના | Marks: 78.5 |
| બીજા દાખલા | Spam કે spam નહીં; રોગ કે રોગ નહીં | કિંમત, તાપમાન, વેચાણ |
| કયા પ્રશ્નનો જવાબ આપે | આ કયા વર્ગનું છે? | કેટલું કે કેટલાં? |
Formula
નિર્ણય કરી આપતો એક જ પ્રશ્ન
સમસ્યા કયા કુટુંબની છે એ જાણવા એક જ વસ્તુ પૂછો: લક્ષ્ય વર્ગ છે કે સંખ્યા?
જો તમે એની આગાહી કરતા હો કે કંઈક કયા વર્ગમાં પડે છે, જેમ કે placement થયું કે નહીં, પાસ કે નાપાસ, બિલાડી કે કૂતરો, તો એ classification છે. જો તમે કેટલું કે કેટલાં એની આગાહી કરતા હો, જેમ કે marks, રૂપિયાની રકમ, તાપમાન, તો એ regression છે. વર્ગ કે રાશિ, એ એક જ પ્રશ્ન કોઈ પણ supervised સમસ્યાને ભરોસાપાત્ર રીતે સાચા કુટુંબમાં ગોઠવી આપે છે, અને શરૂઆત કરનારાઓની સૌથી સામાન્ય ગૂંચવણ અટકાવે છે.
Quiz
તમારે વિદ્યાર્થીના attendance અને projects પરથી એને આવનારી marks ની ચોક્કસ ટકાવારી (જેમ કે 78.5) ની આગાહી કરવી છે. આ classification છે કે regression?
- Classification, કારણ કે વિદ્યાર્થીઓ વર્ગોમાં હોય છે
- Regression, કારણ કે લક્ષ્ય સળંગ સંખ્યા છે (marks ની કિંમત)
- Unsupervised, કારણ કે એ data વાપરે છે
- બેમાંથી એકેય નહીં; સંખ્યાની આગાહી કરવી એ machine learning નથી
Show the answer
Regression, કારણ કે લક્ષ્ય સળંગ સંખ્યા છે (marks ની કિંમત)
Marks ની ચોક્કસ ટકાવારી (78.5 જેવી સળંગ સંખ્યા) ની આગાહી કરવી એ regression છે, કારણ કે લક્ષ્ય કોઈ માપ પરની રાશિ છે, વર્ગ નહીં. વિકલ્પ A ખોટો છે: અહીં તમે વિદ્યાર્થીઓને નક્કી વર્ગોમાં વહેંચતા નથી; તમે સંખ્યાત્મક કિંમતની આગાહી કરો છો, જે regression છે; એને બદલે તમે 'પાસ કે નાપાસ' કે 'placement થયું કે નહીં' ની આગાહી કરતા હો તો એ classification થાત. વિકલ્પ C ખોટો છે: data જાણીતા marks થી label થયેલો છે, એટલે આ supervised learning છે, unsupervised નહીં. વિકલ્પ D ખોટો છે: label વાળા દાખલાઓમાંથી સંખ્યાની આગાહી કરવી એ supervised ML નું મુખ્ય કામ છે (regression). કસોટી લગાડો: સંખ્યા એટલે regression, વર્ગ એટલે classification.
Think first
Classification અને regression નો ભેદ આટલો બધો કેમ મહત્ત્વનો છે?
બંને તો supervised learning જ છે. તો તમારી સમસ્યા કઈ છે એ જાણવું કેમ મહત્ત્વનું છે? વિચારીને પછી tap કરો.
Show the answer
કારણ કે એના પછીનું લગભગ બધું જ એના પર આધાર રાખે છે: તમે કયાં models વાપરી શકો, સફળતા કઈ રીતે માપો, અને પરિણામનો અર્થ કઈ રીતે કાઢો, એ બધું classification અને regression માં જુદું પડે છે.
સૌથી તરતનું પરિણામ એ છે કે મૂલ્યાંકનના માપદંડો જુદા હોય છે. Regression માટે તમે ભૂલને આગાહી કરેલી અને ખરી સંખ્યા વચ્ચેના અંતર તરીકે માપો છો, અને એ માટે mean squared error કે mean absolute error જેવા માપદંડો વાપરો છો (જે હવે પછીના પાઠમાં આવે છે), કારણ કે '78 એ 80 થી કેટલું દૂર છે' એનો અર્થ નીકળે છે. Classification માટે અંતરનો કશો અર્થ જ નથી ('placement થયું' અને 'ન થયું' વચ્ચે કોઈ 'અંતર' હોતું નથી), એટલે તમે accuracy, precision અને recall જેવી બાબતો માપો છો, એટલે કે આગાહી કરેલો વર્ગ સાચો હતો કે નહીં? Classification ની સમસ્યા પર regression નો માપદંડ વાપરવો, કે ઊલટું કરવું, નકામાં પરિણામ આપે છે.
Models પણ જુદાં પડે છે: ઘણા algorithms ના classification અને regression માટે અલગ અલગ પ્રકાર હોય છે, અને કેટલાક એક કામ માટે બીજા કરતાં વધુ બંધબેસે છે. પરિણામનો અર્થ પણ જુદી રીતે નીકળે છે: regression નું model તમને કામ કરવા માટે સંખ્યા આપે છે, જ્યારે classification નું model તમને નામ આપે છે (ઘણી વાર સંભાવના સાથે).
એટલે કુટુંબ પહેલાં ઓળખવું એ ઝીણવટ ખાતર ઝીણવટ નથી; એ રસ્તાનો ફાંટો છે, જે નક્કી કરે છે કે બાકીના project માટે કયાં સાધનો, માપદંડો અને અર્થઘટન માન્ય ગણાશે. આ ખોટું પડે તો પછીનું બધું રેતી પર ચણાય છે. વર્ગ કે રાશિ, પહેલાં એ નક્કી કરો, પછી જ સાચી દિશામાં આગળ વધો.
Summary
Key takeaways
- તમે શેની આગાહી કરો છો એના આધારે supervised learning બે કુટુંબમાં વહેંચાય છે.
- Classification વર્ગ (અલગ class label) ની આગાહી કરે છે: placement થયું કે નહીં, spam છે કે નહીં, 0 થી 9 માંનો અંક.
- Regression સળંગ સંખ્યાની આગાહી કરે છે: marks, કિંમત, તાપમાન.
- બંને supervised છે (બંને label વાળા data માંથી શીખે છે); ફરક ફક્ત પરિણામના પ્રકારનો છે.
- નિર્ણાયક પ્રશ્ન: લક્ષ્ય વર્ગ છે (classification) કે સંખ્યા (regression)?
- આ ભેદ એટલા માટે મહત્ત્વનો છે કે models, મૂલ્યાંકનના માપદંડો અને અર્થઘટન, બધું એના પર આધાર રાખે છે.
- યાદ રાખવાની કડી: વર્ગ એટલે classify, રાશિ એટલે regress.