大數據環境下,常聽到機器學習、深度學習、數據挖掘等這些名詞,但對于小白來說,并不是很清楚這些概念的區別,今天我們大圣眾包(www.dashengzb.cn)小編就通過一段對話為大家打開機器學習的奧秘:機器學習到底是什么?
小白問:機器學習是尖端科技嗎?
答:不是,但是它會用在尖端科技中。
小白問:那為什么很多人,比如我,都大不敢去嘗試進入這個領域呢?
答:可能這個事兒聽起來有點不可思議吧。所以好多人誤以為這超出了自己理解和學習能力范圍。
小白問:那到底它有多復雜?
答:干過這個事兒的人就知道,它就是個孩子們的游戲。(這個說法有點夸張,但基本就是這個意思)。
小白問:那機器學習到底是個啥?
答:它是個試圖讓事情更智能的過程。我們大多數人都聽說類似“人工神經網絡”這類的詞,就是試圖復制人類大腦工作過程的一種嘗試。即使是這樣的事情都不一定總是復雜的。說白了,它就是乘法和微分。就是你在學校里學的數學,沒什么不同的
小白問:你說機器學習讓事情更智能,什么是智能?
答:智能就是理解事物背后的概念和模式。可以是理解人的情緒,弄清楚人類的語言在講什么(例如:漢語,英文,印度語),或者很酷地做些預測。
小白問:這可能是個傻問題,為什么叫機器學習?這名字對小白來說有些拗口啊。
答:沒有問題是傻問題!機器學習是由英文Machine Learning直接翻譯而來,這里的機器就是指的計算機。人腦之所以可以工作,是因為它在不斷吸收信息并學習。機器學習就是讓計算機像人腦一樣,也學習它接收到的數據和信息。拿圖片分類這件事兒來說吧,我們人腦之所以知道這個圖片是蘋果,那個圖片是鴨梨,是通過看了足夠多的蘋果和鴨梨終于學會了正確分類。機器學習就是指我們寫一些電腦程序使得計算機可以自動學習,最終正確分類。
小白問:機器學習最主要的好處是什么?它為什么這么重要?
答:機器學習可以模擬人腦學習。對于學習的過程顯然人腦學習容易得多,一個小孩都可以分清蘋果和鴨梨。機器學習則需要花時間寫代碼,而且需要提前學習大量已知數據(比如,要給你的計算機看很多很多的蘋果和鴨梨)才能正確作出分類判斷。但是,一旦機器學習的過程完成,自動化和大量應用就很容易–一臺機器可以輕而易舉的對百萬張圖片進行很快分類且不會勞累,人腦可是做不到。所以說,機器學習和大數據是完美搭檔!
小白問:那機器學習可以用來做什么?
答:基本上人類可以做什么,機器學習就可以做什么,甚至更多!比如:
1)你在某個電商網站上買東西,機器學習可以從千萬商品中找出你最想要,最相關的選項
2)視頻網站用機器學習來猜你今天的心情,然后給你推薦你現在最感興趣的電影。
3)谷歌可以從億萬搜索結果中找出最相關的網頁。
4)醫學領域應用機器學習,在一個人健康的時候就預測出他是否會得某種病(比如癌癥)。是不是有點起雞皮疙瘩了?
5)我最喜歡的應用是微軟的小娜(Cortana)和蘋果公司的Siri這樣可以理解語言的機器人。
6)所有的事情幾乎都可以用到機器學習!
深入聊聊
機器學習在netflix中的應用(netflix是美國著名電影電視劇點播網站)
Netflix中的每一部電影都有一個標簽,注明了這部電影的類型。比如著名的星球大戰系列電影的類型標簽就是冒險型。除了類型標簽以外,這些電影還有一些別的標簽,比如演員,導演,出產年份等等。
當你在netflix上看電影的時候,系統會根據你的行為自動地記錄一些其他信息。比如你有沒有看完這部電影,沒有的話看了多少分鐘或者你中間暫停了多少次等等。有了這些信息以后,系統就可以開始找出你行為中的一些規律,然后就可以給你推薦下一部你可能想看的電影。
比如下面是個篩選電影的流程:
你喜歡動作片->在所有電影里面,有100部電影可以選擇
你喜歡周潤發–>還剩50部電影
你不喜歡時間長的電影–>只剩10個選擇了
現在我們就可以把這10部電影推薦給你,但是系統可以做的遠遠不止這些。
你通常在晚上6-10點之間看電影->選擇這個時間為你推送影片信息
你通常在睡前看恐怖電影->在晚上10點左右優先推薦恐怖片
機器學習在谷歌語言分析中的應用
機器學習在谷歌應該說無處不在:包括在輸入搜索問題的時候得到的自動提示,還有最后得到的搜索結果通通用的是機器學習。更確切的說,用的是自然語言處理也叫NLP。所謂的自然語言就是人類互相交流實用的語言,比如中文和英語。機器通過自然語言處理可以把這些自然語言中的每一個詞都轉化成向量。你可以把這些向量想成一個長度為N,高度為1的矩陣(排成長方形的一堆數),通常N的大小取決于所分析語言的復雜程度,也就是說這個語言中設定的規則的數目。比如說我們可以推斷英語中大概有300-400個這些規則。那么,這個向量長度就為300-400。在這矩陣中,每一個規則都有一個矩陣中對應的數值。
小白問:那有這么多個規則,怎么給他們加上數值呢?
答:我也不知道的說:D
小白問:啥都不知道為什么還這么激動?
答:這就是機器學習的神奇所在!這個計算數值的過程中不需要人的插手,自動就可以得到數值。而且這些向量中的數值是有確切含義的。
比如下面有這三句話:
1.梅西射門得分了
2.羅納爾多點球沒進
3.小剛希望自己的工資多點
傳統的學習方法會認為,第二句和第三句話中都有“多點”這部分,別的好像沒有什么字是重合的了。所以結論是:那第二句和第三句肯定有相同之處吧?
但是任何正常的人類大腦都知道其實第一句和第二句才是同一個主題,都是討論足球,所以更有可能同時出現。機器學習中的向量也明白這個道理J。經過機器學習后,“羅納爾多”的向量和“梅西”的向量更為接近。當我們可以比較向量的相似程度的時候,最后得到的結果就和我們大腦得到的結果更加接近。是不是很神奇呀?
小白問:所以你的意思是矩陣中的數值可以幫助我們理解一句話到底是講的啥了?
答:你真聰明!現在你還覺得機器學習難懂嗎?