久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3979|回復: 1
打印 上一主題 下一主題
收起左側

李航博士的《淺談我對機器學習的理解》 機器學習與自然語言處理

[復制鏈接]
跳轉到指定樓層
樓主
ID:91350 發(fā)表于 2015-10-30 12:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


算算時間,從開始到現(xiàn)在,做機器學習算法也將近八個月了。雖然還沒有達到融會貫通的地步,但至少在熟悉了算法的流程后,我在算法的選擇和創(chuàng)造能 力上有了不小的提升。實話說,機器學習很難,非常難,要做到完全了解算法的流程、特點、實現(xiàn)方法,并在正確的數(shù)據(jù)面前選擇正確的方法再進行優(yōu)化得到最優(yōu)效 果,我覺得沒有個八年十年的刻苦鉆研是不可能的事情。其實整個人工智能范疇都屬于科研難題,包括模式識別、機器學習、搜索、規(guī)劃等問題,都是可以作為獨立 科目存在的。我不認為有誰可以把人工智能的各個方面都做到極致,但如果能掌握其中的任一方向,至少在目前的類人尖端領域,都是不小的成就。
這篇日志,作為我2014年的學業(yè)總結,詳細闡述目前我對機器學習的理解,希望各位看官批評指正,多多交流!
機器學習(MachineLearning),在我看來就是讓機器學習人思維的過程。機器學習的宗旨就是讓機器學會“人識別事物的方法”,我們希望人從事物中了解到的東西和機器從事物中了解到的東西一樣,這就是機器學習的過程。在機器學習中有一個很經(jīng)典的問題:
“假設有一張色彩豐富的油畫,畫中畫了一片茂密的森林,在森林遠處的一棵歪脖樹上,有一只猴子坐在樹上吃東西。如果我們讓一個人找出猴子的位置,正常情況下不到一秒鐘就可以指出猴子,甚至有的人第一眼就能看到那只猴子!
那么問題就來了,為什么人能在上千種顏色混合而成的圖像中一下就能識別出猴子呢?在我們的生活中,各種事物隨處可見,我們是如何識別出各種不同 的內(nèi)容呢?也許你可能想到了——經(jīng)驗。沒錯,就是經(jīng)驗。經(jīng)驗理論告訴我們認識的所有東西都是通過學習得到的。比如,提起猴子,我們腦海里立刻就會浮現(xiàn)出我 們見過的各種猴子,只要畫中的猴子的特征與我們意識中的猴子雷同,我們就可能會認定畫中畫的是猴子。極端情況下,當畫中猴子的特征與我們所認識某一類猴子 的特征完全相同,我們就會認定畫中的猴子是哪一類。
另一種情況是我們認錯的時候。其實人識別事物的錯誤率有的時候也是很高的。比如,當我們遇見不認識的字的時候會潛意識的念字中我們認識的部分。 比如,“如火如荼”這個詞,是不是有朋友也跟我一樣曾經(jīng)念過“如火如茶(chá)”?我們之所以犯錯,就是因為在我們沒有見過這個字的前提下,我們會潛意 識的使用經(jīng)驗來解釋未知。
目前科技如此發(fā)達,就有牛人考慮可不可以讓機器模仿人的這種識別方法來達到機器識別的效果,機器學習也就應運而生了。
從根本上說,識別,是一個分類的結果。看到四條腿的生物,我們可能會立即把該生物歸為動物一類,因為我們常常見到的四條腿的、活的東西,九成以 上是動物。這里,就牽扯出了概率的問題。我們對身邊的事物往往識別率很高,是因為人的潛意識幾乎記錄了肉眼看到的事物的所有特征。比如,我們進入一個新的 集體,剛開始大家都不認識,有的時候人和名字都對不上號,主要原因就是我們對事物的特征把握不夠,還不能通過現(xiàn)有特征對身邊的人進行分類。這個時候,我們 常常會有這種意識:哎,你好像叫張三來著?哦,不對,你好像是李四。這就是分類中的概率問題,有可能是A結果,有可能是B結果,甚至是更多結果,主要原因 就是我們的大腦收集的特征不夠多,還無法進行準確分類。當大家都彼此熟悉了之后,一眼就能識別出誰是誰來,甚至極端情況下,只聽聲音不見人都能進行識別, 這說明我們已經(jīng)對該事物的特征把握相當精確。
所以,我認為,人識別事物有四個基本步驟:學習、提取特征、識別、分類。
那么機器可不可以模仿這個過程來實現(xiàn)識別呢?答案是肯定的,但是沒有那么容易。難題有三:第一,人的大腦有無數(shù)神經(jīng)元進行數(shù)據(jù)交換和處理,在目 前的機器中還達不到同等的處理條件;第二,人對事物特征的提取是潛意識的,提取無意識情況下的信息,誤差很大;第三,也是最重要的一點,人的經(jīng)驗來自于人 每時每刻的生活中,也就是人無時無刻都處在學習中,如何讓機器進行各個方面的自主學習?因此,目前在人工智能領域始終還沒達到類人的水平,我認為主要原因 就是機器沒有潛意識。人的潛意識其實并不完全受人的意識支配,但卻可以提高人類識別事物的概率。我們無法給機器加載潛意識,因為主動加載的意識就是主觀意 識,在機器里無法完成人類潛意識的功能。所以,以目前的發(fā)展情況來看,要達到完全類人,還有不短的時間。但即便如此,與人的思維差別很大的機器依然可以為 我們的生活帶來幫助。比如,我們常用的在線翻譯、搜索系統(tǒng)、專家系統(tǒng)等,都是機器學習的產(chǎn)物。
那么,如何實現(xiàn)機器學習呢?
整體上看,機器學習就是模仿人識別事物的過程,即:學習、提取特征、識別、分類。由于機器不能跟人類思維一樣根據(jù)事物特征自然而然的選擇分類方 法,所以機器學習方法的選擇依然還需要人工選擇。目前,機器學習的方法主要有三種:監(jiān)督學習、半監(jiān)督學習和無監(jiān)督學習。監(jiān)督學習是利用一組已知類別的樣本 調(diào)整分類器的參數(shù),使其達到所要求性能的過程。白話一點,就是根據(jù)已知的,推斷未知的。代表方法有:Nave Bayes、SVM、決策樹、KNN、神經(jīng)網(wǎng)絡以及Logistic分析等;半監(jiān)督方法主要考慮如何利用少量的標注樣本和大量的未標注樣本進行訓練和分類 的問題,也就是根據(jù)少量已知的和大量未知的內(nèi)容進行分類。代表方法有:最大期望、生成模型和圖算法等。無監(jiān)督學習是利用一組已知類別的樣本調(diào)整分類器的參 數(shù),使其達到所要求性能的過程。也就是及其自個兒學。代表方法有:Apriori、FP樹、K-means以及目前比較火的Deep Learning。從這三方面看,無監(jiān)督學習是最智能的,有能實現(xiàn)機器主動意識的潛質(zhì),但發(fā)展還比較緩慢;監(jiān)督學習是不太靠譜的,從已知的推斷未知的,就 必須要把事物所有可能性全都學到,這在現(xiàn)實中是不可能的,人也做不到;半監(jiān)督學習是“沒辦法中的辦法”,既然無監(jiān)督學習很難,監(jiān)督學習不靠譜,就取個折 中,各取所長。目前的發(fā)展是,監(jiān)督學習技術已然成熟,無監(jiān)督學習還在起步,所以對監(jiān)督學習方法進行修改實現(xiàn)半監(jiān)督學習是目前的主流。但這些方法基本只能提 取信息,還不能進行有效的預測(人們就想,既然沒法得到更多,就先看看手里有什么,于是數(shù)據(jù)挖掘出現(xiàn)了)。
機器學習方法非常多,也很成熟。下面我挑幾個說。
首先是SVM。因為我做的文本處理比較多,所以比較熟悉SVM。SVM也叫支持向量機,其把數(shù)據(jù)映射到多維空間中以點的形式存在,然后找到能夠 分類的最優(yōu)超平面,最后根據(jù)這個平面來分類。SVM能對訓練集之外的數(shù)據(jù)做很好的預測、泛化錯誤率低、計算開銷小、結果易解釋,但其對參數(shù)調(diào)節(jié)和核函數(shù)的 參數(shù)過于敏感。個人感覺SVM是二分類的最好的方法,但也僅限于二分類。如果要使用SVM進行多分類,也是在向量空間中實現(xiàn)多次二分類。
SVM有一個核心函數(shù)SMO,也就是序列最小最優(yōu)化算法。SMO基本是最快的二次規(guī)劃優(yōu)化算法,其核心就是找到最優(yōu)參數(shù)α,計算超平面后進行分類。SMO方法可以將大優(yōu)化問題分解為多個小優(yōu)化問題求解,大大簡化求解過程。
SVM還有一個重要函數(shù)是核函數(shù)。核函數(shù)的主要作用是將數(shù)據(jù)從低位空間映射到高維空間。詳細的內(nèi)容我就不說了,因為內(nèi)容實在太多了?傊,核函數(shù)可以很好的解決數(shù)據(jù)的非線性問題,而無需考慮映射過程。
第二個是KNN。KNN將測試集的數(shù)據(jù)特征與訓練集的數(shù)據(jù)進行特征比較,然后算法提取樣本集中特征最近鄰數(shù)據(jù)的分類標簽,即KNN算法采用測量 不同特征值之間的距離的方法進行分類。KNN的思路很簡單,就是計算測試數(shù)據(jù)與類別中心的距離。KNN具有精度高、對異常值不敏感、無數(shù)據(jù)輸入假定、簡單 有效的特點,但其缺點也很明顯,計算復雜度太高。要分類一個數(shù)據(jù),卻要計算所有數(shù)據(jù),這在大數(shù)據(jù)的環(huán)境下是很可怕的事情。而且,當類別存在范圍重疊 時,KNN分類的精度也不太高。所以,KNN比較適合小量數(shù)據(jù)且精度要求不高的數(shù)據(jù)。
KNN 有兩個影響分類結果較大的函數(shù),一個是數(shù)據(jù)歸一化,一個是距離計算。如果數(shù)據(jù)不進行歸一化,當多個特征的值域差別很大的時候,最終結果就會受到較大影響; 第二個是距離計算。這應該算是KNN的核心了。目前用的最多的距離計算公式是歐幾里得距離,也就是我們常用的向量距離計算方法。
個人感覺,KNN最大的作用是可以隨時間序列計算,即樣本不能一次性獲取只能隨著時間一個一個得到的時候,KNN能發(fā)揮它的價值。至于其他的特點,它能做的,很多方法都能做;其他能做的它卻做不了。
第三個就是Naive Bayes了。Naive Bayes簡稱NB(牛X),為啥它牛X呢,因為它是基于Bayes概率的一種分類方法。貝葉斯方法可以追溯到幾百年前,具有深厚的概率學基礎,可信度非 常高。Naive Baye中文名叫樸素貝葉斯,為啥叫“樸素”呢?因為其基于一個給定假設:給定目標值時屬性之間相互條件獨立。比如我說“我喜歡你”,該假設就會假定 “我”、“喜歡”、“你”三者之間毫無關聯(lián)。仔細想想,這幾乎是不可能的。馬克思告訴我們:事物之間是有聯(lián)系的。同一個事物的屬性之間就更有聯(lián)系了。所 以,單純的使用NB算法效率并不高,大都是對該方法進行了一定的改進,以便適應數(shù)據(jù)的需求。
NB 算法在文本分類中用的非常多,因為文本類別主要取決于關鍵詞,基于詞頻的文本分類正中NB的下懷。但由于前面提到的假設,該方法對中文的分類效果不好,因 為中文顧左右而言他的情況太多,但對直來直去的老美的語言,效果良好。至于核心算法嘛,主要思想全在貝葉斯里面了,沒啥可說的。
第四個是回歸;貧w有很多,Logistic回歸啊、嶺回歸啊什么的,根據(jù)不同的需求可以分出很多種。這里我主要說說Logistic回歸。為 啥呢?因為 Logistic回歸主要是用來分類的,而非預測;貧w就是將一些數(shù)據(jù)點用一條直線對這些點進行擬合。而Logistic回歸是指根據(jù)現(xiàn)有數(shù)據(jù)對分類邊界 線建立回歸公式,以此進行分類。該方法計算代價不高,易于理解和實現(xiàn),而且大部分時間用于訓練,訓練完成后分類很快;但它容易欠擬合,分類精度也不高。主 要原因就是Logistic主要是線性擬合,但現(xiàn)實中很多事物都不滿足線性的。即便有二次擬合、三次擬合等曲線擬合,也只能滿足小部分數(shù)據(jù),而無法適應絕 大多數(shù)數(shù)據(jù),所以回歸方法本身就具有局限性。但為什么還要在這里提出來呢?因為回歸方法雖然大多數(shù)都不合適,但一旦合適,效果就非常好。
Logistic 回歸其實是基于一種曲線的,“線”這種連續(xù)的表示方法有一個很大的問題,就是在表示跳變數(shù)據(jù)時會產(chǎn)生“階躍”的現(xiàn)象,說白了就是很難表示數(shù)據(jù)的突然轉折。 所以用Logistic回歸必須使用一個稱為“海維塞德階躍函數(shù)”的Sigmoid函數(shù)來表示跳變。通過Sigmoid就可以得到分類的結果。
為了優(yōu)化Logistic回歸參數(shù),需要使用一種“梯度上升法”的優(yōu)化方法。該方法的核心是,只要沿著函數(shù)的梯度方向搜尋,就可以找到函數(shù)的最 佳參數(shù)。但該方法在每次更新回歸系數(shù)時都需要遍歷整個數(shù)據(jù)集,對于大數(shù)據(jù)效果還不理想。所以還需要一個“隨機梯度上升算法”對其進行改進。該方法一次僅用 一個樣本點來更新回歸系數(shù),所以效率要高得多。
第五個是決策樹。據(jù)我了解,決策樹是最簡單,也是曾經(jīng)最常用的分類方法了。決策樹基于樹理論實現(xiàn)數(shù)據(jù)分類,個人感覺就是數(shù)據(jù)結構中的B+樹。決 策樹是一個預測模型,他代表的是對象屬性與對象值之間的一種映射關系。決策樹計算復雜度不高、輸出結果易于理解、對中間值缺失不敏感、可以處理不相關特征 數(shù)據(jù)。其比 KNN好的是可以了解數(shù)據(jù)的內(nèi)在含義。但其缺點是容易產(chǎn)生過度匹配的問題,且構建很耗時。決策樹還有一個問題就是,如果不繪制樹結構,分類細節(jié)很難明白。 所以,生成決策樹,然后再繪制決策樹,最后再分類,才能更好的了解數(shù)據(jù)的分類過程。
決策樹的核心樹的分裂。到底該選擇什么來決定樹的分叉是決策樹構建的基礎。最好的方法是利用信息熵實現(xiàn)。熵這個概念很頭疼,很容易讓人迷糊,簡單來說就是信息的復雜程度。信息越多,熵越高。所以決策樹的核心是通過計算信息熵劃分數(shù)據(jù)集。
我還得說一個比較特殊的分類方法:AdaBoost。AdaBoost是boosting算法的代表分類器。boosting基于元算法(集成 算法)。即考慮其他方法的結果作為參考意見,也就是對其他算法進行組合的一種方式。說白了,就是在一個數(shù)據(jù)集上的隨機數(shù)據(jù)使用一個分類訓練多次,每次對分 類正確的數(shù)據(jù)賦權值較小,同時增大分類錯誤的數(shù)據(jù)的權重,如此反復迭代,直到達到所需的要求。AdaBoost泛化錯誤率低、易編碼、可以應用在大部分分 類器上、無參數(shù)調(diào)整,但對離群點敏感。該方法其實并不是一個獨立的方法,而是必須基于元方法進行效率提升。個人認為,所謂的“AdaBoost是最好的分 類方法”這句話是錯誤的,應該是“AdaBoost是比較好的優(yōu)化方法”才對。
好了,說了這么多了,我有點暈了,還有一些方法過幾天再寫。總的來說,機器學習方法是利用現(xiàn)有數(shù)據(jù)作為經(jīng)驗讓機器學習,以便指導以后再次碰到的 決策。目前來說,對于大數(shù)據(jù)分類,還是要借助分布式處理技術和云技術才有可能完成,但一旦訓練成功,分類的效率還是很可觀的,這就好比人年齡越大看待問題 越精準的道理是一樣的。這八個月里,從最初的理解到一步步實現(xiàn);從需求的邏輯推斷到實現(xiàn)的方法選擇,每天都是辛苦的,但每天也都是緊張刺激的。我每天都在 想學了這個以后可以實現(xiàn)什么樣的分類,其實想想都是讓人興奮的。當初,我逃避做程序員,主要原因就是我不喜歡做已經(jīng)知道結果的事情,因為那樣的工作沒有什 么期盼感;而現(xiàn)在,我可以利用數(shù)據(jù)分析得到我想象不到的事情,這不僅滿足了我的好奇感,也讓我能在工作中樂在其中。也許,我距離社會的技術需求還有很遠的 距離,但我對自己充滿信心,因為,我不感到枯燥,不感到彷徨,雖然有些力不從心,但態(tài)度堅定。

