<prompt> Eleza tofauti kati ya ujifunzaji wa mashine na upangaji programu wa jadi.  <response>: Utengenezaji wa programu za kitamaduni na ujifunzaji wa mashine ni mbinu tofauti za kubuni na kutengeneza programu za kompyuta. Katika programu ya kitamaduni, msanidi programu anaandika algorithm inayoelezea maagizo maalum kwa kompyuta kutekeleza. Kwa kuzingatia ingizo fulani, programu huichakata kupitia maagizo yaliyowekwa wazi na kutoa matokeo. Tabia ya programu inategemea kabisa muundo wa awali wa msanidi programu. Kujifunza kwa mashine, kwa upande mwingine, hubadilisha nguvu hii. Badala ya kuratibiwa kwa uwazi, kanuni ya kujifunza kwa mashine hujifunza kutoka kwa data ili kuboresha matokeo yake baada ya muda. Msanidi huunda algoriti ambayo inafunza kwenye mkusanyiko wa data. Kanuni hii hutambua ruwaza katika data, na hujifunza kufanya ubashiri au maamuzi kulingana na ruwaza hizi. Utendaji wa algoriti huboreka kadri inavyopata kukaribiana kwa data zaidi, na kuimarisha uwezo wake wa kupata ruwaza na kufanya ubashiri sahihi. Kwa muhtasari, tofauti kuu kati ya programu za kitamaduni na ujifunzaji wa mashine ni jinsi wanavyochakata habari ili kutoa matokeo. Upangaji programu wa kitamaduni hufuata seti iliyobainishwa kwa uwazi, huku ujifunzaji wa mashine hujifunza kutoka kwa data ili kuboresha mbinu yake baada ya muda. 