1.機器學習中特徵的理解
def:特徵選擇和降維
特徵選擇:原有特徵選擇出子集,不改變原來的特徵空間
降維:將原有的特徵重組成為包含資訊更多的特徵,改變了原有的特徵空間
降維的主要方法
filter方法
chi-squared test(卡方檢驗)information gain(資訊增益),詳細可見「簡單易學的機器學習演算法——決策樹之id3演算法」
correlation coefficient scores(相關係數)
其主要思想是:將子集的選擇看作是乙個搜尋尋優問題,生成不同的組合,對組合進行評價,再與其他的組合進行比較。這樣就將子集的選擇看作是乙個是乙個優化問題,這裡有很多的優化演算法可以解決,尤其是一些啟發式的優化演算法,如ga,pso,de,abc等,詳見「優化演算法——人工蜂群演算法(abc)」,「優化演算法——粒子群演算法(pso)」。embedded方法
其主要思想是:在模型既定的情況下學習出對提高模型準確性最好的屬性。這句話並不是很好理解,其實是講在確定模型的過程中,挑選出那些對模型的訓練有重要意義的屬性。2.機器學習中,有哪些特徵選擇的工程方法?主要方法:
正則化,可以見「簡單易學的機器學習演算法——嶺回歸(ridge regression)」,嶺回歸就是在基本線性回歸的過程中加入了正則項。
資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已3.機器學習中的正負樣本1.計算每乙個特徵與響應變數的相關性:工程上常用的手段有計算皮爾遜係數和互資訊係數,皮爾遜係數只能衡量線性相關性而互資訊係數能夠很好地度量各種相關性,但是計算相對複雜一些,好在很多toolkit裡邊都包含了這個工具(如sklearn的mine),得到相關性之後就可以排序選擇特徵了; 2.
構建單個特徵的模型,通過模型的準確性為特徵排序,藉此來選擇特徵;
3.通過l1正則項來選擇特徵:
l1正則方法具有稀疏解的特性,因此天然具備特徵選擇的特性,但是要注意,l1沒有選到的特徵不代表不重要,原因是兩個具有高相關性的特徵可能只保留了乙個,如果要確定哪個特徵重要應再通過l2正則方法交叉檢驗*; 4.
5.通過特徵組合後再來選擇特徵:
如對使用者id和使用者特徵最組合來獲得較大的特徵集再來選擇特徵,這種做法在
推薦系統和廣告系統中比較常見,這也是所謂億級甚至十億級特徵的主要**,原因是使用者資料比較稀疏,組合特徵能夠同時兼顧全域性模型和個性化模型,這個問題有機會可以展開講。
6.通過深度學習來進行特徵選擇:目前這種手段正在隨著深度學習的流行而成為一種手段,尤其是在計算機視覺領域,原因是深度學習具有自動學習特徵的能力,這也是深度學習又叫unsupervised feature learning的原因。從深度學習模型中選擇某一神經層的特徵後就可以用來進行最終目標模型的訓練了。
在分類問題中,這個問題相對好理解一點,比如人臉識別中的例子,正樣本很好理解,就是人臉的,負樣本的選取就與問題場景相關,具體而言,如果你要進行教室中學生的人臉識別,那麼負樣本就是教室的窗子、牆等等,也就是說,不能是與你要研究的問題毫不相關的亂七八糟的場景,這樣的負樣本並沒有意義。負樣本可以根據背景生成,有時候不需要尋找額外的負樣本。一般3000-10000的正樣本需要5,000,000-100,000,000的負樣本來學習,在互金領域一般在入模前將正負比例通過取樣的方法調整到3:1-5:1。4.線性分類器與非線性分類器的區別及優劣
區別:所謂線性分類器即用參考:機器學習面試問題10乙個超平面將正負樣本分離開,表示式為 y=wx 。這裡是強調的是平面。
而非線性的分類介面沒有這個限制,
可以是曲面,多個超平面的組合等。
典型的線性分類器有感知機,lda,邏輯斯特回歸,svm(線性核);
典型的非線性分類器有樸素貝葉斯(有文章說這個本質是線性的,
l),knn,決策樹,svm(非線性核)
優缺點:
1.線性分類器判別簡單、易實現、且需要的計算量和儲存量小。
2.如果乙個問題是非線性問題並且它的類邊界不能夠用線性超平面估計得很好,那麼非線性分類器通常會比線性分類器表現得更精準。如果乙個問題是線性的,那麼最好使用簡單的線性分類器來處理。
5.如何解決過擬合問題?
解釋過擬合:模型在訓練集表現好,在真實資料表現不好,即模型的泛化能力不夠。從另外乙個方面來講,模型在達到經驗損失最小的時候,模型複雜度較高,結構風險沒有達到最優。
解決:
學習方法上:限制機器的學習,使機器學習特徵時學得不那麼徹底,因此這樣就可以降低機器學到區域性特徵和錯誤特徵的機率,使得識別正確率得到優化.
資料上:要防止過擬合,做好特徵的選取。訓練資料的選取也是很關鍵的,良好的訓練資料本身的區域性特徵應盡可能少,雜訊也盡可能小.
6.l1和l2正則的區別,如何選擇l1和l2正則?
l1 norm 和l2 norm的區別(核心:l2對大數,對outlier更敏感!):
l1優點是能夠獲得sparse模型,對於large-scale的問題來說這一點很重要,因為可以減少儲存空間。缺點是加入l1後目標函式在原點不可導,需要做特殊處理。
l2優點是實現簡單,能夠起到正則化的作用。缺點就是l1的優點:無法獲得sparse模型。實際上l1也是一種妥協的做法,要獲得真正sparse的模型,要用l0正則化。
參考:機器學習中的範數規則化之(一)l0、l1與l2範數
7. 有監督學習和無監督學習的區別
有監督學習:對具有概念標記(分類)的訓練樣本進行學習,以盡可能對訓練樣本集外的資料進行標記(分類)**。這裡,所有的標記(分類)是已知的。因此,訓練樣本的岐義性低。監督學習中只要輸入樣本集,機器就可以從中推演出制定目標變數的可能結果.如協同過濾推薦演算法,通過對訓練集進行監督學習,並對測試集進行**,從而達到**的目的.
無監督學習:對沒有概念標記(分類)的訓練樣本進行學習,以發現訓練樣本集中的結構性知識。這裡,所有的標記(分類)是未知的。因此,訓練樣本的岐義性高。聚類就是典型的無監督學習
監督學習的典型例子就是決策樹、神經網路以及疾病監測,而無監督學習就是很早之前的西洋雙陸棋和聚類。
機器學習面試題目
過擬合原因 資料 資料不規範,資料量少,資料穿越,統計特徵用到了未來的資訊或者標籤資訊 演算法 演算法過於複雜 解決 1 將資料規範化,處理缺失值,增加資料量,取樣,新增雜訊資料 2 正則化,控制模型複雜程度,3 early stoping,減少迭代次數,減少樹的深度,4 學習率調大 小點 5 融合...
面試題目總結
1.char p和char p的區別。1 char getstring void void main 2 char getstring void void main 為什麼 1 輸出的是亂碼,2 能夠輸出 hello world?hello world 作為靜態字串實際上儲存在文字常量區 參見 棧和...
面試題目總結
二叉樹相關面試題目 結點資料結構 typedef struct treenode 1.二叉樹的前序遍歷 遞迴void preorder treenode root vector res 非遞迴 vectorpreorder treenode root else 2.二叉樹中序遍歷 遞迴void mi...