最后,希望各位能人、牛人、同道中人給予點評,多多交流,一個人做算法是吃力的,希望各位踴躍評價,共同進步



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:643751 發(fā)表于 2020-2-18 23:19 | 只看該作者
看了一半 后面的技術 看不下去了 因為沒接觸過。。。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩av中文 | 一级毛片在线播放 | 一级毛片视频在线 | 日韩精品一区二区三区在线播放 | 九九热精品在线 | 91影院| 成人网在线看 | 99riav国产一区二区三区 | 一区二区三区欧美大片 | 久久久久久蜜桃一区二区 | 日韩欧美国产精品 | 久久精品国产99国产精品 | 国产精品久久一区 | 久久精品中文 | 久久人人网 | 99精品免费久久久久久日本 | 成人在线视频看看 | 久久com | 伊人二区 | 亚洲导航深夜福利涩涩屋 | 日韩色图视频 | 日韩一区二区在线观看 | 欧美四虎| 精品亚洲一区二区 | 日韩一区中文字幕 | 青青草在线视频免费观看 | 亚洲黄色av| 尤物视频在线免费观看 | 亚洲国产精品久久久 | 午夜精品久久久久久久久久久久久 | 精品av久久久久电影 | 日韩午夜在线观看 | 水蜜桃久久夜色精品一区 | 欧美一区免费 | 国产国产精品久久久久 | 日韩精品一区二区三区高清免费 | 奇米超碰在线 | 亚洲免费片| 91精品国产综合久久婷婷香蕉 | 国产精品毛片无码 | 国产高清在线精品 |