Өдөр тутмын амьдралд бид тасралтгүй шийдвэр гаргаж байдаг. Coffeе shop-д байхдаа “юу захиалах вэ?”, дэлгүүрт байхдаа “амттай юм авч идэх үү?”, эмнэлэгт “энэ шинж тэмдэг ямар оноштой тохирч байна вэ?” зэрэг асуултууд янз бүрийн хэлбэртэй боловч эцэстээ ихэнх нь “тийм” эсвэл “үгүй” гэсэн хариуд очдог. Хиймэл оюун ухаан ч яг ийм төрлийн шийдвэр гаргах шаардлагатай тулгардаг. Гэхдээ хүн шиг зөн совингоор биш, өгөгдөлд тулгуурлан дараалсан логик асуултуудыг гинжлэн шийдвэрт хүрдэг. Машин сургалтын салбарт иймэрхүү асуудлыг шийдэхэд Decision Tree болон Random Forest зэрэг алгоритмууд өргөн хэрэглэгддэг бөгөөд эдгээр нь энгийн асуултаас эхлэн өгөгдлийг алхам алхмаар ялган, улам нарийн дүгнэлтэд хүрдэг арга юм.
Decision Tree гэж юу вэ?
Decision Tree нь машин сургалтын хамгийн ойлгомжтой алгоритмуудын нэг юм. Нэрнээс нь харахад мод шиг бүтэцтэй шийдвэр гаргах арга гэдгийг илтгэнэ. Модны үндэс хэсгээс эхлэн асуултууд тавигдаж, хариунаас нь хамааран дараагийн салбар руу шилждэг. Ингэснээр эцэст нь тодорхой шийдвэрт хүрдэг.
Жишээ нь банк хэрэглэгчид зээл олгох эсэхийг шийдэх гэж байна гэж бодъё. Эхний асуулт нь “орлого нь хангалттай юу?” байж болно. Хэрэв тийм бол дараагийн асуулт “өмнөх зээлийн түүх сайн уу?” гэх мэтээр үргэлжилнэ. Ийм маягаар асуултууд салбарлан явсаар эцэст нь “зээл олгоно” эсвэл “татгалзана” гэсэн шийдвэр гарна.

Decision Tree хэрхэн ажилладаг вэ?
Decision Tree нь өгөгдлийг хамгийн сайн ялгах асуултыг олж эхэлдэг. Өөрөөр хэлбэл, аль асуулт тавихад өгөгдөл хамгийн тодорхой хоёр бүлэгт хуваагдах вэ гэдгийг тооцоолдог. Энэ үйл явц олон удаа давтагдснаар мод аажмаар томорч, нарийн шийдвэр гаргах чадвартай болдог.
Жишээ нь зургийн өгөгдөл дээр ажиллаж байвал “зурагт дөрвөн хөлтэй амьтан байна уу?” гэх мэт шинж чанар ашиглан өгөгдлийг хувааж болно. Хэрэв хариулт нь тийм бол “сүүл нь урт уу?” гэх мэт дараагийн асуулт үргэлжилж магадгүй. Ийнхүү салбарласан асуултууд эцэстээ тодорхой ангилалд хүргэдэг.

Decision Tree-ийн сул тал
Decision Tree ойлгоход маш энгийн боловч зарим сул талтай. Хамгийн түгээмэл асуудал нь overfitting буюу загвар сургалтын өгөгдөлд хэт тохирох явдал юм. Энэ тохиолдолд мод маш олон салбартай болж, шинэ өгөгдөл дээр муу ажиллах магадлалтай.
Мөн нэг Decision Tree буруу асуулт сонговол нийт шийдвэрт нөлөөлж болно. Өөрөөр хэлбэл, ганц модны алдаа бүх үр дүнд нөлөөлөх эрсдэлтэй. Энэ асуудлыг шийдэхийн тулд машин сургалтад илүү хүчтэй арга болох Random Forest гарч ирсэн.

Random Forest гэж юу вэ?
Random Forest нь нэг Decision Tree ашиглахын оронд олон Decision Tree ашигладаг алгоритм юм. Нэрнээсээ харахад “санамсаргүй модны ой” гэсэн утгатай. Өөрөөр хэлбэл, олон өөр мод өөр өөр өгөгдөл дээр суралцаж, тус бүр өөрийн шийдвэрийг гаргана.
Эцэст нь бүх модны санал нэгтгэгдэж, хамгийн олон санал авсан шийдвэрийг сонгодог. Энэ нь яг л нэг асуудлыг олон хүнээс асууж, хамгийн нийтлэг хариуг авахтай адил юм. Ийм арга нь ганц модны алдаанаас үүсэх эрсдэлийг мэдэгдэхүйц багасгадаг.

Random Forest яагаад илүү сайн бэ?
Олон Decision Tree ашиглах нь загварыг илүү тогтвортой болгодог. Хэрэв нэг мод алдаа гаргасан ч бусад моднууд зөв шийдвэр гаргаж чадна. Ингэснээр нийт системийн таамаглал илүү найдвартай болдог.
Мөн Random Forest нь overfitting асуудлыг бууруулах чадвартай. Мод бүр өгөгдлийн өөр хэсэг дээр суралцдаг тул загвар нэг өгөгдөлд хэт тохирох магадлал багасдаг. Иймээс бодит амьдралын олон асуудалд Random Forest илүү сайн үр дүн үзүүлдэг.

Дүгнэлт
Decision Tree болон Random Forest нь машин сургалтын чухал алгоритмуудын нэг юм. Decision Tree нь энгийн асуултуудаар дамжуулан шийдвэр гаргах ойлгомжтой арга бол Random Forest нь олон модыг нэгтгэж илүү найдвартай үр дүн гаргадаг. Эдгээр алгоритмууд нь банкны эрсдэлийн үнэлгээ, эмнэлгийн оношлогоо, спам илрүүлэх зэрэг олон салбарт өргөн ашиглагддаг.
Машин сургалт судлах явцад Decision Tree-г ойлгох нь маш чухал алхам юм. Учир нь энэ алгоритм нь өгөгдөл хэрхэн хуваагдаж, машин хэрхэн шийдвэр гаргаж байгааг нүдэнд үзэгдэх байдлаар харуулдаг. Харин Random Forest нь энэ санааг илүү хүчтэй болгож, бодит хэрэглээнд тохирох найдвартай шийдэл болдог.