Machine Learning Crash Course: ML Terminology
ບົດຄວາມນີ້ຈະເປັນບົດຄວາມທຳອິດໃນ series ຂອງ Machine Learning Crash Course ເຊິ່ງທ່ານຈະໄດ້ຮູ້ຈັກກັບຄຳວ່າ Machine Learning ແມ່ນຫຍັງ ແລະ ຄຳສັບຕ່າງໆທີ່ກະເຈົ້າໃຊ້ກັນໃນວົງການນີ້.
Label
Labels ໝາຍເຖິງຜົນໄດ້ຮັບ ຫຼື ສິ່ງທີ່ເຮົາຈະພະຍາກອນ ເຊິ່ງມັນກະຄືໂຕປ່ຽນ y (output) ນັ້ນເອງ ຖ້າເຮົາທຽບກັບສົມຜົນຖົດຖອຍເສັ້ນຊື່ (Linear Regression). Labels ອາດຈະເປັນ ລາຄາຂອງເຂົ້າໃນອະນາຄົດ, ຊື່ສັດຕ່າງໆທີ່ຢູ່ໃນຮູບ, ຄວາມໝາຍຂອງສຽງຕ່າງ ແລະ ອື່ນໆ.
Features
Features ແມ່ນຕົວປ່ຽນ x (input) ຕົວປ່ຽນທີ່ເຮົາຈະເອົາມາຄິດໄລ່ໃນສົມຜົນ. ບາງວຽກໃນສາຍ Machine Learning ງ່າຍໆອາດຈະໄດ້ໃຊ້ແຕ່ feature ອັນດຽວ, ແຕ່ບາງວຽກທີ່ຊັບຊ້ອນອາດຈະໄດ້ໃຊ້ feature ຫຼາຍໆໂຕເປັນ n ໂຕ.
ຕົວຢ່າງການສ້າງແບບຈຳລອງກ່ຽວກັບການກັ່ນຕອງ spam ຈະຕ້ອງມີ feature ຄື:
- ຄຳຕ່າງໆທີ່ໃຊ້ໃນເນື້ອຫາອີເມວທີ່ສົ່ງມາ
- ທີ່ຢູ່ອີເມວຂອງຜູ່ທີ່ສົ່ງມາຫາເຮົາ
- ເວລາໃດທີ່ອີເມວໄດ້ສົ່ງມາ
- ອີເມວທີ່ມີຄຳແປກໆ ແບບເຂົ້າຂ່າຍຕົ້ມຕຸນປົນມາ (one weird trick)
ຂໍ້ມູນ
ຂໍ້ມູນ ຫຼື ແປຕາມໂຕກະຕົວຢ່າງ (example) ປຽບເໝືອນກັບສິ່ງທີ່ເຮົາເອົາມາແທນຄ່າໃຫ້ກັບຕົວປ່ຽນ x. ເຮົາສາມາດແບ່ງຂໍ້ມູນອອກເປັນ 2 ປະເພດຄື:
- labeled examples (ກະຄືຂໍ້ມູນທີ່ເຮົາໄດ້ລະບຸໄວ້ແລ້ວ)
- unlabeled examples (ແມ່ນຂໍ້ມູນທີ່ເຮົາຍັງບໍ່ໄດ້ລະບຸໄວ້ ຫຼື ຍັງບໍ່ທັນໄດ້ຈັດປະເພດວ່າມັນເປັນຫຍັງກັນແທ້)
ໃນ labeled examples ໃນລວມມີ feature(s) ແລະ label ນຳ, ເຊິ່ງຈະເປັນປະມານນີ້.
labeled examples: {features, label}: (x, y)
ເຮົາໃຊ້ labeled examples ເພື່ອສອນ (train) ແບບຈຳລອງ ຫຼື model ຂອງເຮົາ. ສຳລັບ Spam detector ນີ້, ພວກເຮົາຈະມີ labeled example ທີ່ໄດ້ຈາກການທີ່ຜູ່ໃຊ້ຂອງເຮົາໄດ້ລະບຸໄວ້ໃຫ້ແລ້ວຄື “spam” ຫຼື ບໍ່ “spam”.
ຕົວຢ່າງ, ມີຕ່າງຈະລາງ labeled examples ຢູ່ 5ອັນ ຈາກ data set ຂອງເຮົາເຊິ່ງວ່າຂໍ້ມູນທີ່ຢູ່ໃນນັ້ນກໍຈະມີ ຂໍ້ມູນກ່ຽວກັບລາຄາຂອງລ້ານທີ່ຢູ່ໃນເຂດ California:
hosingMedianAge | totalRooms(feature) | totalBedrooms(feature) | medianHouseValue |
---|---|---|---|
15 | 5612 | 1283 | 66900 | 19 | 7650 | 1901 | 80100 |
17 | 720 | 174 | 85700 |
14 | 1501 | 337 | 73400 |
20 | 1454 | 326 | 65500 |
ສ່ວນສຳລັບຂອງ unlabeled examples ນັ້ນຈະເປັນຂໍ້ມູນທີ່ບໍ່ມີ label. ໜ້າຕາຂຽນຂອງມັນຈະເປັນປະມານນີ້:
unlabeled examples: {feature, ?}: (x, ?)
ຕົວຢ່າງ ດ້ານລຸ່ມຈະເປັນຂໍ້ມູນ 3ຕົວ ທີ່ເປັນ unlabeled examples ຈາກ data set housing ໂດຍຂໍ້ມູນດັ່ງກ່າວນີ້ຈະບໍ່ລວມ medianHouseValue ທີ່ເປັນ (label):
housingMeidanAge(feature) | totalRoooms(feature) | totalBedrooms(feature) |
---|---|---|
42 | 1686 | 361 |
34 | 1226 | 180 |
33 | 1077 | 271 |
ຫຼັງຈາກທີ່ເຮົາ train model ຂອງເຮົາແລ້ວດ້ວຍຂໍ້ມູນທີ່ເປັນ labeled (labeled examples), ເຮົາກໍຈະໃຊ້ model ນັ້ນເປັນຄຳນວນ ຫຼື ໄປພະຍາກອນຫາ label ຈາກ unlabeled examples. ຕົວຢ່າງຂອງໂຕນີ້ກະຄື spam detector, unlabeled examples ກະຄືອີເມວໃໝ່ໆທີ່ມະນຸດ ຫຼື ຜູ່ໃຊ້ເຮົາຍັງບໍ່ໄດ້ລະບຸໄວ້ນັ້ນເອງ (labeled).
Models (ແບບຈຳລອງ)
ແບບຈຳລອງ ຫຼື model ແມ່ນໝາຍເຖິງ ຄວາມສຳພັນລະຫວ່າງ features ກັບ label. ຕົວຢ່າງ: ໃນ spam detection model ຈະໄປກ່ຽວພັນກັບ feature ໃດໜຶ່ງທີ່ບົ່ງບອກໃຫ້ຮູ້ວ່າໂຕນັ້ນຕ້ອງແມ່ນ “spam” ແນ່ນອນ. ເຮົາມາເບິ່ງກັນວ່າ 2ຄຳສັບທີ່ກະເຈົ້ານິຍົມໃຊ້ກັນໃນ model ນິມີຫຍັງແນ່:
- Training ໝາຍເຖິງ ການສ້າງ ຫຼື ການຮຽນຮູ້ learning ຂອງແບບຈຳລອງ (model). ໃຫ້ເຮົາເຂົ້າໃຈງ່າຍໆກະຄື ການ training ກໍ່ແມ່ນການທີ່ເຮົາເອົາ labeled examples ມາສະແດງ ແລະ ໃຫ້ model ຂອງເຮົາຮຽນຮູູ້ຄວາມສຳພັນລະຫວ່າງ features ກັບ label.
- Inference ໝາຍເຖິງ ການເອົາ model ທີ່ເຮົາໄດ້ trained ໄວ້ແລ້ວມາໃຊ້ກັບ unlabeled examples. ເອົາອີກຄວາມໝາຍງ່າຍໆກະຄື ໃຊ້ model ທີ່ຖືກ trained ໄວ້ແລ້ວນັ້ນມາໃຊ້ໃຫ້ພະຍາກອນໄດ້ດີຂຶ້ນ (useful predictions (y’)). ຕົວຢ່າງ: ໃນຂະນະທີ່ inference, ເຮົາສາມາດພະຍາກອນ medianHouseValue ຈາກ unlabeled examples ໃໝ່.
Regression vs. classification
Regression ຖ້າແປເປັນສຳລັບເລກລາວລະແມ່ນ ສົມຜົນຖົດຖອຍ ເຊິ່ງວ່າ ສົມຜົນຖົດຖອຍຈະມີອີກຫຼາຍໆປະເພດຍ່ອຍໄປອີກເຊັ່ນ: ສົມຜົນຖົດຖອຍເສັ້ນຊື່ (Linear Regression), ສົມຜົນຖົດຖອຍຫຼາຍຕົວປ່ຽນ (Multiple Linear Regression), ສົມຜົນຖົດຖອຍໂລກາລິກ (Logistic Regression) ທີ່ກະເຈົ້ານິຍົມໃຊ້ກັນໃນ ML. ສົມຜົນຖົດຖົດຖອຍ ຈະຖືກໃຊ້ເມື່ອເຮົາຕ້ອງການຢາກຮູ້ຄວາມສຳພັນຂອງຕົວປ່ຽນ (ຂໍ້ມູນ) ເຊິ່ງຂໍ້ມູນທີ່ເຮົາເອົານຳມາຄິດໄລ່ ນຳມາພະຍາກອນນັ້ນແມ່ນຈະເປັນຂໍ້ມູນແບບຕໍ່ເນື່ອງ (continuous values). ຕົວຢ່າງ: ແບບຈຳລອງສົມຜົນຖົດຖອຍທີ່ນຳມາພະຍາກອນທີ່ສາມາດຕອບຄຳຖາມຂອງບັນຫາເຮົາໄດ້ເຊັ່ນ:
- ມູນຄ່າຂອງເຮືອນໃນ California ເທົ່າໃດ?
- ຄ່າກະຕວງຂອງຜູ່ໃຊ້ງານທີ່ກົດເຂົ້າໂຄສະນານີ້ແມ່ນເທົ່າໃດ?
classification ໝາຍເຖິງ ແບບຈຳລອງຄືກັນ (model) ເຊິ່ງຈະແຕກຕ່າງຈາກສົມຜົນຖົດຖອຍ (regression) ຢູ່ບ່ອນວ່າຂໍ້ມູນທີ່ເຮົາເອົາມາຄິດໄລ່ນັ້ນຈະເປັນ ຂໍ້ມູນບໍ່ຕໍ່ເນື່ອງ (discrete values). ຕົວຢ່າງ: ແບບຈຳລອງ classification ທີ່ນຳມາພະຍາກອນທີ່ສາມາດຕອບຄຳຖາມຂອງບັນຫາເຮົາໄດ້ເຊັ່ນ:
- ອີເມວທີ່ໃຫ້ມາແມ່ນ spam ຫຼື ບໍ່ແມ່ນ spam?
- ໃນຮູບແມ່ນ ໝາ, ແມວ, ຫຼື ໂຕໜູ?
Continue data vs. Discrete data
ຂໍ້ມູນຕໍ່ເນື່ອງ ແລະ ບໍ່ຕໍ່ເນື່ອງ ມັນຕ່າງກັນບ່ອນໃດ?
- ຂໍ້ມູນຕໍ່ເນື່ອງ ຈະເປັນຂໍ້ມູນໃດກະໄດ້ ທີ່ສາມາດຫາຄ່າໄດ້ໝົດໃນຂອບເຂດຂອງມັນ ສາມາດເປັນເລກຈຳນວນເສດ (ເລກຈຸດ) ແລະ ມັນສາມາດມັນເລກທີ່ສາມາດຈັດປະເພດໄດ້ຄືກັນເຊັ່ນ: ຍິງ,ຊາຍ, ຖືກ, ຜິດ ແລະ ອື່ນໆ. ເຊິ່ງວ່າສົມຜົນທີ່ໃຊ້ຂໍ້ມູນປະເພດກໍຈະເປັນພວກລີເນແອເປັນຕົ້ນ ເຊັ່ນ: ການຫາຄວາມສຳພັນຂອງອາຍຸກັບລວງສູງ ຫຼື ຜົນກະທົບອື່ນໆຈາກຕົວປ່ຽນຕົ້ມ(independent variable) ກັບຕົວປ່ຽນຕາມ (dependent variable).
- ຂໍ້ມູນບໍ່ຕໍ່ເນື່ອງ ເປັນຂໍ້ມູນທີ່ສະເພາະເຈາະຈົງ ແລະ ບໍ່ສາມາດແບ່ງ ຫຼື ເປັນເລກຈຸດໄດ້ເຊັ່ນ: ຈຳນວນຄົນ ມີ 27ຄົນ, ເຮົາກໍບໍ່ສາມາດແບ່ງໄດ້ວ່າ ຈຳນວນຄົນມີ 26.5ຄົນ. ສົມຜົນທີ່ໃຊ້ຂໍ້ມູນປະເພດນີ້ກໍຈະເປັນສົມຜົນໂລກາລິກ (ຖືກ ຫຼື ຜິດ/ 0 ກັບ 1) ຖ້າຄອມເຂົາຈະເອີ້ນເປັນສົມຜົນ binary. ເຊັ່ນ: ຫາຄວາມເປັນໄປໄດ້ຂອງຮູບວ່າຈະເປັນຮູບແມວ ຫຼືບໍ່?; ຫາຜົນກະທົບວ່າອຸບັດຕິເຫດເກີດຈາກການດື່ມແລ້ວຂັບແທ້ບໍ່?