有個(gè)游戲叫做 Fizz Buzz是越,游戲規(guī)則大概是醬的耳舅,從1開始數(shù)到100,如果被3整除喊 Fizz,如果被5整除喊 Buzz浦徊,如果同時(shí)被3和5整除就喊 FizzBuzz馏予,否則直接喊數(shù)字。
好了盔性,正常程序猿應(yīng)該是這樣用代碼(這里以 Python 為例子)實(shí)現(xiàn)的:
result = []
for i in range(1,101):
if i % 15 == 0:
result.append('FizzBuzz')
else if i % 3 == 0:
result.append('Fizz')
else if i % 5 == 0:
result.append('Buzz')
else:
result.append(str(i))
print(''.join(result))
那么如果用機(jī)器學(xué)習(xí)的思路怎么實(shí)現(xiàn)呢霞丧?
Step 1
首先,我們要準(zhǔn)備一個(gè)數(shù)據(jù)集 X冕香,這個(gè)數(shù)據(jù)集大概是醬的:
[1,2,3,4,...,]
然后準(zhǔn)備一個(gè)標(biāo)注集蛹尝,這個(gè)標(biāo)注集大概是醬的:
['Fizz','Buzz','FizzBuzz',idendtity]
Step 2
訓(xùn)練數(shù)據(jù),拿什么訓(xùn)練數(shù)據(jù)呢悉尾,拿一堆輸入輸出實(shí)例(你找門口大媽突那,給她5元錢紅包,讓她給你填上)构眯,這堆輸入輸出實(shí)例大概是醬的:
[(1,1),(2,2),(6,Fizz),(15,FizzBuzz),(20,Buzz),...]
Step 3
從輸入數(shù)據(jù)中提取特征愕难,編寫分類器。
結(jié)語
當(dāng)然啦惫霸,這個(gè)栗子很好地向我們展示了用代碼編程和用數(shù)據(jù)編程思路上的區(qū)別务漩。
怎么著,你對(duì)這個(gè)栗子的機(jī)器學(xué)習(xí)實(shí)現(xiàn)感興趣它褪?好吧饵骨,大牛 Joel 已經(jīng)實(shí)現(xiàn)了,用力戳: