久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

面試備用:18大機器學習經典算法總結

時間:2019-05-11 23:26:47下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《面試備用:18大機器學習經典算法總結》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《面試備用:18大機器學習經典算法總結》。

第一篇:面試備用:18大機器學習經典算法總結

學習18大經典數據挖掘算法

大概花了將近2個月的時間,自己把18大數據挖掘的經典算法進行了學習并且進行了代碼實現,涉及到了決策分類,聚類,鏈接挖掘,關聯挖掘,模式挖掘等等方面。也算是對數據挖掘領域的小小入門了吧。下面就做個小小的總結,后面都是我自己相應算法的博文鏈接,希望能夠幫助大家學習。

1.C4.5算法。C4.5算法與ID3算法一樣,都是數學分類算法,C4.5算法是ID3算法的一個改進。ID3算法采用信息增益進行決策判斷,而C4.5采用的是增益率。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42395865

2.CART算法。CART算法的全稱是分類回歸樹算法,他是一個二元分類,采用的是類似于熵的基尼指數作為分類決策,形成決策樹后之后還要進行剪枝,我自己在實現整個算法的時候采用的是代價復雜度算法,詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42558235

3.KNN(K最近鄰)算法。給定一些已經訓練好的數據,輸入一個新的測試數據點,計算包含于此測試數據點的最近的點的分類情況,哪個分類的類型占多數,則此測試點的分類與此相同,所以在這里,有的時候可以復制不同的分類點不同的權重。近的點的權重大點,遠的點自然就小點。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42613011

4.Naive Bayes(樸素貝葉斯)算法。樸素貝葉斯算法是貝葉斯算法里面一種比較簡單的分類算法,用到了一個比較重要的貝葉斯定理,用一句簡單的話概括就是條件概率的相互轉換推導。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42680161

5.SVM(支持向量機)算法。支持向量機算法是一種對線性和非線性數據進行分類的方法,非線性數據進行分類的時候可以通過核函數轉為線性的情況再處理。其中的一個關鍵的步驟是搜索最大邊緣超平面。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42780439

6.EM(期望最大化)算法。期望最大化算法,可以拆分為2個算法,1個E-Step期望化步驟,和1個M-Step最大化步驟。他是一種算法框架,在每次計算結果之后,逼近統計模型參數的最大似然或最大后驗估計。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42921789

7.Apriori算法。Apriori算法是關聯規則挖掘算法,通過連接和剪枝運算挖掘出頻繁項集,然后根據頻繁項集得到關聯規則,關聯規則的導出需要滿足最小置信度的要求。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43059211

8.FP-Tree(頻繁模式樹)算法。這個算法也有被稱為FP-growth算法,這個算法克服了Apriori算法的產生過多侯選集的缺點,通過遞歸的產生頻度模式樹,然后對樹進行挖掘,后面的過程與Apriori算法一致。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43234309

9.PageRank(網頁重要性/排名)算法。PageRank算法最早產生于Google,核心思想是通過網頁的入鏈數作為一個網頁好快的判定標準,如果1個網頁內部包含了多個指向外部的鏈接,則PR值將會被均分,PageRank算法也會遭到Link Span攻擊。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43311943

10.HITS算法。HITS算法是另外一個鏈接算法,部分原理與PageRank算法是比較相似的,HITS算法引入了權威值和中心值的概念,HITS算法是受用戶查詢條件影響的,他一般用于小規模的數據鏈接分析,也更容易遭受到攻擊。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43311943

11.K-Means(K均值)算法。K-Means算法是聚類算法,k在在這里指的是分類的類型數,所以在開始設定的時候非常關鍵,算法的原理是首先假定k個分類點,然后根據歐式距離計算分類,然后去同分類的均值作為新的聚簇中心,循環操作直到收斂。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43373159

12.BIRCH算法。BIRCH算法利用構建CF聚類特征樹作為算法的核心,通過樹的形式,BIRCH算法掃描數據庫,在內存中建立一棵初始的CF-樹,可以看做數據的多層壓縮。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43532111

13.AdaBoost算法。AdaBoost算法是一種提升算法,通過對數據的多次訓練得到多個互補的分類器,然后組合多個分類器,構成一個更加準確的分類器。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43635115

14.GSP算法。GSP算法是序列模式挖掘算法。GSP算法也是Apriori類算法,在算法的過程中也會進行連接和剪枝操作,不過在剪枝判斷的時候還加上了一些時間上的約束等條件。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43699083

15.PreFixSpan算法。PreFixSpan算法是另一個序列模式挖掘算法,在算法的過程中不會產生候選集,給定初始前綴模式,不斷的通過后綴模式中的元素轉到前綴模式中,而不斷的遞歸挖掘下去。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43766253

16.CBA(基于關聯規則分類)算法。CBA算法是一種集成挖掘算法,因為他是建立在關聯規則挖掘算法之上的,在已有的關聯規則理論前提下,做分類判斷,只是在算法的開始時對數據做處理,變成類似于事務的形式。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43818787

17.RoughSets(粗糙集)算法。粗糙集理論是一個比較新穎的數據挖掘思想。這里使用的是用粗糙集進行屬性約簡的算法,通過上下近似集的判斷刪除無效的屬性,進行規制的輸出。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43876001

18.gSpan算法。gSpan算法屬于圖挖掘算法領域。,主要用于頻繁子圖的挖掘,相較于其他的圖算法,子圖挖掘算法是他們的一個前提或基礎算法。gSpan算法用到了DFS編碼,和Edge五元組,最右路徑子圖擴展等概念,算法比較的抽象和復雜。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43924273

第二篇:斯坦福大學機器學習梯度算法總結

斯坦福大學機器學習梯度下降算法學習心得和相關概念介紹。

1基礎概念和記號

線性代數對于線性方程組可以提供一種簡便的表達和操作方式,例如對于如下的方程組:

4x1-5x2=13

-2x1+3x2=-9

可以簡單的表示成下面的方式:

X也是一個矩陣,為(x1,x2)T,當然你可以看成一個列向量。

1.1基本記號

用A ∈表示一個矩陣A,有m行,n列,并且每一個矩陣元素都是實數。用x ∈ , 表示一個n維向量.通常是一個列向量.如果要表示一個行向量的話,通常是以列向量的轉置(后面加T)來表示。

1.2向量的內積和外積

根據課內的定義,如果形式如xT y,或者yT x,則表示為內積,結果為一個實數,表示的是:,如果形式為xyT,則表示的為外積:。

1.3矩陣-向量的乘法

給定一個矩陣A ∈ Rm×n,以及一個向量x ∈ Rn,他們乘積為一個向量y = Ax ∈ Rm。也即如下的表示:

如果A為行表示的矩陣(即表示為),則y的表示為:

相對的,如果A為列表示的矩陣,則y的表示為:

即:y看成A的列的線性組合,每一列都乘以一個系數并相加,系數由x得到。

同理,yT=xT*A表示為:

yT是A的行的線性組合,每一行都乘以一個系數并相加,系數由x得到。

1.4矩陣-矩陣的乘法

同樣有兩種表示方式:

第一種:A表示為行,B表示為列

第二種,A表示為列,B表示為行:

本質上是一樣的,只是表示方式不同罷了。

1.5矩陣的梯度運算(這是老師自定義的)

定義函數f,是從m x n矩陣到實數的一個映射,那么對于f在A上的梯度的定義如下:

這里我的理解是,f(A)=關于A中的元素的表達式,是一個實數,然后所謂的對于A的梯度即是和A同樣規模的矩陣,矩陣中的每一個元素就是f(A)針對原來的元素的求導。

1.6其他概念

因為篇幅原因,所以不在這里繼續贅述,其他需要的概念還有單位矩陣、對角線矩陣、矩陣轉置、對稱矩陣(AT=A)、反對稱矩陣(A=-AT)、矩陣的跡、向量的模、線性無關、矩陣的秩、滿秩矩陣、矩陣的逆(當且僅當矩陣滿秩時可逆)、正交矩陣、矩陣的列空間(值域)、行列式、特征向量與特征值……

2用到的公式

在課程中用到了許多公式,羅列一下。嗯,部分公式的證明很簡單,部分難的證明我也不會,也懶得去細想了,畢竟感覺上數學對于我來說更像是工具吧。

轉置相關:

?(AT)T = A

?(AB)T = BT AT

?(A + B)T = AT + BT 跡相關: ? For A ∈ Rn×n, trA = trAT.? For A, B ∈ Rn×n, tr(A + B)=trA + trB.? For A ∈ Rn×n, t ∈ R, tr(tA)= t trA.? For A, B such that AB issquare, trAB = trBA.? For A, B, C such that ABC issquare, trABC = trBCA = trCAB。當乘法變多時也一樣,就是每次從末尾取一個矩陣放到前面去,這樣的矩陣乘法所得矩陣的跡是一致的。秩相關

? For A ∈ Rm×n,rank(A)≤ min(m, n).If rank(A)= min(m, n), 則A稱為滿秩

? For A ∈ Rm×n,rank(A)= rank(AT).? For A ∈ Rm×n, B ∈ Rn×p,rank(AB)≤ min(rank(A), rank(B)).? For A, B ∈ Rm×n,rank(A + B)≤ rank(A)+rank(B).逆相關:

?(A?1)?1 = A

? If Ax = b, 左右都乘以A?1 得到 x = A?1b.?(AB)?1 = B?1A?1

?(A?1)T =(AT)?1.F通常表示為A?T.行列式相關:

? For A ∈ Rn×n, |A| = |AT |.? For A, B ∈ Rn×n, |AB| = |A||B|.? For A ∈ Rn×n, |A| = 0,表示矩陣A是奇異矩陣,不可逆矩陣

? For A ∈ Rn×n and A 可逆, |A|?1 = 1/|A|.梯度相關: ? ?x(f(x)+ g(x))= ?xf(x)+ ?xg(x).? For t ∈ R, ?x(t f(x))= t?xf(x).? ?xbT x = b

? ?xxT Ax = 2Ax(if A 對稱)

? ?2xxT Ax = 2A(if A 對稱)

? ?A|A| =(adj(A))T = |A|A?T.adj=adjoint

3梯度下降算法和正規方程組實例應用

例子用的是上節課的房價的例子,有一組數據,有房子面積和房子價格,輸入格式舉例:

老師定義的變量如下:

m:訓練樣本的數目

x:輸入的變量(輸入的特征,在這個例子中為房子面積,后來又加了一個房子的臥室數目)

y :輸出變量(目標變量,這個例子中就是房價)

(x,y):表示的是一個樣本

:表示的第i個樣本,表示為。

3.1監督學習概念

所謂的監督學習即為告訴算法每個樣本的正確答案,學習后的算法對新的輸入也能輸入正確的答案。監督指的是在訓練樣本答案的監督下,h即為監督學習函數。

此例中我們假設輸出目標變量是輸入變量的線性組合,也就是說,我們的假設是存下如下的h(x):

Theta表示是特征前面的參數(也稱作特征權重)。也就是經過h(x)之后得到的就是預測的結果了。

如果假設x0=1,那么原來的h(x)就可以簡單的表示為如下形式:,其中n為特征數目,我們為了表達簡便,把theta和x都寫成向量的形式。下面就是如何求出θ(向量)使得h(x)盡可能接近實際結果的,至少在訓練集內接近訓練集中的正確答案。

我們定義一個花費函數(costfunction),針對每一組θ,計算出h(x)與實際值的差值。定義如下:

這也是用的最小二乘法的思想,但是之所以乘以1/2是為了簡化后面的計算。針對訓練集中的每一組數據。剩下的問題就是求得minJ(θ)時的θ取值,因為J(θ)是隨著θ變化而變化,所以我們要求得minJ(θ)時的θ就是我們想要的θ(這個min也叫做最小花費函數),怎么樣求出這組theta呢?采用的方法就是梯度下降算法和正規方程組。我們首先來看梯度下降算法。

3.2梯度下降算法

梯度下降算法是一種搜索算法,基本思想可以這樣理解:我們從山上的某一點出發,找一個最陡的坡走一步(也就是找梯度方向),到達一個點之后,再找最陡的坡,再走一步,直到我們不斷的這么走,走到最“低”點(最小花費函數收斂點)。

如上圖所示,x,y表示的是theta0和theta1,z方向表示的是花費函數,很明顯出發點不同,最后到達的收斂點可能不一樣。當然如果是碗狀的,那么收斂點就應該是一樣的。

算法的theta更新表示如下:

對每一個theta(j),都先求J(θ)對theta(j)的偏導(梯度方向),然后減少α,然后將現在的theta(j)帶入,求得新的theta(j)進行更新。其中α為步長,你可以理解為我們下山時走的步子的大小。步子太小了,收斂速度慢,步子太大了,可能會在收斂點附近來回擺動導致無法到達最低點。P.S.這個符號根據老師所說理解為程序中的賦值符號(=號),如果是=號,則理解為值是相等的(編程里面的==號)。下面我們先理解下,假設現在訓練集只有一組數據求關于theta(j)的偏導:

帶入

可以得到關于一組數據的theta(j)的表達式,不妨,這組數據就是第i組,則表示為:

然后我們將這個更新theta(j)的方法擴充到m個訓練樣本中,就可以得到下面的式子:

P.S.最外面的那個xj(i)的理解為:第i組數據中的第j個特征(feature)值。

3.2.1批量梯度下降算法(batch gxxxxdxxxx algorithm)

重復執行上面的這個更新步驟,直到收斂,就可以得到這組θ的值了。就是這個過程:。

這個算法就是批量梯度下降算法,為什么叫批量梯度下降?因為注意到上式中每更新一個θj都需要計算所有的樣本取值,所以當樣本數目非常大的時候(例如上萬條甚至數十萬條的時候),這樣的更新非常慢,找θ也非常慢,所以就有了另外一種改進的梯度下降算法。

3.2.2隨機梯度下降算法/增量梯度下降算法

做一個小小的改進,用一個樣本做一個theta的更新,比如用樣本1做theta(1)的更新,用樣本2做theta(2)的更新,以此類推。這種方法的好處是速度上肯定比批量梯度下降算法快,而且樣本數據越多,體現應該就越明顯。劣勢是得到的收斂點的值和批量梯度算法比起來也許不是最優的值。

3.2.3梯度下降算法總結

不管是批量梯度算法還是隨機梯度下降算法,他們的共同點有以下:

1.時間復雜度都是O(mn)(m為樣本數目,n為特征值/影響因子數目)

2.都有梯度下降性質:接近收斂時,每次“步子”(指實際減去的數,而不是前面定義的α,α是手動設置參數,人為改變才會變)會越來越小。其原因是每次減去α乘以梯度,但是隨著收斂的進行,梯度會越來越小,所以減去的值會。

3.判定收斂的方法都是如下兩種:

1)兩次迭代值改變量極小極小

2)J(θ)的值改變量極小極小

3.3正規方程組

寫在前面:這種方法是另一種方法了,和梯度下降算法就沒啥聯系了!!!

首先回顧下前面定義的矩陣梯度運算:

例如:

則:

定義一個矩陣,稱作設計矩陣,表示的是所有的樣本的輸入:

因為前面得到的結論:

(θT*x(i)和x(i)的轉置*θ結果是一樣),可以得到

可以寫成如下的形式:

又因為對于任意向量,所以可以得到:

運用下面介紹的一系列性質:

(5)是由(2)和(3)得到的,進行下面的推導

中間加tr不變的原因是因為是一個實數(看成1x1矩陣)加跡等于他本身。

將上式設為0,得到正規方程組

求解得到

第三篇:機器學習算法優缺點改進總結

Lecture 1 Introduction to Supervised Learning(1)Expectatin Maximization(EM)Algorithm(期望值最大)(2)Linear Regression Algorithm(線性回歸)(3)Local Weighted Regression(局部加權回歸)(4)k-Nearest Neighbor Algorithm for Regression(回歸k近鄰)(5)Linear Classifier(線性分類)(6)Perceptron Algorithm(線性分類)(7)Fisher Discriminant Analysis or Linear Discriminant Analysis(LDA)(8)k-NN Algorithm for Classifier(分類k近鄰)(9)Bayesian Decision Method(貝葉斯決策方法)Lecture 2 Feed-forward Neural Networks and BP Algorithm(1)Multilayer Perceptron(多層感知器)(2)BP Algorithm

Lecture 3 Rudiments of Support Vector Machine(1)Support Vector Machine(支持向量機)(此算法是重點,必考題)此處有一道必考題

Lecture 4 Introduction to Decision Rule Mining(1)Decision Tree Algorithm(2)ID3 Algorithm(3)C4.5 Algorithm(4)粗糙集……

Lecture 5 Classifier Assessment and Ensemble Methods(1)Bagging(2)Booting(3)Adaboosting Lecture 6 Introduction to Association Rule Mining(1)Apriori Algorithms(2)FP-tree Algorithms Lecture 7 Introduction to Custering Analysis(1)k-means Algorithms(2)fuzzy c-means Algorithms(3)k-mode Algorithms(4)DBSCAN Algorithms Lecture 8 Basics of Feature Selection(1)Relief Algorithms(2)ReliefF Algorithms(3)mRMR Algorithms最小冗余最大相關算法(4)attribute reduction Algorithms

比較了幾種分類算法性質。(以下兩個表格來自兩篇該領域經典論文)

Lecture 1 Introduction to Supervised Learning(1)Expectatin Maximization(EM)Algorithm(期望值最大)①算法思想:

EM算法又稱期望最大化算法,是對參數極大似然估計的一種迭代優化策略,它是一種可以從非完整的數據集中對參數進行極大似然估計的算法,應用于缺損數據,截尾數據,帶有噪聲的非完整數據。

最大期望算法經過兩個步驟交替進行計算:

第一步計算期望(E):也就是將隱藏的變量對象能夠觀察到的一樣包含在內,從而計算最大似然的期望值;

另外一步是最大化(M),也就是最大化在E步上找到的最大似然期望值,從而計算參數的似然估計。M步上找到的參數然后用于另一個E步計算。

重復上面2步直至收斂。

②優點:1)M步僅涉及完全數據極大似然,通常計算比較簡單

2)收斂是穩定的,因為每次迭代的似然函數是不斷增加的。

③缺點:1)表現在對缺失數據較多或是多維高斯分布的情形下,計算量大,收斂速度較慢。

2)對于某些特殊的模型,要計算算法中的M步,即完成對似然函數的估計是比較困難的。

3)在某些情況下,要獲得EM算法中E步的期望顯式是非常困難的。

4)EM算法的收斂速度,非常依賴初始值的設置,設置不當,計算代價相當大。

5)EM算法中的M-Step依然是采用求導函數的方法,所以它找到的是極值點,即局

部最優解,而不一定是全局最優解。④改進:針對1)改進:擴大參數空間來加快收斂

針對2)改進:ECM算法,該算法通過在M步構建計算比較簡單的小循環對EM

算法進行了改進,從而使期望函數極大化更加容易和有效,從而解決這一問題。

針對3)改進:MCEM算法,將E步積分求期望用蒙特卡洛模擬方法來實現,使

得E步求期望更容易實現。

針對4)初始值的獲取可以通過k-means算法,層次聚類算法或是數據數據進行隨

機分割,然后重復EM效果進行初始點選擇。

針對5)結合遺傳算法的全局搜索能力,擴大EM算法的搜索空間,有效降低EM

算法對初始值的依賴度,改善局部最優值的缺陷。

(2)Linear Regression Algorithm(線性回歸)①算法思想:

線性回歸(Linear Regression)是利用稱為線性回歸方程的最小平方函數對一個或多個自變量和因變量之間關系進行建模的一種回歸分析。這種函數是一個或多個稱為回歸系數的模型參數的線性組合。只有一個自變量的情況稱為簡單回歸,大于一個自變量情況的叫做多元回歸。

回歸模型:

i

其中 ?和C是未知參數,對于每個訓練樣本(xi,yi)可得到h(xi),用來預測真實值y。損失函數:

即誤差值的平方。

1:對于訓練集,求取θ,使得損失函數最小。(使用最小二乘法,梯度下降法)2:對于新輸入x,其預測輸出為θTx ②優點:結果易于理解,實現簡單,計算簡單

③缺點:1)對于非線性的數據擬合效果不好(原因:因為線性回歸將數據視為線性的,可能出現欠擬合現象,導致結果不能取得最好的預測效果)

2)如果訓練數據如果有些數據偏差特別大,這回造成最后訓練的模型可能對整體

具備很好的準確性

④改進:針對2)改進 :局部加權回歸

數據都不(3)Local Weighted Regression(局部加權回歸)①算法思想:

給每個待預測點周圍的點賦予一定的權重,越近的點權重越高,以此來選出該預測點對應的數據子集,然后在此數據子集上基于最小均方差進行普通的回歸.局部加權回歸實質上是對于需要預測的點,只是根據其附近的點進行訓練,其他的沒有改變。

對于局部線性加權算法:

1:對于輸入x,找到訓練集中與x鄰域的訓練樣本

2:對于其鄰域的訓練樣本,求取θ,使得其

∈x的鄰域)最小。其中w(i)為權重值。

3.預測輸出為θTx

4.對于新輸入,重復1-3過程。

其中

τ 為帶寬(bandwidth)常量,距離輸入越遠,權重越小,反之越大。

②優點:1)局部加權回歸還是對訓練數據擬合的比較好

2)不太依賴特征的選擇,而且只需要用線性模型就能夠訓練出不錯的擬合模型、③缺點:1)計算量較大。(因為局部加權回歸的損失數隨著預測值的不同而不同,這樣θ

就無法事先確定,每次預測時都需要掃描所有的數據并重新計算θ)

2)局部加權回歸容易出現過擬合現象,過擬合現象很明顯

3)關注局部的訓練數據,忽略了全局數據,如果預測點在出現偏差的訓練數據附

近,那么預測值會偏差很大。

④改進:

(4)k-Nearest Neighbor Algorithm for Regression(回歸k近鄰)①算法思想:

通過找出一個樣本的k個最近鄰居,將這些鄰居的屬性的平均值賦給該樣本,就可以得到該樣本的屬性。更有用的方法是將不同距離的鄰居對該樣本產生的影響給予不同的權值(weight),如權值與距離成正比。

如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別。

KNN算法不僅可以用于分類,還可以用于回歸。通過找出一個樣本的k個最近鄰居,將這些鄰居的屬性的平均值賦給該樣本,就可以得到該樣本的屬性。更有用的方法是將不同距離的鄰居對該樣本產生的影響給予不同的權值(weight),如權值與距離成反比。②優點:

1)簡單、有效。

2)重新訓練的代價較低(類別體系的變化和訓練集的變化,在Web環境和電子商務應用中是很常見的)。3)計算時間和空間線性于訓練集的規模(在一些場合不算太大)。

4)由于KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對于類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。

5)該算法比較適用于樣本容量比較大的類域的自動分類,而那些樣本容量較小的類域采用這種算法比較容易產生誤分。③缺點:

(1)KNN在對屬性較多的訓練樣本進行分類時,由于計算量大而使其效率大大降低,效果不是很理想。

(2)當樣本不平衡時,如一個類的樣本容量很大,而其他類樣本容量很小時,有可能導致當輸入一個新樣本時,該樣本的K個鄰居中大容量類的樣本占多數。

(3)對數據的局部結構比較敏感。如果查詢點是位于訓練集較密集的區域,那預測相對比其他稀疏集來說更準確。(4)對k值敏感。

(5)維數災難:臨近距離可能被不相干屬性主導(因此特征選擇問題)④改進:

(1)分類效率:事先對樣本屬性進行約簡,刪除對分類結果影響較小的屬性,快速的得出待分類樣本的類別。該算法比較適用于樣本容量比較大的類域的自動分類,而那些樣本容量較小的類域采用這種算法比較容易產生誤分。(2)分類效果:采用權值的方法(和該樣本距離小的鄰居權值大)來改進,Han等人于2002年嘗試利用貪心法,針對文件分類實做可調整權重的k最近鄰居法WAkNN(weighted adjusted k nearest neighbor),以促進分類效果;而Li等人于2004年提出由于不同分類的文件本身有數量上有差異,因此也應該依照訓練集合中各種分類的文件數量,選取不同數目的最近鄰居,來參與分類。

(3)該算法在分類時有個主要的不足是,當樣本不平衡時,如一個類的樣本容量很大,而其他類樣本容量很小時,有可能導致當輸入一個新樣本時,該樣本的K個鄰居中大容量類的樣本占多數。該算法只計算“最近的”鄰居樣本,某一類的樣本數量很大,那么或者這類樣本并不接近目標樣本,或者這類樣本很靠近目標樣本。無論怎樣,數量并不能影響運行結果。可以采用權值的方法(和該樣本距離小的鄰居權值大)來改進。(4)K 值的選擇會對算法的結果產生重大影響。K值較小意味著只有與輸入實例較近的訓練實例才會對預測結果起作用,但容易發生過擬合;如果 K 值較大,優點是可以減少學習的估計誤差,但缺點是學習的近似誤差增大,這時與輸入實例較遠的訓練實例也會對預測起作用,是預測發生錯誤。在實際應用中,K 值一般選擇一個較小的數值,通常采用交叉驗證的方法來選擇最優的 K 值。隨著訓練實例數目趨向于無窮和 K=1 時,誤差率不會超過貝葉斯誤差率的2倍,如果K也趨向于無窮,則誤差率趨向于貝葉斯誤差率。

(5)該方法的另一個不足之處是計算量較大,因為對每一個待分類的文本都要計算它到全體已知樣本的距離,才能求得它的K個最近鄰點。目前常用的解決方法是事先對已知樣本點進行剪輯,事先去除對分類作用不大的樣本。該算法比較適用于樣本容量比較大的類域的自動分類,而那些樣本容量較小的類域采用這種算法比較容易產生誤分。

(5)Linear Classifier(線性分類器)①算法思想:線性分類器使用線性判別函數,實現線性判別函數分類的方法有感知器算法、LMSE分類算法和Fisher分類。

在分類問題中,因變量Y可以看做是數據的label,屬于分類變量。所謂分類問題,就是能夠在數據的自變量X空間內找到一些決策邊界,把label不同的數據分開,如果某種方法所找出的這些決策邊界在自變量X空間內是線性的,這時就說這種方法是一種線性分類器。

C1和C2是要區分的兩個類別,在二維平面中它們的樣本如上圖所示。中間的直線就是一個分類函數,它可以將兩類樣本完全分開。

線性分類器在數學上被理解為線性判別函數(Linear Discriminant Functions),在幾何上可以理解為決策超平面(Decision Hyperplanes)。②優點:算法簡單

③缺點:只能處理線性問題

④改進:要處理其他非線性問題,可以向高維轉化,例如用SVM方法。線性分類器是分類方法,不是具體算法。

(6)Perceptron Algorithm(感知器算法)①算法思想:

感知機(Perceptron)是二類分類的線性分類模型,其輸入為實例的特征向量,輸出為實例的類別,取+1和-1二值。感知機對應于輸入空間(特征空間)中將實例劃分為正負兩類的分離超平面,屬于判別模型。②優點:

(1)感知機學習算法是基于隨機梯度下降法的對損失函數的最優化算法,有原始形式和對偶形式。算法簡單且易于實現;

(2)它提出了自組織自學習的思想。對能夠解決的問題有一個收斂的算法,并從數學上給出了嚴格的證明。(3)當樣本線性可分情況下,學習率 合適時,算法具有收斂性。③缺點:

(1)即感知機無法找到一個線性模型對異或問題進行劃分。

(2)其實不光感知機無法處理異或問題,所有的線性分類模型都無法處理異或分類問題。(3)收斂速度慢;當樣本線性不可分情況下,算法不收斂,且無法判斷樣本是否線性可分。

④改進:單個感知器雖然無法解決異或問題,但卻可以通過將多個感知器組合,實現復雜空間的分割。(7)線性判別分析(LDA,Linear Discriminant Analysis)①基礎概念

(1)判別分析概念

根據已知對象的某些觀測指標和所屬類別來判斷未知對象所屬類別的統計方法。利用已知類別的樣本信息求判別函數,根據判別函數對未知樣本所屬類別進行判別。(2)判別分析分類

按判別組數來分,有兩組判別分析和多組判別分析

按數學模型(函數形式)來分,有線性判別分析和非線性判別分析

按判別方法來分,有Fisher判別分析、Bayes判別分析和距離判別(K-NN)注:線性判別分析就是一般化的Fisher判別分析(3)Fisher判別分析與Bayes判別分析優缺點比較

Fisher判別方法對總體分布沒有特殊要求,但是Fisher判別法未考慮各總體出現概率的大小,不能給出后驗概率以及錯判造成的損失。

Bayes判別法可以給出后驗概率以及錯判造成的損失。但是要求即各種變量必須服從多元正態分布、各組協方差矩陣必須相等、各組變量均值均有顯著性差異。②LDA缺點

LDA有兩個突出缺點:(1)處理高維圖像時容易產生“小樣本問題”, 即樣本維數大大超過訓練圖像個數的問題;(2)由此引發的邊緣類主導特征空間分解的問題。(3)LDA的其余缺點(限制):

LDA至多可生成C-1維子空間。

LDA不適合對非高斯分布的樣本進行降維。

LDA在樣本分類信息依賴方差而不是均值時,效果不好。

LDA可能過度擬合數據。

③針對“小樣本問題”的改進方法

可以利用本文設計的改進PCA 算法與LDA 算法相結合來解決小樣本問題,即將結合了基于標準差和局部均值的圖像增強處理算法的PCA 算法與LDA 算法相結合。具體的應用過程即為: 先采用改進的PCA 算法對樣本進行降維處理,以便確保樣本的類內離散度矩陣為非奇異的,利用改進的PCA 算法將原始樣本圖像往一個特征子空間中投影,從而使得樣本的類內離散度矩陣是非奇異的。再利用LDA 算法在次特征子空間中求得最優變換。

LDA與PCA的比較

兩者都是為了在對原始數據降維之后進行分類。PCA(Principal Component Analysis,主成分分析)是無監督的方式,它沒有分類標簽,降維之后需要采用K-Means或自組織映射網絡等無監督的算法進行分類。LDA是有監督的方式,它先對訓練數據進行降維,然后找出一個線性判別函數。(8)k-NN(k-Nearest Neighbor for classifier,分類最近鄰估計)①算法思想:(1)k-NN介紹

如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別。KNN算法中,所選擇的鄰居都是已經正確分類的對象。該方法在定類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。KNN方法雖然從原理上也依賴于極限定理,但在類別決策時,只與極少量的相鄰樣本有關。(2)k-NN概念

k-NN算法通常以“歐氏距離(Euclidean Distance)”為其分類模型, 歐氏距離公式的定義如下: 設在n 維空間中有兩個點X =(x1,x2,?,xn)和Y =(y1,y2,?,yn), 它們之間的歐氏距離定義為:

其中, n是維數, Xi和Yi分別是X和Y的第k個屬性值。②優點

(1)簡單,易于理解,易于實現,無需估計參數,無需訓練

(2)適合對稀有事件進行分類(例如當流失率很低時,比如低于0.5%,構造流失預測模型)

(3)特別適合于多分類問題(multi-modal,對象具有多個類別標簽),例如根據基因特征來判斷其功能分類,kNN比SVM的表現要好.③缺點

(1)計算量大,由于要逐個計算到每條記錄的歐氏距離, 對于海量數據, 該算法時間效率非常低。它在對每一個查詢實例(Query Instance)進行分類時, 都需要搜索整個訓練集來尋找最近鄰, 所以它的運算開銷巨大, 時間代價高昂, 這導致了它的運行速度非常低下。

(2)可解釋性較差,無法給出決策樹那樣的規則。

(3)當樣本不平衡時,如一個類的樣本容量很大,而其他類樣本容量很小時,有可能導致當輸入一個新樣本時,該樣本的K個鄰居中大容量類的樣本占多數。該算法只計算“最近的”鄰居樣本,某一類的樣本數量很大,那么或者這類樣本并不接近目標樣本,或者這類樣本很靠近目標樣本。無論怎樣,數量并不能影響運行結果。(4)由于所有屬性均等地參與計算, 沒有突出屬性的重要程度, 分類結果易受單個屬性的影響;④改進

缺點1:目前常用的解決方法是事先對已知樣本點進行剪輯,事先去除對分類作用不大的樣本。該算法比較適用于樣本容量比較大的類域的自動分類,而那些樣本容量較小的類域采用這種算法比較容易產生誤分。缺點4:利用信息增益來衡量屬性的重要程度(即屬性權重系數),將屬性劃分為關鍵屬性、次要屬性及無關屬性, 解決屬性均等用力的問題;缺點3,可考慮從K值設定回答

1、k值設定為多大?

k太小,分類結果易受噪聲點影響;k太大,近鄰中又可能包含太多的其它類別的點。(對距離加權,可以降低k值設定的影響)

k值通常是采用交叉檢驗來確定(以k=1為基準)經驗規則:k一般低于訓練樣本數的平方根

補充去年相關習題:

請闡述 kNN近鄰分類算法的基本思想,并分析它的主要優缺點。關于 k 的取值,你有什么合理的建議(至少 1 條)。優點

(1)簡單,易于理解,易于實現,無需估計參數,無需訓練

(2)適合對稀有事件進行分類(例如當流失率很低時,比如低于0.5%,構造流失預測模型)(3)特別適合于多分類問題,例如根據基因特征來判斷其功能分類,kNN比SVM的表現要好 缺點

(1)懶惰算法,對測試樣本分類時的計算量大,內存開銷大,評分慢

(2)當樣本不平衡時,如一個類的樣本容量很大,而其他類樣本容量很小時,有 可能導致當輸入一個新樣本時,該樣本的K個鄰居中大容量類的樣本占多數;

(3)可解釋性較差,無法給出決策樹那樣的規則。k值設定

k值選擇過小,得到的近鄰數過少,會降低分類精度,同時也會放大噪聲數據的干擾;而如果k值選擇過大,并且待分類樣本屬于訓練集中包含數據數較少的類,那么在選擇k個近鄰的時候,實際上并不相似的數據亦被包含進來,造成噪聲增加而導致分類效果的降低。

k太小,分類結果易受噪聲點影響;k太大,近鄰中又可能包含太多的其它類別的點。(對距離加權,可以降低k值設定的影響)K值設定的建議

k值通常是采用交叉檢驗來確定(以k=1為基準)k一般低于訓練樣本數的平方根

(9)貝葉斯決策方法(Bayesian Decision Method)①貝葉斯決策概念

貝葉斯決策(Bayesian Decision Theory)就是在不完全情報下,對部分未知的狀態用主觀概率估計,然后用貝葉斯公式對發生概率進行修正,最后再利用期望值和修正概率做出最優決策。貝葉斯決策屬于風險型決策,決策者雖不能控制客觀因素的變化,但卻掌握其變化的可能狀況及各狀況的分布概率,并利用期望值即未來可能出現的平均狀況作為決策準則。

貝葉斯決策理論方法是統計模型決策中的一個基本方法,其基本思想是:

已知類條件概率密度參數表達式和先驗概率。

利用貝葉斯公式轉換成后驗概率。

根據后驗概率大小進行決策分類。②貝葉斯決策方法優缺點 優點:

貝葉斯決策能對信息的價值或是否需要采集新的信息做出科學的判斷

它能對調查結果的可能性加以數量化的評價,而不是像一般的決策方法那樣,對調查結果或者是完全相信,或者是 完全不相信

如果說任何調查結果都不可能完全準確,先驗知識或主觀概率也不是完全可以相信的,那么貝葉斯決策則巧妙地將這兩種信息有機地結合起來了

它可以在決策過程中根據具體情況下不斷地使用,使決策逐步完善和更加科學 缺點:

它需要的數據多,分析計算比較復雜,特別在解決復雜問題時,這個矛盾就更為突出

有些數據必須使用主觀概率,有些人不太相信,這也妨礙了貝葉斯決策方法的推廣使用 ③貝葉斯決策改進方法

將決策問題轉化成收益矩陣,通過對收益矩陣的分析,得出各行動方案的期望值,按照一定的準則選出最優方案。

以各狀況下最大收益值或效用值為基礎,求出MaxE(x),以此作為完全確定情況下的收益值,用該值減去最優方案的期望值得出完全信息價值(EVPⅠ),根據完全信息期望值判斷是否需要補充信息量。

在第2步得到肯定回答后,首先在預先后驗分析中從理論上把各種可能的抽樣方案及結果列舉出來,計算各種抽樣方案的抽樣信息期望值EVSI=EVPI-R(n),其中R(n)為抽樣風險,其大小是樣本大小的函數。

以EVSI-C(其中C為抽樣成本)作為標準選取最大值對應的抽樣方案為最優抽樣方案。

按照理論上得出的最優抽樣方案進行抽樣,然后,根據貝葉斯理論公式推導出后驗概率分布的數字描述,最后,以此為依據按照貝葉斯決策準則選出最優方案。補充樸素貝葉斯

樸素貝葉斯模型發源于古典數學理論,有著堅實的數學基礎,以及穩定的分類效率。

同時,NBC模型所需估計的參數很少,對缺失數據不太敏感,算法也比較簡單。理論上,NBC模型與其他分類方法相比具有最小的誤差率。但是實際上并非總是如此,這是因為NBC模型假設屬性之間相互獨立,這個假設在實際應用中往往是不成立的,這給NBC模型的正確分類帶來了一定影響。在屬性個數比較多或者屬性之間相關性較大時,NBC模型的分類效率比不上決策樹模型。而在屬性相關性較小時,NBC模型的性能最為良好。

補充樸素貝葉斯優點:

1)樸素貝葉斯算法是基于貝葉斯理論,邏輯清楚明了

2)本算法進行分類是,時間快,在內存上需要的也不大

3)本算法魯棒性高,即使數據包含的噪聲點,無關屬性和缺失值的屬性,分類性能不好又 太大的變化,健壯性好

補充樸素貝葉斯算法缺點:

1)樸素貝葉斯算法要求樣本各屬性直接是獨立的,而真實的數據符合這個條件很少。

2)當樣本數據少時,分類器可能會無法正確分類

Lecture 2 Feed-forward Neural Networks and BP Algorithm(1)Multilayer Perceptron(多層感知器)①算法思想

多層感知器(Multilayer Perceptron,縮寫MLP)是一種前向結構的人工神經網絡。MLP算法一般包括三層,分別是一個輸入層,一個輸出層和一個或多個隱藏層的神經網絡組成。一個“神經元”的輸出就可以是另一個“神經元”的輸入。MLP可以被看作是一個有向圖,由多個的節點層所組成,每一層都全連接到下一層。除了輸入節點,每個神經元都有幾個輸入和輸出神經元,每個神經元通過輸入權重加上偏置計算輸出值,并選擇一種激活函數進行轉換。一種被稱為反向傳播算法(BP)的監督學習方法常被用來訓練MLP。MLP是感知器的推廣,克服了感知器不能對線性不可分數據進行識別的弱點。

激活函數

若每個神經元的激活函數都是線性函數,那么,任意層數的MLP都可被約簡成一個等價的單層感知器。實際上,MLP本身可以使用任何形式的激活函數,但為了使用反向傳播算法進行有效學習,激活函數必須限制為可微函數。由于具有良好可微性,很多乙形函數,尤其是雙曲正切函數(Hyperbolic tangent)及邏輯乙形函數(logistic sigmoid function),被采用為激活函數。激活函數常見的有三種,分別是恒等函數,Sigmoid函數和高斯函數。

②優點:

(1)高度的并行性

人工神經網絡是由許多相同的簡單處理單元并聯組合而成,雖然每個單元的功能簡單,但大量簡單單元的并行活動,使其對信息的處理能力與效果驚人。(2)高度的非線性全局作用

神經網絡系統是由大量簡單神經元構成的,每個神經元接受大量其他神經元的輸入,通過非線性輸入、輸出關系,產生輸出影響其它神經元。網絡就是這樣互相制約相互影響,實現從輸入狀態空間到輸出狀態空間非線性映射的。網絡的演化遵從全局性作用原則,從輸入狀態演化到終態而輸出。從全局觀點來看,網絡整體性能不是網絡局部性能的簡單迭加,而表現某種集體性行為;而電腦遵從串行式局域性操作原則,每一步計算與上一步計算緊密相關,并對下一步產生影響,問題是通過算法逐步進行處理的。(3)良好的容錯性與聯想記憶功能

人工神經網絡通過自身的網絡結構能夠實現對信息的記憶,而所記憶的信息是存儲在神經元之間的權值中。從單個權值中看不出所儲存的信息內容,因而是分布式的存儲方式。這使得網絡具有良好的容錯性,并能進行聚類分析、特征提取、缺損模式復原等模式信息處理工作。

(4)十分強的自適應、自學習功能人工神經網絡可以通過訓練和學習來獲得網絡的權值與結構,呈現出很強的自學習能力和對環境的自適應能力。③缺點

(1)網絡的隱含節點個數選取問題至今仍是一個 世界難題;

(2)停止閾值、學習率、動量常數需要采用”trial-and-error”法,極其耗時(動手實驗);(3)學習速度慢;

(4)容易陷入局部極值,學習不夠充分。④改進

(1)改進BP算法(見bp)(2)權值初始化

在初始化權值的時候,我們一般需要它們在0附近,要足夠小(在激活函數的近似線性區域可以獲得最大的梯度)。另一個特性,尤其對深度網絡而言,是可以減小層與層之間的激活函數的方差和反向傳導梯度的方差。這就可以讓信息更好的向下和向上的傳導,減少層間差異。(3)學習率

隨著時間的推移減小學習速率有時候也是一個好主意。一個簡單的方法是使用這個公式:u/(1+d*t),u是初始速率(可以使用上面講的網格搜索選擇),d是減小常量,用以控制學習速率,可以設為0.001或者更小,t是迭代次數或者時間。可以基于分類錯誤率自適應的選擇學習率。(4)隱藏節點數 這個參數是非常基于數據集的。模糊的來說就是,輸入分布越復雜,去模擬它的網絡就需要更大的容量,那么隱藏單元的數目就要更大。(5)正則化參數

典型的方法是使用L1/L2正則化。

L2正則化就是在代價函數后面再加上一個正則化項:

C0代表原始的代價函數,后面那一項就是L2正則化項,它是這樣來的:所有參數w的平方的和,除以訓練集的樣本大小n。λ就是正則項系數,權衡正則項與C0項的比重。另外還有一個系數1/2,1/2經常會看到,主要是為了后面求導的結果方便,后面那一項求導會產生一個2,與1/2相乘剛好湊整。

過擬合,就是擬合函數需要顧忌每一個點,最終形成的擬合函數波動很大。在某些很小的區間里,函數值的變化很劇烈。這就意味著函數在某些小區間里的導數值(絕對值)非常大,由于自變量值可大可小,所以只有系數足夠大,才能保證導數值很大。而正則化是通過約束參數的范數使其不要太大,所以可以在一定程度上減少過擬合情況。

L1正則化項就是在原始的代價函數后面加上一個正則化項,即所有權重w的絕對值的和,乘以λ/n(這里不像L2正則化項那樣):

比原始的更新規則多出了η * λ * sgn(w)/n這一項。當w為正時,更新后的w變小。當w為負時,更新后的w變大——因此它的效果就是讓w往0靠,使網絡中的權重盡可能為0,也就相當于減小了網絡復雜度,防止過擬合。

(2)BP Algorithm ①算法思想

BP算法是一種有監督式的學習算法,其主要思想是:輸入學習樣本,使用反向傳播算法對網絡的權值和偏差進行反復的調整訓練,使輸出的向量與期望向量盡可能地接近,當網絡輸出層的誤差平方和小于指定的誤差時訓練完成,保存網絡的權值和偏差。②優點:

(1)網絡實質上實現了一個從輸入到輸出的映射功能,而數學理論已證明它具有實現任何復雜非線性映射的功能。這使得它特別適合于求解內部機制復雜的問題;

(2)網絡能通過學習帶正確答案的實例集自動提取“合理的”求解規則,即具有自學習能力;(3)網絡具有一定的推廣、概括能力。③缺點

主要包括以下幾個方面的問題。

(1)由于學習速率是固定的,因此網絡的收斂速度慢,需要較長的訓練時間。對于一些復雜問題,BP算法需要的訓練時間可能非常長,這主要是由于學習速率太小造成的。

(2)BP算法可以使權值收斂到某個值,但并不保證其為誤差平面的全局最小值,這是因為采用梯度下降法可能產生一個局部最小值

(3)網絡隱含層的層數和單元數的選擇尚無理論上的指導,一般是根據經驗或者通過反復實驗確定。因此,網絡往往存在很大的冗余性,在一定程度上也增加了網絡學習的負擔。

(4)網絡的學習和記憶具有不穩定性。也就是說,如果增加了學習樣本,訓練好的網絡就需要從頭開始訓練,對于以前的權值和閾值是沒有記憶的。但是可以將預測、分類或聚類做的比較好的權值保存。

(5)網絡的預測能力(也稱泛化能力、推廣能力)與訓練能力(也稱逼近能力、學習能力)的矛盾。一般情況下,訓練能力差時,預測能力也差,并且一定程度上,隨訓練能力地提高,預測能力也提高。但這種趨勢有一個極限,當達到此極限時,隨訓練能力的提高,預測能力反而下降,即出現所謂“過擬合”現象。此時,網絡學習了過多的樣本細節,而不能反映樣本內含的規律。(6)網絡訓練失敗的可能性較大,其原因有:

a 從數學角度看,BP算法為一種局部搜索的優化方法,但它要解決的問題為求解復雜非線性函數的全局極值,因此,算法很有可能陷入局部極值,使訓練失敗;

b 網絡的逼近、推廣能力同學習樣本的典型性密切相關,而從問題中選取典型樣本實例組成訓練集是一個很困難的問題。④改進.變步長法

BP算法的有效性和收斂性在很大程度上取決于學習步長η的值。采用一般的固定長梯度下降法求解時,起碼可能導致兩個主要問題:局部極小解;收斂速度慢。所以,一般要求是,當訓練到誤差曲面的平坦區時,梯度較小,為加快收斂應使η增大;當訓練到深而窄的誤差曲面時,應使η減小,以免因步長過大而出現振蕩現象。為加快收斂,應使η合理化,可采用變步長算法。變步長算法的基本思想是,先設一個初始步長η,若一次迭代后誤差增大,則將步長乘以β(<1),沿原方向重新計算該迭代點;若一次迭代后誤差減小,則將步長乘以α(>1),計算下一個迭代點,以縮短學習時間。2.加動量項法

為了加速BP算法的收斂,可考慮在權值調整算式中加入動量項,即

式中,α為動量因子,一般取0.1~0.8。這時權值修正量加上了有關上一時刻權值修改方向的記憶,加速了網絡的收斂。加動量項法的具體原理:若相鄰兩次迭代點處的梯度方向是一致的,引入動量項可使權值的調整量增大,從而加速收斂;若相鄰兩次迭代點處的梯度方向相反,引入動量項可使權值的調整量減小,避免了來回振蕩,加快了收斂。3.串連法

BP算法的收斂速度主要取決于輸入-輸出模式間非線性映射的復雜程度。顯然,這種非線性映射關系越復雜,收斂時間越長。因此,對那些高度復雜的非線性問題,用兩個串連的BP網絡代替一個BP網絡,能夠有效地縮短訓練時間。4.利用遺傳算法優化BP算法

BP算法的優點是尋優具有精確性,但它易陷入局部極小、收斂速度慢,而遺傳算法(GeneticAlgorithm,GA)是基于自然選擇和遺傳規律的全局優化搜索算法,具有很強的宏觀搜索能力和尋優全局性。因此,在BP神經網絡理論中引入遺傳算法的思想,則可以很好地達到全局尋優和快速高效的目的。

Lecture 3 Rudiments of Support Vector Machine(1)Support Vector Machine(支持向量機)(此算法是重點,必考題)

①算法思想

SVM的主要思想是針對兩類分類問題,尋找一個超平面作為兩類訓練樣本點的分割,以保證最小的分類錯誤率。在線性可分的情況下,存在一個或多個超平面使得訓練樣本完全分開,SVM的目標是找到其中的最優超平面,最優超平面是使得每一類數據與超平面距離最近的向量與超平面之間的距離最大的這樣的平面,對于線性不可分的情況,通過使用核函數(一種非線性映射算法)將低維輸入空間線性不可分的樣本轉化為高維特征空間使其線性可分。②優點

(1)小樣本,并不是說樣本的絕對數量少(實際上,對任何算法來說,更多的樣本幾乎總是能帶來更好的效果),而是說與問題的復雜度比起來,SVM算法要求的樣本數是相對比較少的。

(2)非線性,是指SVM擅長應付樣本數據線性不可分的情況,主要通過松弛變量(也有人叫懲罰變量)和核函數技術來實現,(3)高維模式識別是指樣本維數很高,例如文本的向量表示,如果沒有經過降維處理,出現幾萬維的情況很正常,其他算法基本就沒有能力應付了,SVM卻可以,主要是因為SVM 產生的分類器很簡潔,用到的樣本信息很少(僅僅用到那些稱之為“支持向量”的樣本,此為后話),使得即使樣本維數很高,也不會給存儲和計算帶來大麻煩(相對照而言,kNN算法在分類時就要用到所有樣本,樣本數巨大,每個樣本維數再一高,這日子就沒法過了??)。③缺點

(1)SVM算法對大規模訓練樣本難以實施 由于SVM是借助二次規劃來求解支持向量,而求解二次規劃將涉及m階矩陣的計算(m為樣本的個數),當m數目很大時該矩陣的存儲和計算將耗費大量的機器內存和運算時間。(2)用SVM解決多分類問題存在困難 ④改進:

經典的支持向量機算法只給出了二類分類的算法,而在數據挖掘的實際應用中,一般要解決多類的分類問題。可以通過多個二類支持向量機的組合來解決。主要有

一對多組合模式、一對一組合模式和SVM決策樹; 再就是通過構造多個分類器的組合來解決。

主要原理是克服SVM固有的缺點,結合其他算法的優勢,解決多類問題的分類精度。如:

與粗集理論結合,形成一種優勢互補的多類問題的組合分類器。此處有一道必考題

Lecture 4 Introduction to Decision Rule Mining(1)ID3 Algorithm ①算法思想:

補充:

ID3算法(Iterative Dichotomiser 3 迭代二叉樹3代)是一個由Ross Quinlan發明的用于決策樹的算法。這個算法便是:

從信息論知識中我們知道,期望信息越小,信息增益越大,從而純度越高。ID3算法的核心思想就是以信息增益度量屬性選擇,選擇分裂后信息增益最大的屬性進行分裂。該算法采用自頂向下的貪婪搜索遍歷可能的決策樹空間。

所以,ID3的思想便是:

自頂向下的貪婪搜索遍歷可能的決策樹空間構造決策樹(此方法是ID3算法和C4.5算法的基礎); 從“哪一個屬性將在樹的根節點被測試”開始;

使用統計測試來確定每一個實例屬性單獨分類訓練樣例的能力,分類能力最好的屬性作為樹的根結點測試(如何定義或者評判一個屬性是分類能力最好的呢?這便是下文將要介紹的信息增益,or 信息增益率)。

然后為根結點屬性的每個可能值產生一個分支,并把訓練樣例排列到適當的分支(也就是說,樣例的該屬性值對應的分支)之下。重復這個過程,用每個分支結點關聯的訓練樣例來選取在該點被測試的最佳屬性。

②優點:

(1)分類精度高;

(2)實現比較簡單,產生的規則如果用圖表示出來的話,清晰易懂;

優點補充:

(4)ID3算法的假設空間包含了所有的決策樹,不存在無解風險

(5)ID3算法非常適合處理離散樣本數據,利用屬性結果提取分類規則,且容易理解(6)引進了信息論的中的熵,使得算法得到結點最少的決策樹 ③缺點:

(1)ID3算法往往偏向于選擇取值較多的屬性,而在很多情況下取值較多的屬性并不總是最重要的屬性,即按照使熵值最小的原則被ID3算法列為應該首先判斷的屬性在現實情況中卻并不一定非常重要。例如:在銀行客戶分析中,姓名屬性取值多,卻不能從中得到任何信息。(簡略寫:由于使用信息增益,會在屬性選擇時偏向選擇取值多的屬性)

(2)ID3算法對于噪聲數據敏感,ID3算法不能處理具有連續值的屬性,也不能處理具有缺失數據的屬性。

(3)用互信息作為選擇屬性的標準存在一個假設,即訓練子集中的正、反例的比例應與實際問題領域中正、反例的比例一致。一般情況很難保證這兩者的比例一致,這樣計算訓練集的互信息就會存在偏差。

(4)在建造決策樹時,每個結點僅含一個屬性,是一種單變元的算法,致使生成的決策樹結點之間的相關性不夠強。雖然在一棵樹上連在一起,但聯系還是松散的。

(5)ID3算法雖然理論清晰,但計算比較復雜,在學習和訓練數據集的過程中機器內存占用率比較大,耗費資源。(計算復雜,有很多對數計算)

(6)ID3不夠健壯,當有一個項數據有改變時,整棵樹的結構可能改變很大。

改進:用R-C4.5的思想,在進行測試屬性選擇時,合并分類貢獻小的分支,避免出現過細的分枝,提高樹的健壯性。補充:

(7)當訓練集增加或減少的時候,決策樹都會隨之改變,對漸進學習不方便。

④改進:(1)對決策樹進行剪枝。可以采用交叉驗證法和加入正則化的方法。

(2)使用基于決策樹的combination算法,如bagging算法,randomforest算法,可以解決過擬合的問題(3)引入用戶興趣度

給定a(0≤a≤1)為用戶對不確定知識的興趣度,a的大小由決策者根據先驗知識或領域知識來確定。它是一個模糊的概念,通常指關于某一事務的先驗知識,包括領域知識和專家建議,具體到決策樹學習中則是指在決策樹訓練過程中除了用于生成和修改決策樹的實例集之外的所有影響決策樹規則生成和選擇的因素。

(2)C4.5 Algorithm 補充:

既然說C4.5算法是ID3的改進算法,那么C4.5相比于ID3改進的地方有哪些呢?

用信息增益率來選擇屬性。ID3選擇屬性用的是子樹的信息增益,這里可以用很多方法來定義信息,ID3使用的是熵(entropy,熵是一種不純度度量準則),也就是熵的變化值,而C4.5用的是信息增益率。對,區別就在于一個是信息增益,一個是信息增益率。(因此,C4.5克服了ID3用信息增益選擇屬性時偏向選擇取值多的屬性的不足。)在樹構造過程中進行剪枝,在構造決策樹的時候,那些掛著幾個元素的節點,不考慮最好,不然容易導致overfitting。對非離散數據也能處理。能夠對不完整數據進行處理 ①算法思想:

②優點:

(1)產生的分類規則易于理解,準確率較高。(2)對非離散數據也能處理。

C4.5既可以處理離散型描述屬性,也可以處理連續性描述屬性。在選擇某節點上的分枝屬性時,對于離散型描述屬性,C4.5的處理方法與ID3相同,按照該屬性本身的取值個數進行計算;對于某個連續性描述屬性Ac,假設在某個結點上的數據集的樣本數量為total,C4.5將作以下處理。

1)將該結點上的所有數據樣本按照連續型描述屬性的具體數值,由小到大進行排序,得到屬性值的取值序列{A1c,A2c,??Atotalc}。

2)在取值序列中生成total-1個分割點。第i(0

3)從total-1個分割點中選擇最佳分割點。對于每一個分割點劃分數據集的方式,C4.5計算它的信息增益比,并且從中選擇信息增益比最大的分割點來劃分數據集。(3)能夠對不完整數據進行處理。

在某些情況下,可供使用的數據可能缺少某些屬性的值。假如〈x,c(x)〉是樣本集S中的一個訓練實例,但是其屬 性A的值A(x)未知。處理缺少屬性值的一種策略是賦給它結點n所對應的訓練實例中該屬性的最常見值;另外一種更復雜的策略是為A的每個可能值賦予一個概率。例如,給定一個布爾屬性A,如果結點n包含6個已知A=1和4個A=0的實例,那么A(x)=1的概率是0.6,而A(x)=0的概率是0.4。于是,實例x的60%被分配到A=1的分支,40%被分配到另一個分支。這些片斷樣例(fractional examples)的目的是計算信息增益,另外,如果有第二個缺少值的屬性必須被測試,這些樣例可以在后繼的樹分支中被進一步細分。C4.5就是使用這種方法處理缺少的屬性值。(4)克服了用信息增益來選擇屬性時偏向選擇值多的屬性的不足。(5)采用了一種后剪枝方法

避免樹的高度無節制的增長,避免過度擬合數據,該方法使用訓練樣本集本身來估計剪枝前后的誤差,從而決定是否真正剪枝。方法中使用的公式如下:

其中N是實例的數量,f=E/N為觀察到的誤差率(其中E為N個實例中分類錯誤的個數),q為真實的誤差率,c為置信度(C4.5算法的一個輸入參數,默認值為0.25),z為對應于置信度c的標準差,其值可根據c的設定值通過查正態分布表得到。通過該公式即可計算出真實誤差率q的一個置信度上限,用此上限為該節點誤差率e做一個悲觀的估計:

通過判斷剪枝前后e的大小,從而決定是否需要剪枝。

樹剪枝

在決策樹的創建時,由于數據中的噪聲和離群點,許多分枝反映的是訓練數據中的異常。剪枝方法是用來處理這種過分擬合數據的問題。通常剪枝方法都是使用統計度量,剪去最不可靠的分枝。

剪枝一般分兩種方法:先剪枝和后剪枝。

先剪枝方法中通過提前停止樹的構造(比如決定在某個節點不再分裂或劃分訓練元組的子集)而對樹剪枝。一旦停止,這個節點就變成樹葉,該樹葉可能取它持有的子集最頻繁的類作為自己的類。先剪枝有很多方法,比如(1)當決策樹達到一定的高度就停止決策樹的生長;(2)到達此節點的實例具有相同的特征向量,而不必一定屬于同一類,也可以停止生長(3)到達此節點的實例個數小于某個閾值的時候也可以停止樹的生長,不足之處是不能處理那些數據量比較小的特殊情況(4)計算每次擴展對系統性能的增益,如果小于某個閾值就可以讓它停止生長。先剪枝有個缺點就是視野效果問題,也就是說在相同的標準下,也許當前擴展不能滿足要求,但更進一步擴展又能滿足要求。這樣會過早停止決策樹的生長。

另一種更常用的方法是后剪枝,它由完全成長的樹剪去子樹而形成。通過刪除節點的分枝并用樹葉來替換它。樹葉一般用子樹中最頻繁的類別來標記。

C4.5采用悲觀剪枝法,它使用訓練集生成決策樹又用它來進行剪枝,不需要獨立的剪枝集。

悲觀剪枝法的基本思路是:設訓練集生成的決策樹是T,用T來分類訓練集中的N的元組,設K為到達某個葉子節點的元組個數,其中分類錯誤地個數為J。由于樹T是由訓練集生成的,是適合訓練集的,因此J/K不能可信地估計錯誤率。所以用(J+0.5)/K來表示。設S為T的子樹,其葉節點個數為L(s),個數總和,為到達此子樹的葉節點的元組 為此子樹中被錯誤分類的元組個數之和。在分類新的元組時,則其錯誤分類個數為,其標準錯誤表示為:。當用此樹分類訓練集時,設E為分類錯誤個數,當下面的式子成立時,則刪掉子樹S,用葉節點代替,且S的子樹不必再計算。

③缺點:

(1)構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致算法的低效。

(2)C4.5只適合于能夠駐留于內存的數據集,當訓練集大得無法在內存容納時程序無法運行。(3)在構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致算法的低效。④改進:

(1)SLIQ算法

SLIQ算法對C4.5決策樹分類算法的實現方法進行了改進,在決策樹的構造過程中采用了“預排序”和“廣度優先策略”兩種技術。

1)預排序。對于連續屬性在每個內部結點尋找其最優分裂標準時,都需要對訓練集按照該屬性的取值進行排序,而排序是很浪費時間的操作。為此,SLIQ算法 采用了預排序技術。所謂預排序,就是針對每個屬性的取值,把所有的記錄按照從小到大的順序進行排序,以消除在決策樹的每個結點對數據集進行的排序。具體實 現時,需要為訓練數據集的每個屬性創建一個屬性列表,為類別屬性創建一個類別列表。

2)廣度優先策略。在C4.5算法中,樹的構造是按照深度優先策略完成的,需要對每個屬性列表在每個結點處都進行一遍掃描,費時很多,為此,SLIQ采用 廣度優先策略構造決策樹,即在決策樹的每一層只需對每個屬性列表掃描一次,就可以為當前決策樹中每個葉子結點找到最優分裂標準。

SLIQ算法由于采用了上述兩種技術,使得該算法能夠處理比C4.5大得多的訓練集,在一定范圍內具有良好的隨記錄個數和屬性個數增長的可伸縮性。

然而它仍然存在如下缺點:

1)由于需要將類別列表存放于內存,而類別列表的元組數與訓練集的元組數是相同的,這就一定程度上限制了可以處理的數據集的大小。

2)由于采用了預排序技術,而排序算法的復雜度本身并不是與記錄個數成線性關系,因此,使得SLIQ算法不可能達到隨記錄數目增長的線性可伸縮性。(2)SPRINT算法

為了減少駐留于內存的數據量,SPRINT算法進一步改進了決策樹算法的數據結構,去掉了在SLIQ中需要駐留于內存的類別列表,將它的類別列合并到每個 屬性列表中。這樣,在遍歷每個屬性列表尋找當前結點的最優分裂標準時,不必參照其他信息,將對結點的分裂表現在對屬性列表的分裂,即將每個屬性列表分成兩 個,分別存放屬于各個結點的記錄。

SPRINT算法的優點是在尋找每個結點的最優分裂標準時變得更簡單。其缺點是對非分裂屬性的屬性列表進行分裂變得很困難。解決的辦法是對分裂屬性進行分 裂時用哈希表記錄下每個記錄屬于哪個孩子結點,若內存能夠容納下整個哈希表,其他屬性列表的分裂只需參照該哈希表即可。由于哈希表的大小與訓練集的大小成 正比,當訓練集很大時,哈希表可能無法在內存容納,此時分裂只能分批執行,這使得SPRINT算法的可伸縮性仍然不是很好。

(3)隨機森林(Random Forest)(對C4.5,ID3改進,提高準確率)

隨機森林是一個最近比較火的算法,它有很多的優點: 在數據集上表現良好

在當前的很多數據集上,相對其他算法有著很大的優勢

它能夠處理很高維度(feature很多)的數據,并且不用做特征選擇 在訓練完后,它能夠給出哪些feature比較重要

在創建隨機森林的時候,對generlization error使用的是無偏估計 訓練速度快

在訓練過程中,能夠檢測到feature間的互相影響 容易做成并行化方法 實現比較簡單

隨機森林顧名思義,是用隨機的方式建立一個森林,森林里面有很多的決策樹組成,隨機森林的每一棵決策樹之間是沒有關聯的。在得到森林之后,當有一個新的輸入樣本進入的時候,就讓森林中的每一棵決策樹分別進行一下判斷,看看這個樣本應該屬于哪一類(對于分類算法),然后看看哪一類被選擇最多,就預測這個樣本為那一類。在建立每一棵決策樹的過程中,有兩點需要注意 – 采樣與完全分裂。首先是兩個隨機采樣的過程,random forest對輸入的數據要進行行、列的采樣。對于行采樣,采用有放回的方式,也就是在采樣得到的樣本集合中,可能有重復的樣本。假設輸入樣本為N個,那么采樣的樣本也為N個。這樣使得在訓練的時候,每一棵樹的輸入樣本都不是全部的樣本,使得相對不容易出現over-fitting。然后進行列采樣,從M個feature中,選擇m個(m << M)。之后就 是對采樣之后的數據使用完全分裂的方式建立出決策樹,這樣決策樹的某一個葉子節點要么是無法繼續分裂的,要么里面的所有樣本的都是指向的同一個分類。一般很多的決策樹算法都一個重要的步驟 – 剪枝,但是這里不這樣干,由于之前的兩個隨機采樣的過程保證了隨機性,所以就算不剪枝,也不會出現over-fitting。

按這種算法得到的隨機森林中的每一棵都是很弱的,但是大家組合起來就很厲害了。我覺得可以這樣比喻隨機森林算法:每一棵決策樹就是一個精通于某一個窄領域的專家(因為我們從M個feature中選擇m讓每一棵決策樹進行學習),這樣在隨機森林中就有了很多個精通不同領域的專家,對一個新的問題(新的輸入數據),可以用不同的角度去看待它,最終由各個專家,投票得到結果。隨機森林的過程請參考Mahout的random forest。這個頁面上寫的比較清楚了,其中可能不明白的就是Information Gain,可以看看之前推薦過的Moore的頁面。

Lecture 5 Classifier Assessment and Ensemble Methods

1、bagging bagging是一種用來提高學習算法準確度的方法,這種方法通過構造一個預測函數系列,然后以一定的方式將它們組合成一個預測函數。? 基本思想

1.給定一個弱學習算法,和一個訓練集;2.單個弱學習算法準確率不高;3.將該學習算法使用多次,得出預測函數序列,進行投票;4.最后結果準確率將得到提高.Bagging要求“不穩定”(不穩定是指數據集的小的變動能夠使得分類結果的顯著的變動)的分類方法。比如:決策樹,神經網絡算法

2、Booting Boosting方法是一種用來提高弱分類算法準確度的方法,這種方法通過構造一個預測函數系列,然后以一定的方式將他們組合成一個預測函數。Boosting是一種提高任意給定學習算法準確度的方法。他是一種框架算法,主要是通過對樣本集的操作獲得樣本子集,然后用弱分類算法在樣本子集上訓練生成一系列的基分類器。可以用來提高其他弱分類算法的識別率。

? Bagging與Boosting的區別

二者的主要區別是取樣方式不同。Bagging采用均勻取樣,而Boosting根據錯誤率來取樣,因此Boosting的分類精度要優于Bagging。Bagging的訓練集的選擇是隨機的,各輪訓練集之間相互獨立,而Boostlng的各輪訓練集的選擇與前面各輪的學習結果有關;Bagging的各個預測函數沒有權重,而Boosting是有權重的;Bagging的各個預測函數可以并行生成,而Boosting的各個預測函數只能順序生成。對于象神經網絡這樣極為耗時的學習方法。Bagging可通過并行訓練節省大量時間開銷。

bagging和boosting都可以有效地提高分類的準確性。在大多數數據集中,boosting的準確性比bagging高。在有些數據集中,boosting會引起退化---Overfit。

Boosting思想的一種改進型AdaBoost方法在郵件過濾、文本分類方面都有很好的性能。

3、Adaboost(Adaptive Boosting)? 算法簡介

Adaboost是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。其算法本身是通過改變數據分布來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的準確率,來確定每個樣本的權值。將修改過權值的新數據集送給下層分類器進行訓練,最后將每次訓練得到的分類器最后融合起來,作為最后的決策分類器。使用adaboost分類器可以排除一些不必要的訓練數據特征,并放在關鍵的訓練數據上面。? 算法分析

該算法其實是一個簡單的弱分類算法提升過程,這個過程通過不斷的訓練,可以提高對數據的分類能力。整個過程如下所示:

1.先通過對N個訓練樣本的學習得到第一個弱分類器; 2.將分錯的樣本和其他的新數據一起構成一個新的N個的訓練樣本,通過對這個樣本的學習得到第二個弱分類器 ; 3.將1和2都分錯了的樣本加上其他的新樣本構成另一個新的N個的訓練樣本,通過對這個樣本的學習得到第三個弱分類器;

4.最終經過提升的強分類器。即某個數據被分為哪一類要由各分類器權值決定。

? 算法優點: 高精度;簡單,無需做特征篩選;可以使用各種方法構建子分類器,Adaboost算法提供的是框架;當使用簡單分類器時,計算出的結果是可以理解的,而且弱分類器構造極其簡單;不會過度擬合。

對于boosting算法,存在兩個問題:

1.如何調整訓練集,使得在訓練集上訓練的弱分類器得以進行; 2.如何將訓練得到的各個弱分類器聯合起來形成強分類器。針對以上兩個問題,Adaboost算法進行了調整:

1.使用加權后選取的訓練數據代替隨機選取的訓練樣本,這樣將訓練的焦點集中在比較難分的訓練數據樣本上; 2.將弱分類器聯合起來,使用加權的投票機制代替平均投票機制。讓分類效果好的弱分類器具有較大的權重,而分類效果差的分類器具有較小的權重。

與Boosting算法不同的是,Adaboost算法不需要預先知道弱學習算法學習正確率的下限即弱分類器的誤差,并且最后得到的強分類器的分類精度依賴于所有弱分類器的分類精度,這樣可以深入挖掘弱分類器算法的能力。

? 算法缺點: 訓練時間過長,執行效果依賴于弱分類器的選擇。對噪聲數據和離群值敏感。? 改進:限制樣本權重的調整在各目標類內部進行

1、權值更新方法的改進

Allende等人提出了RADA算法,該算法是對原算法中誤分類樣本權值抑制的方法。算法最突出的貢獻有三點:第一點是對的抑制,第二點,用當前層分類器來判斷樣本是否分類正

確,而非原算法中的當前弱分類器,第三點,增加 age變量記錄誤分類情況,并作了閾值限制,這里有效緩解了過擬合的問題。RADA 比傳統 AdaBoost 算法更加穩定,有效解決了誤分類樣本權值偏高的問題。

2、訓練方法的改進

Merler等人提出了AdaBoost的并行計算方法P-AdaBoost算法。其主要思想是,將AdaBoost訓練過程分為兩個階段,第一階段和原算法一樣,經過多輪訓練,獲得一個較為可靠的樣本分布ωi(s),第二階段采用并行方法提高訓練效率,訓練中不再對樣本權值進行更新,而統一采用ωi(s),最后輸出為。

采用這種方法能大大減少訓練成本,與原算法相比,多了S 輪的樣本分布初始化工作,并且避免了差樣本因多次分類而造成權值過大的問題。

3、多算法結合的改進

Yunlong提出了EAdaBoost算法,是AdaBoost結合k近鄰算法的產物。AdaBoost算法具有高度擬合的特點,噪聲會對訓練產生很大的影響,Yunlong等人在AdaBoost算法的基礎之上加入了kNN算法,對噪聲樣本進行了有效處理,提高了算法的精確度。EAdaBoost算法的主要過程如下:

(a)準備訓練樣本,對樣本權值進行初始化。(b)計算訓練誤差,并挑選最優的弱分類器。(c)更新樣本權值。

(d)用 KNN 算法排除噪聲樣本,將權值設為 0。

該算法中有兩個非常關鍵的問題,什么樣的樣本稱為噪聲樣本和每次要處理多少個噪聲樣本的問題,原文中稱之為 suspect sample,算法中取的是那種難于學習、讓分類器出錯過多的樣本。

4、綜合方法的改進

Rong Xiao等人提出了Boosting Chain算法,用鏈表的方式來組織分類器,算法先用boosting特征快速排除 大量非人臉窗口,再用boosting chain和SVM分類器進行再判別,實驗效果相比FloatBoost還要略好。

Adaboosting

Lecture 6 Introduction to Association Rule Mining(1)Apriori Algorithms ①算法思想:Apriori算法是一種最有影響的挖掘布爾關聯規則頻繁項集的算法Apriori使用一種稱作逐層搜索的迭代方法,“K-1項集”用于搜索“K項集”。首先,找出頻繁“1項集”的集合,該集合記作L1。L1用于找頻繁“2項集”的集合L2,而L2用于找L3。如此下去,直到不能找到“K項集”。找每個Lk都需要一次數據庫掃描。

一、挖掘步驟:

1.依據支持度找出所有頻繁項集(頻度)2.依據置信度產生關聯規則(強度)二、一些定義: 對于A->B ①支持度:P(A∩B),既有A又有B的概率

②置信度:P(B|A),在A發生的事件中同時發生B的概率p(AB)/P(A)③如果事件A中包含k個元素,那么稱這個事件A為k項集事件A滿足最小支持度閾值的事件稱為頻繁k項集。④同時滿足最小支持度閾值和最小置信度閾值的規則稱為強規則。⑤候選集:通過向下合并得出的項集。

⑥頻繁集:支持度大于等于特定的最小支持度(Minimum Support/minsup)的項集。注意,頻繁集的子集一定是頻繁集。核心思想:連接步和剪枝步。連接步是自連接,原則是保證前k-2項相同,并按照字典順序連接。剪枝步,是使任一頻繁項集的所有非空子集也必須是頻繁的。反之,如果某個候選的非空子集不是頻繁的,那么該候選肯定不是頻繁的,從而可以將其從CK中刪除。簡單的講,1、發現頻繁項集,過程為(1)掃描(2)計數(3)比較(4)產生頻繁項集(5)連接、剪枝,產生候選項集,重復步驟(1)~(5)直到不能發現更大的頻集

2、產生關聯規則,過程為:根據前面提到的置信度的定義,關聯規則的產生如下:(1)對于每個頻繁項集L,產生L的所有非空子集;(2)對于L的每個非空子集S,如果 P(L)/P(S)≧minsup 則輸出規則“SàL-S”

注:L-S表示在項集L中除去S子集的項集

②優點: Apriori(先驗的,推測的)算法應用廣泛,可用于消費市場價格分析,猜測顧客的消費習慣;網絡安全領域中的入侵檢測技術;可用在用于高校管理中,根據挖掘規則可以有效地輔助學校管理部門有針對性的開展貧困助學工作;也可用在移動通信領域中,指導運營商的業務運營和輔助業務提供商的決策制定。

③缺點:此算法的的應用非常廣泛,但是他在運算的過程中會產生大量的侯選集,而且在匹配的時候要進行整個數據庫的掃描(重復掃描),因為要做支持度計數的統計操作,在小規模的數據上操作還不會有大問題,如果是大型的數據庫上呢,他的效率還是有待提高的。④改進:

方法

一、Apriori優化:Fp-tree 算法

關鍵點:以樹形的形式來展示、表達數據的形態;可以理解為水在不同河流分支的流動過程; 生成Fp-tree的幾個點: 1.掃描原始項目集; 2.排列數據;

3.創建ROOT節點;

4.按照排列的數據進行元素的流動; 5.節點+1;

方法

二、Apriori優化:垂直數據分布

關鍵點:相當于把原始數據進行行轉列的操作,并且記錄每個元素的個數 Lecture 6有5種改進方法:

1.基于哈希的項集數:小于閾值的哈希桶數的k項集不是頻繁的

2.縮減事務:在子頻繁集中掃描時,不包含任何k項頻繁集的事務是無用的 3.劃分DB:DB中的任何頻繁項集在部分DB中也一定是頻繁的 4.采樣:用一個小的支持閾值和方法挖掘給定數據的子集

5.動態規劃項集數:只有當他們的所有子集預計為頻繁時才添加一個新的候選項(1)基于hash的方法。基于哈希的算法仍是將所有所有數據放入內存的方法。只要在計算的過程中能夠滿足算法對內存的大量需求,針對C2候選項對過大,一些算法提出用來減少C2的大小。這里我們首先考慮PCY算法,這個算法使用了在Apriori算法的第一步里大量沒使用的內存。接著,我們考慮Multistage(多步哈希)算法,這個算法使用PCY的技巧,但插入了額外的步驟來更多的減少C2的大小。類似的還有Multihash。

(2)基于劃分的方法。Savasere等設計了一個基于劃分(partition)的算法.這個算法先把數據庫從邏輯上分成幾個互不相交的塊,每次單獨考慮一個分塊并對它生成所有的頻集,然后把產生的頻集合并,用來生成所有可能的頻集,最后計算這些項集的支持度。這里分塊的大小選擇要使得每個分塊可以被放入主存,每個階段只需被掃描一次。而算法的正確性是由每一個可能的頻集至少在某一個分塊中是頻集保證的。

(3)基于采樣的方法。基于前一遍掃描得到的信息,對此仔細地作組合分析,可以得到一個改進的算法,Mannila等先考慮了這一點,他們認為采樣是發現規則的一個有效途徑。

(2)FP-tree Algorithms ①算法思想:

參考http://blog.csdn.net/sealyao/article/details/6460578 FP-tree 在不生成候選項的情況下,完成Apriori算法的功能。通過合并一些重復路徑,實現了數據的壓縮,從而使得將頻繁項集加載到內存中成為可能。之后以樹遍歷的操作,替代了 Apriori 算法中最耗費時間的事務記錄遍歷,從而大大提高了運算效率。算法步驟如下:

1.掃描一遍數據庫,刪除頻率小于最小支持度的項,并降序排列。并將每個事務中的項都要按照這個順序進行排列。處理后的數據庫記錄為:

2.構建 FP-Tree,把每個事務中的數據項按降序依次插入到一棵以NULL為根結點的樹中,同時在每個結點處記錄該結點出現的支持度。如果插入時頻繁項節點已經存在了,則把該頻繁項節點支持度加1;如果該節點不存在,則創建支持度為1的節點,并把該節點鏈接到項頭表中。

3.求出每個節點的條件模式基

4.為每個節點建立FP-Tree

5.遞歸 調用FP-growth(Tree,null)開始進行挖掘。偽代碼如下: procedure FP_growth(Tree, a)if Tree 含單個路徑P then{

for 路徑P中結點的每個組合(記作b)

產生模式b U a,其支持度support = b 中結點的最小支持度; } else {

for each a i 在Tree的頭部(按照支持度由低到高順序進行掃描){ 產生一個模式b = a i U a,其支持度support = a i-support;

構造b的條件模式基,然后構造b的條件FP-樹Treeb; if Treeb 不為空 then 調用 FP_growth(Treeb, b); } }

FP-growth的執行過程:

1)在FP-growth遞歸調用的第一層,模式前后a=NULL,得到的其實就是頻繁1-項集。2)對每一個頻繁1-項,進行遞歸調用FP-growth()獲得多元頻繁項集。②優點:

(ppt翻譯)

1.算法結構擁有完整性:

1)沒有破壞事務的長模式;

2)能保留頻繁模式挖掘的完整信息。2.算法結構擁有緊湊性:

1)不相關的項被刪除;

2)事務項按照頻率降序排列,因為更頻繁的項更可能被找到;

3)如果不計算鏈接和節點數目,存儲空間小于原始數據庫。

3.FP算法的效率比Apriori算法快一個數量級,效率快的原因有以下4個:

1)沒有候選集,沒有候選測試

2)有緊湊的數據結構

3)消除重復的數據庫遍歷

4)基礎操作是計數和FP-Tree的建立 ③缺點:

(參考http://www.tmdps.cn/wiki/Covariance_matrix

我們認為bi代表B的第i行,那么由協方差矩陣

推知

<>表示向量的內積,也就是每一項的積之和。⑤ 計算協方差矩陣C的特征值和特征向量

若XA=aA,其中A為一列向量,a為一實數。那么a就被稱為矩陣X的特征值,而A則是特征值a對應的特征向量。

順便扯一下,在matlab里面,求解上述A以及a,使用eig函數。如[D,V] = eig(C),那么D就是n個列特征向量,而V是對角矩陣,對角線上的元素就是特征值。⑥ 排序

將特征值按從大到小的順序排列,并根據特征值調整特征向量的排布。

D'=sort(D);V'=sort(V);

⑦ 計算總能量并選取其中的較大值

若V'為C的對角陣,那么總能量為對角線所有特征值之和S。

由于在步驟⑥里面已對V進行了重新排序,所以當v'前幾個特征值之和大于等于S的90%時,可以認為這幾個特征值可以用來“表征”當前矩陣。

假設這樣的特征值有L個。⑧ 計算基向量矩陣W

實際上,W是V矩陣的前L列,所以W的大小就是 MxL。⑨ 計算z-分數(這一步可選可不選)

Z[i,j]=B[i,j]/sqrt(D[i,i])⑩ 計算降維后的新樣本矩陣

W*表示W的轉置的共軛矩陣,大小為 LxM , 而Z的大小為 MxN , 所以Y的大小為 LxN , 即降維為 N 個 L 維向量。

②優點: 該算法可以消除數據間的冗余,以簡化數據,提高計算效率。③缺點:缺乏主成分的物理解釋,也就是缺乏有效的語義解釋。

PCA假設數據各主特征是分布在正交方向上,如果在非正交方向上存在幾個方差較大的方向,PCA的效果就大打折扣了。

PCA技術的一個很大的優點是,它是完全無參數限制的。在PCA的計算過程中完全不需要人為的設定參數或是根據任何經驗模型對計算進行干預,最后的結果只與數據相關,與用戶是獨立的。

但是,這一點同時也可以看作是缺點。如果用戶對觀測對象有一定的先驗知識,掌握了數據的一些特征,卻無法通過參數化等方法對處理過程進行干預,可能會得不到預期的效果,效率也不高

PCA也存在一些限制,例如它可以很好的解除線性相關,但是對于高階相關性就沒有辦法了,對于存在高階相關性的數據,可以考慮Kernel PCA,通過Kernel函數將非線性相關轉為線性相關

④改進:

第四篇:機器學習面試題目

1、有監督學習和無監督學習的區別

有監督學習:對具有標記的訓練樣本進行學習,以盡可能對訓練樣本集外的數據進行分類預測。(LR,SVM,BP,RF,GBDT)

無監督學習:對未標記的樣本進行訓練學習,比發現這些樣本中的結構知識。(KMeans,DL)

2、正則化

正則化是針對過擬合而提出的,以為在求解模型最優的是一般優化最小的經驗風險,現在在該經驗風險上加入模型復雜度這一項(正則化項是模型參數向量的范數),并使用一個rate比率來權衡模型復雜度與以往經驗風險的權重,如果模型復雜度越高,結構化的經驗風險會越大,現在的目標就變為了結構經驗風險的最優化,可以防止模型訓練過度復雜,有效的降低過擬合的風險。

奧卡姆剃刀原理,能夠很好的解釋已知數據并且十分簡單才是最好的模型。

過擬合

如果一味的去提高訓練數據的預測能力,所選模型的復雜度往往會很高,這種現象稱為過擬合。所表現的就是模型訓練時候的誤差很小,但在測試的時候誤差很大。產生的原因過擬合原因: 1.樣本數據的問題。樣本數量太少;

抽樣方法錯誤,抽出的樣本數據不能有效足夠代表業務邏輯或業務場景。比如樣本符合正態分布,卻按均分分布抽樣,或者樣本數據不能代表整體數據的分布; 樣本里的噪音數據干擾過大 2.模型問題

模型復雜度高、參數太多 決策樹模型沒有剪枝

權值學習迭代次數足夠多(Overtraining),擬合了訓練數據中的噪聲和訓練樣例中沒有代表性的特征.解決方法

1.樣本數據方面。

增加樣本數量,對樣本進行降維,添加驗證數據 抽樣方法要符合業務場景 清洗噪聲數據 2.模型或訓練問題

控制模型復雜度,優先選擇簡單的模型,或者用模型融合技術。

利用先驗知識,添加正則項。L1正則更加容易產生稀疏解、L2正則傾向于讓參數w趨向于0.4、交叉驗證 不要過度訓練,最優化求解時,收斂之前停止迭代。

決策樹模型沒有剪枝 權值衰減

5、泛化能力

泛化能力是指模型對未知數據的預測能力

6、生成模型和判別模型

1.生成模型:由數據學習聯合概率分布P(X,Y),然后求出條件概率分布P(Y|X)作為預測的模型,即生成模型:P(Y|X)= P(X,Y)/ P(X)。(樸素貝葉斯、Kmeans)

生成模型可以還原聯合概率分布p(X,Y),并且有較快的學習收斂速度,還可以用于隱變量的學習

2.判別模型:由數據直接學習決策函數Y=f(X)或者條件概率分布P(Y|X)作為預測的模型,即判別模型。(k近鄰、決策樹、SVM)

直接面對預測,往往準確率較高,直接對數據在各種程度上的抽象,所以可以簡化模型

7、線性分類器與非線性分類器的區別以及優劣

如果模型是參數的線性函數,并且存在線性分類面,那么就是線性分類器,否則不是。常見的線性分類器有:LR,貝葉斯分類,單層感知機、線性回歸 常見的非線性分類器:決策樹、RF、GBDT、多層感知機 SVM兩種都有(看線性核還是高斯核)線性分類器速度快、編程方便,但是可能擬合效果不會很好 非線性分類器編程復雜,但是效果擬合能力強

8、特征比數據量還大時,選擇什么樣的分類器?

線性分類器,因為維度高的時候,數據一般在維度空間里面會比較稀疏,很有可能線性可分 對于維度很高的特征,你是選擇線性還是非線性分類器? 理由同上

對于維度極低的特征,你是選擇線性還是非線性分類器?

非線性分類器,因為低維空間可能很多特征都跑到一起了,導致線性不可分

1.如果Feature的數量很大,跟樣本數量差不多,這時候選用LR或者是Linear Kernel的SVM 2.如果Feature的數量比較小,樣本數量一般,不算大也不算小,選用SVM+Gaussian Kernel 3.如果Feature的數量比較小,而樣本數量很多,需要手工添加一些feature變成第一種情況

9、ill-condition病態問題

訓練完的模型測試樣本稍作修改就會得到差別很大的結果,就是病態問題(這簡直是不能用啊)

10、L1和L2正則的區別,如何選擇L1和L2正則 http://blog.csdn.NET/xbmatrix/article/details/61624196 他們都是可以防止過擬合,降低模型復雜度

L1是在loss function后面加上 模型參數的1范數(也就是|xi|)

L2是在loss function后面加上 模型參數的2范數(也就是sigma(xi^2)),注意L2范數的定義是sqrt(sigma(xi^2)),在正則項上沒有添加sqrt根號是為了更加容易優化 L1 會產生稀疏的特征

L2 會產生更多地特征但是都會接近于0 L1會趨向于產生少量的特征,而其他的特征都是0,而L2會選擇更多的特征,這些特征都會接近于0。L1在特征選擇時候非常有用,而L2就只是一種規則化而已。L1求解

最小角回歸算法:LARS算法

11、越小的參數說明模型越簡單

過擬合的,擬合會經過曲面的每個點,也就是說在較小的區間里面可能會有較大的曲率,這里的導數就是很大,線性模型里面的權值就是導數,所以越小的參數說明模型越簡單。

12、為什么一些機器學習模型需要對數據進行歸一化? http://blog.csdn.net/xbmatrix/article/details/56695825 歸一化化就是要把你需要處理的數據經過處理后(通過某種算法)限制在你需要的一定范圍內。

1)歸一化后加快了梯度下降求最優解的速度。等高線變得顯得圓滑,在梯度下降進行求解時能較快的收斂。如果不做歸一化,梯度下降過程容易走之字,很難收斂甚至不能收斂 2)把有量綱表達式變為無量綱表達式, 有可能提高精度。一些分類器需要計算樣本之間的距離(如歐氏距離),例如KNN。如果一個特征值域范圍非常大,那么距離計算就主要取決于這個特征,從而與實際情況相悖(比如這時實際情況是值域范圍小的特征更重要)3)邏輯回歸等模型先驗假設數據服從正態分布。哪些機器學習算法不需要做歸一化處理?

概率模型不需要歸一化,因為它們不關心變量的值,而是關心變量的分布和變量之間的條件概率,如決策樹、rf。而像adaboost、gbdt、xgboost、svm、lr、KNN、KMeans之類的最優化問題就需要歸一化。特征向量的歸一化方法

線性函數轉換,表達式如下:y=(x-MinValue)/(MaxValue-MinValue)對數函數轉換,表達式如下:y=log10(x)反余切函數轉換,表達式如下:y=arctan(x)*2/PI 減去均值,乘以方差:y=(x-means)/ variance 標準化與歸一化的區別

簡單來說,標準化是依照特征矩陣的列處理數據,其通過求z-score的方法,將樣本的特征值轉換到同一量綱下。歸一化是依照特征矩陣的行處理數據,其目的在于樣本向量在點乘運算或其他核函數計算相似性時,擁有統一的標準,也就是說都轉化為“單位向量”。規則為l2的歸一化公式如下:

13、特征向量的缺失值處理

1.缺失值較多.直接將該特征舍棄掉,否則可能反倒會帶入較大的noise,對結果造成不良影響。

2.缺失值較少,其余的特征缺失值都在10%以內,我們可以采取很多的方式來處理: 1)把NaN直接作為一個特征,假設用0表示; 2)用均值填充;

3)用隨機森林等算法預測填充

隨機森林如何處理缺失值(http://charleshm.github.io/2016/03/Random-Forest-Tricks/)方法一(na.roughfix)簡單粗暴,對于訓練集,同一個class下的數據,如果是分類變量缺失,用眾數補上,如果是連續型變量缺失,用中位數補。

方法二(rfImpute)這個方法計算量大,至于比方法一好壞?不好判斷。先用na.roughfix補上缺失值,然后構建森林并計算proximity matrix,再回頭看缺失值,如果是分類變量,則用沒有缺失的觀測實例的proximity中的權重進行投票。如果是連續型變量,則用proximity矩陣進行加權平均的方法補缺失值。然后迭代4-6次,這個補缺失值的思想和KNN有些類似12。

隨機森林如何評估特征重要性(http://charleshm.github.io/2016/03/Random-Forest-Tricks/)衡量變量重要性的方法有兩種,Decrease GINI 和 Decrease Accuracy:

1)Decrease GINI: 對于回歸問題,直接使用argmax(Var?VarLeft?VarRight)作為評判標準,即當前節點訓練集的方差Var減去左節點的方差VarLeft和右節點的方差VarRight。

2)Decrease Accuracy:對于一棵樹Tb(x),我們用OOB樣本可以得到測試誤差1;然后隨機改變OOB樣本的第j列:保持其他列不變,對第j列進行隨機的上下置換,得到誤差2。至此,我們可以用誤差1-誤差2來刻畫變量j的重要性。基本思想就是,如果一個變量j足夠重要,那么改變它會極大的增加測試誤差;反之,如果改變它測試誤差沒有增大,則說明該變量不是那么的重要。

14、優化Kmeans 使用kd樹或者ball tree(這個樹不懂)將所有的觀測實例構建成一顆kd樹,之前每個聚類中心都是需要和每個觀測點做依次距離計算,現在這些聚類中心根據kd樹只需要計算附近的一個局部區域即可 KMeans初始類簇中心點的選取

k-means++算法選擇初始seeds的基本思想就是:初始的聚類中心之間的相互距離要盡可能的遠。

1.從輸入的數據點集合中隨機選擇一個點作為第一個聚類中心

2.對于數據集中的每一個點x,計算它與最近聚類中心(指已選擇的聚類中心)的距離D(x)3.選擇一個新的數據點作為新的聚類中心,選擇的原則是:D(x)較大的點,被選取作為聚類中心的概率較大 4.重復2和3直到k個聚類中心被選出來

5.利用這k個初始的聚類中心來運行標準的k-means算法

15、解釋對偶的概念

一個優化問題可以從兩個角度進行考察,一個是primal 問題,一個是dual 問題,就是對偶問題,一般情況下對偶問題給出主問題最優值的下界,在強對偶性成立的情況下由對偶問題可以得到主問題的最優下界,對偶問題是凸優化問題,可以進行較好的求解,SVM中就是將primal問題轉換為dual問題進行求解,從而進一步引入核函數的思想。

16、如何進行特征選擇?

特征選擇是一個重要的數據預處理過程,主要有兩個原因:一是減少特征數量、降維,使模型泛化能力更強,減少過擬合;二是增強對特征和特征值之間的理解 常見的特征選擇方式: 1.去除方差較小的特征

2.正則化。1正則化能夠生成稀疏的模型。L2正則化的表現更加穩定,由于有用的特征往往對應系數非零。

3.隨機森林,對于分類問題,通常采用基尼不純度或者信息增益,對于回歸問題,通常采用的是方差或者最小二乘擬合。一般不需要feature engineering、調參等繁瑣的步驟。它的兩個主要問題,1是重要的特征有可能得分很低(關聯特征問題),2是這種方法對特征變量類別多的特征越有利(偏向問題)。

4.穩定性選擇。是一種基于二次抽樣和選擇算法相結合較新的方法,選擇算法可以是回歸、SVM或其他類似的方法。它的主要思想是在不同的數據子集和特征子集上運行特征選擇算法,不斷的重復,最終匯總特征選擇結果,比如可以統計某個特征被認為是重要特征的頻率(被選為重要特征的次數除以它所在的子集被測試的次數)。理想情況下,重要特征的得分會接近100%。稍微弱一點的特征得分會是非0的數,而最無用的特征得分將會接近于0。

17、數據預處理

1.缺失值,填充缺失值fillna: i.離散:None, ii.連續:均值。

iii.缺失值太多,則直接去除該列

2.連續值:離散化。有的模型(如決策樹)需要離散值

3.對定量特征二值化。核心在于設定一個閾值,大于閾值的賦值為1,小于等于閾值的賦值為0。如圖像操作

4.皮爾遜相關系數,去除高度相關的列 #correlation matrix corrmat = df_train.corr()f, ax = plt.subplots(figsize=(12, 9))sns.heatmap(corrmat, vmax=.8, square=True);1.去除噪聲點。通過matplotlib.scatter函數圖示某一特征與預測特征的點分布圖,明顯看出噪聲點,去除即可

#bivariate analysis saleprice/grlivareavar = 'GrLivArea' data = pd.concat([df_train['SalePrice'], df_train[var]], axis=1)data.plot.scatter(x=var, y='SalePrice', ylim=(0,800000));df_train.sort_values(by = 'GrLivArea', ascending = False)[:2] df_train = df_train.drop(df_train[df_train['Id'] == 1299].index)df_train = df_train.drop(df_train[df_train['Id'] == 524].index)1.標簽編碼,把字符類別特征編碼成數值類型,如紅綠藍編碼為0、1、2 2.歸一化。將數據按比例縮放,使這些數據落入到一個較小的特定的區間之內。最小最大縮放:

當使用基于距離的算法時,我們必須嘗試將數據縮放,這樣較不重要的特征不會因為自身較大的范圍而主導目標函數。如KNN。

在邏輯回歸中,每個特征都被分配了權重或系數(Wi)。如果某個特征有相對來說比較大的范圍,而且其在目標函數中無關緊要,那么邏輯回歸模型自己就會分配一個非常小的值給它的系數,從而中和該特定特征的影響優勢,而基于距離的方法,如KNN,沒有這樣的內置策略,因此需要縮放。Z-score標準化: 很多的機器學習技巧/模型(例如L1,L2正則項,向量空間模型-Vector Space Model,歐幾里得距離測量的KNN、k-均值、SVM、感知器、神經網絡、線性判別分析、主成分分析)都基于這樣的假設:所有的屬性取值都差不多是以0為均值且取值范圍相近的,標準化數據幫助我們提高預測模型的精度。

備注:在縮放和標準化中二選一是個令人困惑的選擇,你必須對數據和要使用的學習模型有更深入的理解,才能做出決定。對于初學者,你可以兩種方法都嘗試下并通過交叉驗證精度來做出選擇。

18、什么是偏差與方差?

泛化誤差可以分解成偏差的平方加上方差加上噪聲。偏差度量了學習算法的期望預測和真實結果的偏離程度,刻畫了學習算法本身的擬合能力,方差度量了同樣大小的訓練集的變動所導致的學習性能的變化,刻畫了數據擾動所造成的影響,噪聲表達了當前任務上任何學習算法所能達到的期望泛化誤差下界,刻畫了問題本身的難度。偏差和方差一般稱為bias和variance,一般訓練程度越強,偏差越小,方差越大,泛化誤差一般在中間有一個最小值,如果偏差較大,方差較小,此時一般稱為欠擬合,而偏差較小,方差較大稱為過擬合。偏差: 方差:

解決bias和Variance問題的方法: 交叉驗證

High bias解決方案:Boosting、復雜模型(非線性模型、增加神經網絡中的層)、更多特征 High Variance解決方案:agging、簡化模型、降維

19、采用 EM 算法求解的模型有哪些,為什么不用牛頓法或梯度下降法?

用EM算法求解的模型一般有GMM或者協同過濾,k-means其實也屬于EM。EM算法一定會收斂,但是可能收斂到局部最優。由于求和的項數將隨著隱變量的數目指數上升,會給梯度計算帶來麻煩。

20、SVM、LR、決策樹的對比?

模型復雜度:SVM支持核函數,可處理線性非線性問題;LR模型簡單,訓練速度快,適合處理線性問題;決策樹容易過擬合,需要進行剪枝

損失函數:SVM hinge loss;LR L2正則化;adaboost 指數損失

數據敏感度:SVM添加容忍度對outlier不敏感,只關心支持向量,且需要先做歸一化;LR對遠點敏感

數據量:數據量大就用LR,數據量小且特征少就用SVM非線性核

21、GBDT 和隨機森林的區別?

隨機森林采用的是bagging的思想,bagging又稱為bootstrap aggreagation,通過在訓練樣本集中進行有放回的采樣得到多個采樣集,基于每個采樣集訓練出一個基學習器,再將基學習器結合。隨機森林在對決策樹進行bagging的基礎上,在決策樹的訓練過程中引入了隨機屬性選擇。傳統決策樹在選擇劃分屬性的時候是在當前節點屬性集合中選擇最優屬性,而隨機森林則是對結點先隨機選擇包含k個屬性的子集,再選擇最有屬性,k作為一個參數控制了隨機性的引入程度。

另外,GBDT訓練是基于Boosting思想,每一迭代中根據錯誤更新樣本權重,因此是串行生成的序列化方法,而隨機森林是bagging的思想,因此是并行化方法。

22、xgboost怎么給特征評分?

在訓練的過程中,通過Gini指數選擇分離點的特征,一個特征被選中的次數越多,那么該特征評分越高。

[python] view plain copy print? 1.# feature importance

2.print(model.feature_importances_)

3.# plot

4.pyplot.bar(range(len(model.feature_importances_)), model.feature_importances_)

5.pyplot.show()

6.==========

7.# plot feature importance

8.plot_importance(model)

9.pyplot.show()

# feature importance print(model.feature_importances_)# plot pyplot.bar(range(len(model.feature_importances_)), model.feature_importances_)pyplot.show()========== # plot feature importance plot_importance(model)pyplot.show()

23、什么是OOB?隨機森林中OOB是如何計算的,它有什么優缺點?

bagging方法中Bootstrap每次約有1/3的樣本不會出現在Bootstrap所采集的樣本集合中,當然也就沒有參加決策樹的建立,把這1/3的數據稱為袋外數據oob(out of bag),它可以用于取代測試集誤差估計方法。

袋外數據(oob)誤差的計算方法如下:

對于已經生成的隨機森林,用袋外數據測試其性能,假設袋外數據總數為O,用這O個袋外數據作為輸入,帶進之前已經生成的隨機森林分類器,分類器會給出O個數據相應的分類,因為這O條數據的類型是已知的,則用正確的分類與隨機森林分類器的結果進行比較,統計隨機森林分類器分類錯誤的數目,設為X,則袋外數據誤差大小=X/O;這已經經過證明是無偏估計的,所以在隨機森林算法中不需要再進行交叉驗證或者單獨的測試集來獲取測試集誤差的無偏估計。

24、解釋置信區間

置信區間不能用貝葉斯學派的概率來描述,它屬于頻率學派的范疇。真值要么在,要么不在。由于在頻率學派當中,真值是一個常數,而非隨機變量(后者是貝葉斯學派),所以我們不對真值做概率描述。比如,95%置信區間,并不是真值在這個區間內的概率是95%,而應該為100次隨機抽樣中構造的100個區間如果95次包含了參數真值,那么置信度為95%。

25、監督學習一般使用兩種類型的目標變量:標稱型和數值型

標稱型:標稱型目標變量的結果只在有限目標集中取值,如真與假(標稱型目標變量主要用于分類)數值型:數值型目標變量則可以從無限的數值集合中取值,如0.100,42.001等(數值型目標變量主要用于回歸分析)

26、為什么說樸素貝葉斯是高偏差低方差?

它簡單的假設了各個特征之間是無關的,是一個被嚴重簡化了的模型。所以,對于這樣一個簡單模型,大部分場合都會bias部分大于variance部分,也就是高偏差,低方差

1.什么是機器學習

機器學習是為了應對系統程序設計,屬于計算機科學類的學科,它能根據經驗進行自動學習和提高。例如:一個由程序操縱的機器人,它能根據從傳感器搜集到的數據,完成一系列的任務和工作。它能根據數據自動地學習應用程序。

2.機器學習與數據挖掘的區別

機器語言是指在沒有明確的程序指令的情況下,給予計算機學習能力,使它能自主的學習、設計和擴展相關算法。數據挖掘則是一種從非結構化數據里面提取知識或者未知的、人們感興趣的圖片。在這個過程中應用了機器學習算法。

3.什么是機器學習的過度擬合現象

在機器學習中,當一個統計模型首先描述隨機誤差或噪聲,而不是自身的基本關系時,過度擬合就會出現。當一個模型是過于復雜,過擬合通常容易被發現,因為相對于訓練數據類型的數量,參數的數量過于五花八門。那么這個模型由于過度擬合而效果不佳。

4.過度擬合產生的原因

由于用于訓練模型的標準并不等同于判斷模型效率的標準,這導致了產生過度擬合的可能性。

5.如何避免過度擬合

當你使用較小的數據集進行機器學習時,容易產生過度擬合,因此使用較大的數據量能避免過度擬合現象。但是,當你不得不使用小型數據集進行建模時,可以使用被稱為交叉驗證的技術。在這種方法中數據集被分成兩節,測試和訓練數據集,測試數據集只測試模型,而在訓練數據集中,數據點被用來建模。

在該技術中,一個模型通常是被給定有先驗知識的數據集(訓練數據集)進行訓練,沒有先驗知識的數據集進行測試。交叉驗證的思想是:在訓練階段,定義一個數據集用來測試模型。

6.什么是感應式的機器學習?

感應機器學習涉及由實踐進行學習的過程,能從一組可觀測到的例子的嘗試推導出普遍性規則。

7.什么是機器學習的五個流行的算法?

1.決策樹2.神經網絡(反向傳播)3.概率網絡4.最鄰近法5.支持向量機

8.機器學習有哪些不同的算法技術? 在機器學習不同類型的算法技術是:

1.監督學習2.非監督學習3.半監督學習4.轉導推理(Transduction)5.學習推理(Learning to Learn)。

9.在機器學習中,建立假設或者模型的三個階段指的是什么? 1.建模2.模型測試3.模型應用。

10.什么是監督學習的標準方法?

監督學習的標準方法是將一組示例數據的分成訓練數據集和測試數據集。

11.什么是訓練數據集和測試數據集?

在類似于機器學習的各個信息科學相關領域中,一組數據被用來發現潛在的預測關系,稱為“訓練數據集”。訓練數據集是提供給學習者的案例,而試驗數據集是用于測試由學習者提出的假設關系的準確度。

12.下面列出機器學習的各種方法? 機器學習的各種方法如下“

1.概念與分類學習(Concept Vs Classification Learning)。2.符號與統計學習(Symbolic Vs Statistical Learning)。3.歸納與分析學習(Inductive Vs Analytical Learning)。

13.非機器學習有哪些類型? 人工智能、規則推理。

14.什么是非監督學習的功能?

1.求數據的集群2.求出數據的低維表達3.查找數據有趣的方向4.有趣的坐標和相關性5.發現顯著的觀測值和數據集清理

15.什么是監督學習的功能?

1.分類、2.語音識別3.回歸4.時間序列預測5.注釋字符串

16.什么是算法獨立的機器學習?

機器學習在基礎數學領域獨立于任何特定分類器或者學習算法,被稱為算法獨立的機器學習。

17.人工智能與機器學習的區別?

基于經驗數據的特性而設計和開發的算法被稱為機器學習。而人工智能不但包括機器學習,還包括諸如知識表示,自然語言處理,規劃,機器人技術等其它方法。

18.在機器學習中分類器指的是什么?

在機器學習中,分類器是指輸入離散或連續特征值的向量,并輸出單個離散值或者類型的系統。

19.樸素貝葉斯方法的優勢是什么?

樸素貝葉斯分類器將會比判別模型,譬如邏輯回歸收斂得更快,因此你只需要更少的訓練數據。其主要缺點是它學習不了特征間的交互關系。

20.在哪些領域使用模式識別技術? 模式識別被應用在:

1.計算機視覺2.語言識別3.統計4.數據挖掘5.非正式檢索6.生物信息學。

21.什么是遺傳編程?

遺傳編程的機器學習中兩種常用的方法之一。該模型是基于測試,并在一系列的結果當中,獲取最佳選擇。

22.在機器學習中歸納邏輯程序設計是指什么?

歸納邏輯程序設計(ILP)是利用邏輯程序設計表達的背景知識和實例,它是機器學習的一個分支。

23.在機器學習中,模型的選擇是指?

在不同的數學模型中,選擇用于描述相同的數據集的模型的過程被稱為模型選擇。模型選擇吧被應用于統計,機器學習和數據挖掘的等相關領域。

24.用于監督學習校準兩種方法是什么?

在監督學習中,用于預測良好概率的兩種方法是: 1.普拉特校準,2.保序回歸。

這些方法被設計為二元分類,而且有意義的。

25.什么方法通常用于防止過擬合?

當有足夠的數據進行等滲回歸時,這通常被用來防止過擬合問題。

26.規則學習的啟發式方法和決策樹的啟發式方法之間的區別是什么?

決策樹的啟發式方法評價的是一系列不相交的集合的平均質量;然而規則學習的啟發式方法僅僅評價在候選規則覆蓋下的實例集。

27.什么是感知機器學習?

在機器學習,感知器是一種輸入到幾個可能的非二進制輸出的監督分類算法。

28.貝葉斯邏輯程序的兩個組成部分是什么?

貝葉斯邏輯程序由兩部分組成。第一成分由一組貝葉斯條款組成,能捕捉特定域的定性結構。第二組分是定量的,它能對域的量化信息進行編碼。

29.什么是貝葉斯網絡?

貝葉斯網絡是用來表示一組變量之間為概率關系的圖像模型。

30.為什么基于實例的學習算法有時也被稱為懶惰學習算法?

基于實例的學習算法也被稱為懶惰學習算法,因為它們延緩誘導或泛化過程,直到分類完成。

31.支持向量機能處理哪兩種分類方法? 1.結合二分類法2.修改二進制納入多類學習法。

32.什么是集成學習?

為了解決特定的計算程序,如分類器或專家知識等多種模式,進行戰略性生產和組合。這個過程被稱為集成學習。

33.為什么集成學習被應用?

集成學習能提高模型的分類,預測,函數逼近等方面的精度。

34.什么使用集成學習?

當你構建一個更準確,相互獨立的分類器時,使用集成學習。

35.什么是集成方法的兩種范式? 集成方法的兩種范式是:

1.連續集成方法2.并行集成方法。

36.什么是集成方法的一般原則,在集成方法中套袋(bagging)和爆發(boosting)指的是什么?

集成方法的一般原則是要結合定的學習算法多種預測模型,相對于單一模型,其有更強的健壯性。套袋是一種能提高易變的預測或分類方案集成方法。爆發方法被依次用來減少組合模型的偏差。爆發和裝袋都可以通過降低方差減少誤差。

37.什么是集成方法分類錯誤的偏置方差分解?

學習算法的期望誤差可以分解為偏差和方差。偏置項衡量由學習方法產生的平均分類器與目標函數是否匹配。

38.在集成方法中什么是增量合成方法?

增量學習方法是一種從新數據進行學習,并能應用于后續由現有的數據集生成的分類器的算法。

39.PCA,KPCA和ICE如何使用?

PCA(主成分分析),KPCA(基于內核主成分分析)和ICA(獨立成分分析)是用于降維的重要特征提取技術。

40.在機器學習中降維是什么意思?

在機器學習和統計應用中,降維是指在計算時減少隨機變量數目的處理過程,并且可以分為特征選擇和特征提取。

41.什么是支持向量機?

支持向量機是一種監督學習算法,適用于分類和回歸分析。

42.關系評價技術的組成部分是什么? 關系評價技術的重要組成部分如下:

1.數據采集2.地面實況采集3.交叉驗證技術4.查詢類型5.評分標準6.顯著性檢驗。

43.連續監督學習有什么不同方法? 連續監督學習問題的不同解決辦法如下:

1.滑動窗口方法2.復發性推拉窗3.隱藏馬爾科夫模型4.最大熵馬爾科夫模型5.條件隨機域6.圖變換網絡。

44.在機器人技術和信息處理技術的哪些方面會相繼出現預測問題? 在機器人技術和信息處理技術中,相繼出現預測問題的是: 1.模仿學習2.結構預測3.基于模型的強化學習。

45.什么是批量統計學習?

統計學習技術允許根據一組觀察到的數據進行學習功能和預測,這可以對無法觀察和未知的數據進行預測。這些技術提供的學習預測器對未來未知數據的預測提供性能保證。

46什么是PAC學習?

可能近似正確模型(PAC)學習是一個已經被引入到分析學習算法和統計效率的學習框架。

47有哪些不同的類別可以分為序列學習過程? 序列預測2.序列生成3.序列識別4.順序決定.48什么是序列學習?

序列學習是一種以合乎邏輯的方式進行教學和學習的方法。

49.機器學習的兩種技術是什么? 機器學習的兩種技術是: 1.遺傳編程2.歸納學習

50.你在日常工作中看到的機器學習的一個流行應用是什么? 各大電商網站上已部署好的推薦引擎使用的是機器學習。

問1:你會在時間序列數據集上使用什么交叉驗證技術?是用k倍或LOOCV?

答:都不是。對于時間序列問題,k倍可能會很麻煩,因為第4年或第5年的一些模式有可能跟第3年的不同,而對數據集的重復采樣會將分離這些趨勢,而我們最終可能只是需要對過去幾年的進行驗證,這就不能用這種方法了。相反,我們可以采用如下所示的5倍正向鏈接策略:

fold 1 : training [1], test [2]

fold 2 : training [1 2], test [3]

fold 3 : training [1 2 3], test [4]

fold 4 : training [1 2 3 4], test [5]

fold 5 : training [1 2 3 4 5], test [6]

1,2,3,4,5,6代表的是年份。

問2:你是怎么理解偏差方差的平衡的?

答:從數學的角度來看,任何模型出現的誤差可以分為三個部分。以下是這三個部分:

偏差誤差在量化平均水平之上,預測值跟實際值相差多遠時有用。高偏差誤差意味著我們的模型表現不太好,因為沒有抓到重要的趨勢。而另一方面,方差量化了在同一個觀察上進行的預測是如何彼此不同的。高方差模型會過度擬合你的訓練集,而在訓練集以外的數據上表現很差。

問3:給你一個有1000列和1百萬行的訓練數據集,這個數據集是基于分類問題的。經理要求你來降低該數據集的維度以減少模型計算時間,但你的機器內存有限。你會怎么做?(你可以自由做各種實際操作假設。)

答:你的面試官應該非常了解很難在有限的內存上處理高維的數據。以下是你可以使用的處理方法:

1.由于我們的RAM很小,首先要關閉機器上正在運行的其他程序,包括網頁瀏覽器等,以確保大部分內存可以使用。

2.我們可以隨機采樣數據集。這意味著,我們可以創建一個較小的數據集,比如有1000個變量和30萬行,然后做計算。

3.為了降低維度,我們可以把數值變量和分類變量分開,同時刪掉相關聯的變量。對于數值變量,我們將使用相關性分析;對于分類變量,我們可以用卡方檢驗。

4.另外,我們還可以使用PCA(主成分分析),并挑選可以解釋在數據集中有最大偏差的成分。

5.利用在線學習算法,如VowpalWabbit(在Python中可用)是一個不錯的選擇。

6.利用Stochastic GradientDescent(隨機梯度下降法)建立線性模型也很有幫助。

7.我們也可以用我們對業務的理解來估計各預測變量對響應變量的影響的大小。但是,這是一個主觀的方法,如果沒有找出有用的預測變量可能會導致信息的顯著丟失。

問4:全球平均溫度的上升導致世界各地的海盜數量減少。這是否意味著海盜的數量減少引起氣候變化?

答:不能夠這樣說。這是一個“因果關系和相關性”的經典案例。全球平均溫度和海盜數量之間有可能有相關性,但基于這些信息,我們不能說因為全球平均氣溫的上升而導致了海盜的消失。我們不能斷定海盜的數量減少是引起氣候變化的原因,因為可能有其他因素(潛伏或混雜因素)影響了這一現象。

問5:給你一個數據集,這個數據集有缺失值,且這些缺失值分布在離中值有1個標準偏差的范圍內。百分之多少的數據不會受到影響?為什么?

答:約有32%的數據將不受缺失值的影響。因為,由于數據分布在中位數附近,讓我們先假設這是一個正態分布。我們知道,在一個正態分布中,約有68%的數據位于跟平均數(或眾數、中位數)1個標準差范圍內,那么剩下的約32%的數據是不受影響的。因此,約有32%的數據將不受缺失值的影響。

問6:你意識到你的模型受到低偏差和高方差問題的困擾。那么,應該使用哪種算法來解決問題呢?為什么?

答:可以使用bagging算法(如隨機森林)。因為,低偏差意味著模型的預測值接近實際值,換句話說,該模型有足夠的靈活性,以模仿訓練數據的分布。這樣貌似很好,但是別忘了,一個靈活的模型沒有泛化能力,意味著當這個模型用在對一個未曾見過的數據集進行測試的時候,它會令人很失望。在這種情況下,我們可以使用bagging算法(如隨機森林),以解決高方差問題。bagging算法把數據集分成重復隨機取樣形成的子集。然后,這些樣本利用單個學習算法生成一組模型。接著,利用投票(分類)或平均(回歸)把模型預測結合在一起。另外,為了應對大方差,我們可以:

1.使用正則化技術,懲罰更高的模型系數,從而降低了模型的復雜性。

2.使用可變重要性圖表中的前n個特征。可以用于當一個算法在數據集中的所有變量里很難尋找到有意義信號的時候。

問7:協方差和相關性有什么區別?

答:相關性是協方差的標準化格式。協方差本身很難做比較。例如:如果我們計算工資($)和年齡(歲)的協方差,因為這兩個變量有不同的度量,所以我們會得到不能做比較的不同的協方差。為了解決這個問題,我們計算相關性來得到一個介于-1和1之間的值,就可以忽略它們各自不同的度量。

問8:真陽性率和召回有什么關系?寫出方程式。

答:真陽性率=召回。它們有相同的公式(TP / TP + FN)。

問9:Gradient boosting算法(GBM)和隨機森林都是基于樹的算法,它們有什么區別?

答:最根本的區別是,隨機森林算法使用bagging技術做出預測;而GBM是采用boosting技術做預測的。在bagging技術中,數據集用隨機采樣的方法被劃分成n個樣本。然后,使用單一的學習算法,在所有樣本上建模。接著利用投票或者求平均來組合所得到的預測。bagging是平行進行的,而boosting是在第一輪的預測之后,算法將分類出錯的預測加高權重,使得它們可以在后續一輪中得到校正。這種給予分類出錯的預測高權重的順序過程持續進行,一直到達到停止標準為止。隨機森林通過減少方差(主要方式)提高模型的精度。生成樹之間是不相關的,以把方差的減少最大化。在另一方面,GBM提高了精度,同時減少了模型的偏差和方差。

問10:你認為把分類變量當成連續型變量會更得到一個更好的預測模型嗎?

答:為了得到更好的預測,只有在分類變量在本質上是有序的情況下才可以被當做連續型變量來處理。

問11:“買了這個的客戶,也買了......”亞馬遜的建議是哪種算法的結果?

答:這種推薦引擎的基本想法來自于協同過濾。協同過濾算法考慮用于推薦項目的“用戶行為”。它們利用的是其他用戶的購買行為和針對商品的交易歷史記錄、評分、選擇和購買信息。針對商品的其他用戶的行為和偏好用來推薦項目(商品)給新用戶。在這種情況下,項目(商品)的特征是未知的。

問12:在k-means或kNN,我們是用歐氏距離來計算最近的鄰居之間的距離。為什么不用曼哈頓距離?

答:我們不用曼哈頓距離,因為它只計算水平或垂直距離,有維度的限制。另一方面,歐氏距離可用于任何空間的距離計算問題。因為,數據點可以存在于任何空間,歐氏距離是更可行的選擇。例如:想象一下國際象棋棋盤,象或車所做的移動是由曼哈頓距離計算的,因為它們是在各自的水平和垂直方向做的運動。

問13:我知道校正R2或者F值是用來評估線性回歸模型的。那用什么來評估邏輯回歸模型?

答:我們可以使用下面的方法:

1.由于邏輯回歸是用來預測概率的,我們可以用AUC-ROC曲線以及混淆矩陣來確定其性能。

2.此外,在邏輯回歸中類似于校正R2的指標是AIC。AIC是對模型系數數量懲罰模型的擬合度量。因此,我們更偏愛有最小AIC的模型。

3.空偏差指的是只有截距項的模型預測的響應。數值越低,模型越好。殘余偏差表示由添加自變量的模型預測的響應。數值越低,模型越好。

問14:為什么樸素貝葉斯如此“樸素”?

答:因為它假定所有的特征在數據集中的作用是同樣重要和獨立的。正如我們所知,這個假設在現實世界中是很不真實的,因此,說樸素貝葉斯真的很“樸素”。

問15:花了幾個小時后,現在你急于建一個高精度的模型。結果,你建了5 個GBM(Gradient Boosted Models),想著boosting算法會展現“魔力”。不幸的是,沒有一個模型比基準模型表現得更好。最后,你決定將這些模型結合到一起。盡管眾所周知,結合模型通常精度高,但你就很不幸運。你到底錯在哪里?

答:據我們所知,組合的學習模型是基于合并弱的學習模型來創造一個強大的學習模型的想法。但是,只有當各模型之間沒有相關性的時候組合起來后才比較強大。由于我們已經試了5個GBM也沒有提高精度,表明這些模型是相關的。具有相關性的模型的問題是,所有的模型提供相同的信息。例如:如果模型1把User1122歸類為1,模型2和模型3很有可能會做同樣的分類,即使它的實際值應該是0,因此,只有弱相關的模型結合起來才會表現更好。

第五篇:總結備用

“知榮明恥,我們先行”系列活動之 “美好生活,健康先行”義診活動總結

[日期:2006/5/12] 來源: 作者:第一臨床醫學院研究生團總支、研究會

4月27日下午第一臨床醫學院研究生團總支、研究生會聯合暨南大學社區衛生服務中心在邵逸夫體育館前成功舉行了主題為“美好生活,健康先行”的義診活動。

這次義診活動得到了華僑醫院和暨南大學社區衛生服務中心多個科室的大力支持,心血管科,兒科,傳染科,老齡病科,眼科,外科等多個科室都參與了本次義診活動。各科專家都對每個前來咨詢就診者進行了耐心詳細地回答及診治,并且按照相應病癥發送了免費藥品,受到了大家的好評。活動中最引人注意的是血壓血糖測試與血型檢驗,參加測試者也呈現出不同的年齡分布,其中血壓血糖測試者多是年齡較大的長者,進行測試的醫師與研究生分別就高血壓、糖尿病的預防以及診治耐心解答了測試者的疑問;而廣大同學則對血型的檢驗產生出濃厚的興趣,希望快速準確地知道自己的血型。義診活動的同時,在校醫室二樓的健康教育宣教室,還進行了兩場題為“中風的早期識別與預防”與“老年性白內障的預防與治療”的專題講座。

本次服務社區義診活動,使同學們又一次得到鍛煉,不僅再一次在實踐中深切體會到了“八榮八恥”的內涵,使我們的榮辱觀有了更新更深刻地認識,還為我院研究生暑期“送醫送藥三下鄉”實踐活動積累了寶貴經驗。本次活動,從前期策劃、宣傳,中期活動部署、現場組織,及后期宣傳、總結都落實到部門,責任到個人,使我們學生干部在活動中得到了鍛煉,提高了能力,加強了凝聚力。宣傳部擔負著本次系列活動的前期宣傳,及后期網絡宣傳,宣傳及時,力度及覆蓋面達到了預期效果,在本次活動中工作重,表現出色。學術部在每次活動后,能即時做出活動總結;綜合活動部、社會實踐部,在活動組織、籌辦中也起到了積極作用。

在各部門的積極配合協作下我們的工作得以圓滿完成,但是我們的工作中也存在著許多不足之處,需要我們進一步思考。首先,獎勵及懲罰機制不明確,個別學生干部推脫工作,造成工作延誤,影響大局。今后需要進一步明確獎罰制度,建立更好的約束和鼓勵機制,使工作踏實、負責的干部脫穎而出。

二、對工作部署和責任分配不夠明晰,溝通不夠,造成工作中出現死角。今后要加強學生干部之間的交流,有問題,有困難都要溝通,要交流,將不良情緒疏導,將困難化解,相信領導、老師和集體的力量,大家一起努力把問題解決。

三、還需進一步加大動員廣大研究生同學參加學生活動的力度。從實際出發,為廣大同學著想,開展真正服務于廣大研究生同學的活動,加大在廣大同學重的宣傳和號召力,吸引更多同學參加到我們的活動中來,讓他們在活動中收獲友誼、成就感和歡笑。

感謝第一臨床醫學院領導、老師的大力支持,我們的活動得以圓滿完成。在將來的工作中,我們將繼續發揚第一臨床醫學院研究生團總支、研究生會團結一致、踏踏實實、甘于奉獻的優良作風,改進我們的工作方法,提高我們的工作效率,更加務實,更加積極地為我院研究生服務。

第一臨床醫學院研究生團總支、研究生會

順義區民政局:

為了更好的貫徹落實黨的十七大精神,積極推動社會主義新農村建設,構建社會主義和諧社會,我院根據中央宣傳部、中央文明辦、衛生部等十四部委關于深入開展文化科技衛生“三下鄉”活動的通知精神,積極響應順義區文明辦、衛生局“深入開展衛生下鄉活動”的號召,分別于2010年4月、5月、6月、10月和11月,為牛欄山鎮、趙全營鎮、天竺鎮、后沙峪鎮、馬坡鎮、高麗營鎮、北石槽鎮、李橋鎮、仁和鎮九鎮村民進行免費義診的活動。此次活動是我院積極響應順義區文明辦、衛生局“開展送醫下鄉活動”號召所組織的一次為民舉措,受到了廣大農民朋友的熱烈歡迎,贏得了良好的社會口碑。現將這二次次衛生下鄉活動情況作總結報告:

一、義診隊組織構成和作用

在100天的“送醫下鄉”活動中我院始終堅持每天出動醫療車二輛,15人組成的義診醫療隊,義診隊醫師均系我醫院醫療骨干,從醫多年,他們之中有學科帶頭人及我院各科先進醫務人員。

在此次活動中部分義診專家不顧年邁體弱,不顧寒熱風雨,堅持下鄉(如外科專家陸世英主任,70多歲,副主任醫師),為解除農民疾苦做出了無私的奉獻,得到各級領導的支持和村民們的認可,是當前我區一支醫術精湛、服務熱情的義診隊伍,為社會所矚目、所稱贊。

這次開展的義診活動我們主要服務對象為順義城區周邊九個鄉鎮,據統計,其中咨詢檢查人數12827人、體檢人數10323人,此次活動費用均由我院出資,為病人節省各種醫療診療費900160元(見附表一)。衛生下鄉活動深受廣大村民的歡迎,不但解除了村民疾病隱患,減輕了他們的經濟負擔,同時也強化了村民衛生健康意識,使廣大村民積極主動參與疾病檢查。使他們認識到只有定期進行身體檢查,才能預防疾病,健康的體魄才能全身心的投入到生產建設中,更好的為社會主義建設服務,實現全面小康社會。

二、2010義診人數統計(見附表二)

三、各科診治情況

在12827個咨詢人數和10323個體檢人數中:內科12322例;外科12242例;婦科8376例;血糖檢測8280例;心電圖檢查10172例;肝、膽、脾、胰、腎等腹部b超檢查10036例。

四、統計病例

義診活動中,常見疾病比例:高血壓3562例;脂肪肝2976例;糖尿病1982例;婦科疾病2322例;肩周炎頸椎病1237例;腰椎肩盤突出腰肌勞損1263例;膽腎結石471例;心肌缺血心肌炎219例;子宮肌瘤136例等。

五、義診活動敲響健康檢查警鐘

在這次義診活動中,我們感覺到了人們的健康意識和以前相比有了很大的提高,很多村民都積極的參加了檢查。但也普遍存在很多問題引起了我們的注意:

1、健康意識差;

我們進行檢查,主要目的是為了通過檢查發現是否有潛在的疾病,以便及時采取預防和治療措施。健康體檢不是指在我們生病之后做的各種檢查,而是應該定期的去做全面的身體檢查。在4月30日趙全營馬家堡村義診中,81歲的村民李衛琴在進行婦科檢查時,醫生發現宮頸息肉建議她進行治(轉載自本網http://www.tmdps.cn,請保留此標記。)療,通過醫生詢問,老人之前沒有做過身體檢查,對自己的病情也一無所知,而且覺得自己已經這么大歲數了,有點小病也就每必要去醫院了,直到現在,老人依然沒有來醫院就診;在5月13日后沙峪回民營清嵐花園小區義診中,村民劉明芹在進行婦科檢查時,醫生發現她的腹部按下去非常硬,通過b超檢查后發現,里面己被疑似瘤狀的不明實體物填滿(大13.5cm,初診為子宮肌瘤),醫生建議到醫院做全面檢查進行確診。經過了解得知她只是感覺腹部脹滿,沒有食欲,所以一直沒有放在心上,如果不是這次義診活動可能還不會認識到病情的嚴重性。所以,當專家告知其病情后,她第二天就去醫院做了全面檢查被確診為特大子宮肌瘤并進行了手術。

2、亞健康人群較多;

針對本次體檢,我們發現農村有相當多的一部分人已處在臨床疾病邊緣,亞健康人群較多,但往往這部分人對此漠不關心,對于健康的人而言,必須依據年齡和性別的不同對身體實行定期檢查。例如每年至少就要進行一次身體全面檢查。

3、婦科檢查怕羞;

活動中,有些村的村民不太愿意做婦科檢查,還有些女性認為自

己都六十多歲了,沒有必要在做什么檢查了。其實這些認識都是存在誤區的,只有提高健康檢查意識,才能做到防患于未然。

4、自恃身體好不用再檢查;

很多人將健康體檢視為可有可無,還有的人自恃身體好對體檢不以為然,其實健康體檢是對身體健康狀況的一次核實,不僅要按時做,而且檢查出有問題后,要及時去醫院治療,不要等到病情嚴重后才追悔未及。

六、“送醫下鄉”義診活動真誠為民,在社會上贏得了廣泛贊譽

我院積極響應順義區文明辦、衛生局“深入開展衛生下鄉活動”的號召,組織了此次送醫下鄉義診活動。通過深入開展衛生下鄉活動,及時發現了廣大村民的潛在病情,并向村民普及健康知識,在一定程度上提高了村民對健康的重視。

這次義診活動是社會主義和諧新農村建設的生動體現,是貫徹落實黨的十七大精神的具體實踐,是積極響應順義區政府為民舉措的實際表現,充分發揮了醫療衛生單位聯系黨和人民群眾的紐帶作用,使廣大人民群眾真正感到了黨的關懷。

這次活動既收集了農民群眾健康信息基本的情況,又切實為農民群眾,特別是中老年群眾提供了優質的醫療保健服務,促進了農民群眾對疾病的重視。這次活動充分體現了順義區精神文明辦公室和衛生局對農民的關心,加深了相關部門與農民的關系,同時也為順義農村醫療衛生事業的進一步發展奠定了良好的基礎。當然活動中也有一些不足之處,也有一定局限性,如由于時間限制不能每個鎮(村)都去,有的鎮(村)會有看法;由于每天工作量的限制,去的村也不能把村上所有村民都檢查,有些村民會有不滿的情緒等,所以這就要求我們與各村委會、村民之間多溝通與交流,并爭取在09年繼續開展“送醫下鄉”活動,到其它鎮(村)進行義診為更多村民體檢。

總之,這次“送醫下鄉”義診活動受到了廣大農民群眾的歡迎和贊賞,得到了農民群眾的認可,為保障人民群眾健康、創建和諧社會、建設社會主義新農村,做出了應有的貢獻。

您可以訪問本網(www.tmdps.cn)查看更多與本文《2010醫院“送醫下鄉”義診活動總結》相關的文章。

臨床系義診活動總結

一、活動目的及意義 :

在臨床系老師的正確指導下,在學生會各個部門的關心下,在青協和實踐部的大力配合下,通過全體成員的共同努力工作,此次活動取得圓滿成功!

這次臨床系出隊義診意義重大。活動受到敬老院老人的好評,同時,在活動期間,宣傳了我校的中醫藥文化,以及對我校的學生提供了一個鍛煉的平臺,增強了學生的責任心,團體意識,以及增強了推拿手法以及醫學知識的進一步掌握,同時鍛煉出一班骨干人才。

對我們而言,義診活動使我們醫學生有了可以進一步掌握測血壓,聽心肺音法??的鍛煉,同時使我們提高了與人交流的表達能力。大學是一個小社會,步入大學就等于步入半個社會。我們不再是象牙塔里不能受風吹雨打的花朵,通過社會實踐的磨練,我們深深地認識到社會實踐是一筆財富。

大學學什么?肯定不只是專業知識,另一方面更要學會怎么融入這個大時代大背景。別人總是戲稱沒讀大學出來打工的叫讀“社會大學”,但是我覺得“社會大學”也是我們這些含著大學金鑰匙的人必須要修讀的。

二、活動優勢:

通過開展義診社會實踐活動,使我們逐步了解了社會,開闊了視野,增長了才干,并在社會實踐活動中認清了自己的位置,發現了自己的不足,對自身價值能夠進行客觀評價。這在無形中使我們對自己有一個正確的定位,增強了我們努力學習的信心和毅力。在此次實踐過程中我們學到在書本中學不到的知識,它讓你開闊視野、了解社會、深入生活、回味無窮。

“紙上得來終覺淺,絕知此事要躬行”。社會實踐使同學們找到了理論與實踐的最佳結合點。尤其是我們醫學生,只重視理論學習,忽視實踐環節,往往在實際工作崗位上發揮的不很理想,所以以后的實習課顯得十分重要,而我們作為大一新生離實習還有大段時間,義診就成為我們實習的第一個平臺。通過實踐所學的專業理論知識得到鞏固和提高。就是緊密結合自身專業特色,在實踐中檢驗自己的知識和水平。通過實踐,原來理論上模糊和印象不深的得到了鞏固,原先理論上欠缺的在實踐環節中得到補償,加深了對基本原理的理解和消化。

三、活動中的不足及改進的方法

“天將降大任于斯人也。必先苦其心志,勞其筋骨,餓其體膚??”。盡管義診結束后,手法理療進行了長時間后,大家都十分累,但是因為能為人民服務,同時,提高了自己而樂此不疲。

但是,此行還暴露了一些問題。例如:開始,義診中個別表現出來手法不夠熟悉,有些同學有點緊張。但在老師的指導下,很快同學們操作起來就得心應手了。

作為醫學生的我們,應該重視平時實驗課的操作和要理,加強課后練習,多向老師進行請教和加強經驗交流,熟悉和掌握一些基本操作!

四、感想和期望

社會是一所更能鍛煉人的綜合性大學,只有正確的引導我們深入社會,了解社會,服務于社會,投身到社會實踐中去,才能使我們發現自身的不足,為今后走出校門,踏進社會創造良好的條件;才能使我們學有所用,在實踐中成才,在服務中成長,并有效的為社會服務,體現大學生的自身價值。

今后的工作中,是在過去社會實踐活動經驗的基礎上,不斷拓展社會實踐活動范圍,挖掘實踐活動培養人才的潛力,堅持社會實踐與了解國情,服務社會相結合,為國家與社會的全面發展出謀劃策。堅持社會實踐與專業特點相結合,為地方經濟的發展貢獻力量為社會創造了新的財富。

此次實踐之行,是臨床系給了我們學習實踐的機會,是學校給了我們極大的支持和信任,我們作為國家的后繼力量,只有懂得全面的發展自己,把理論與實際相結合,才能更好地投入到祖國的醫療事業中去,“艱辛知人生,實踐長才干”!

臨床系義診活動總結的延伸內容:工作總結的結構形式是什么?它的內容又包括哪些?

年終總結(含綜合性總結)或專題總結,其標題通常采用兩種寫法,一種是發文單位名稱+時間+文種,如《銅仁地區煙草專賣局2004年工作總結》;另一種是采用新聞標題的形式,如松桃縣大興訪送部的卷煙零售戶誠信等級管理專題總結:《客戶爭等級,誠信穩銷量》。

正文一般分為如下三部分表述:

1、情況回顧 這是總結的開頭部分,叫前言或小引,用來交代總結的緣由,或對總結的內容、范圍、目的作限定,對所做的工作或過程作扼要的概述、評估。這部分文字篇幅不宜過長,只作概括說明,不展開分析、評議。

2、經驗體會 這部分是總結的主體,在第一部分概述情況之后展開分述。有的用小標題分別闡明成績與問題、做法與體會或者成績與缺點。如果不是這樣,就無法讓人抓住要領。專題性的總結,也可以提煉出幾條經驗,以起到醒目、明了。運用這種方法要注意各部分之間的關系。各部分既有相對的獨立性,又有密切的內在聯系,使之形成合力,共同說明基本經驗。

3、今后打算 這是總結的結尾部分。它是在上一部分總結出經驗教訓之后,根據已經取得的成績和新形勢、新任務的要求,提出今后的設法、打算,成為新一年制訂計劃的依據。內容包括應如何發揚成績,克服存在問題及明確今后的努力方向。也可以展望未來,得出新的奮斗目標。

From: 兩全其美網校城(http://www.lqqm.net)Url:http://www.lqqm.net/article-187947-1.html

下載面試備用:18大機器學習經典算法總結word格式文檔
下載面試備用:18大機器學習經典算法總結.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    機器學習報告

    機器學習總結報告 劉皓冰 大部分人錯誤地以為機器學習是計算機像人一樣去學習。事實上,計算機是死的,怎么可能像人類一樣“學習”呢,機器學習依靠的是數學,更確切地說是靠統計。......

    算法總結

    算法分析與設計總結報告 71110415 錢玉明 在計算機軟件專業中,算法分析與設計是一門非常重要的課程,很多人為它如癡如醉。很多問題的解決,程序的編寫都要依賴它,在軟件還是面向......

    算法總結

    算法分塊總結 為備戰2005年11月4日成都一戰,特將已經做過的題目按算法分塊做一個全面詳細的總結,主要突出算法思路,盡量選取有代表性的題目,盡量做到算法的全面性,不漏任何ACM可......

    算法總結材料

    源程序代碼: } 一、 自然數拆分(遞歸) } #include 二、快速排序(遞歸) int a[100]; void spilt(int t) #include { int k,j,l,i; main() for(k=1;k......

    機器學習的例子

    身邊的機器學習相信身邊很多人都曾經被漫長的紅綠燈等待時間所困擾。不管是對于行人還是開車的司機,要么就是等紅燈的時間太長以至于大家開始失去耐心,選擇直接橫穿馬路;要么......

    機器學習基礎教學大綱

    教學大綱 1概述 ? ? ? ? ? 什么是機器學習機器學習的典型應用 機器學習與其他研究領域的關系 機器學習研究目標 PAC學習模型 2 理論基礎 ? 采樣復雜度 ? VC維與生長函數 ? ? ? ? ? ? ? ? ?......

    《算法導論》學習總結——快速排序

    《算法導論》學習總結——快速排序 曾經在程序員雜志上看到快速排序的作者,Hoare,曾經的圖靈獎獲得者啊,牛光閃閃的。不過當時,對快速排序什么的,印象不算深刻,畢竟沒好好學。記......

    大數據背景下的機器算法論文開題報告

    論文題目大數據背景下的機器算法專業計算機科學與技術學生姓名楊宇瀟學號***4一、 選題的背景、研究現狀與意義為什么大數據分析很重要?大數據分析可幫助組織利用其......

主站蜘蛛池模板: 在线播放无码字幕亚洲| 国产亚洲aⅴ在线电影| 国产精品_国产精品_k频道w| 小泽玛利亚一区二区免费| 狠狠色噜噜狠狠狠狠888奇禾| 亚洲国产精品无码aaa片| 亚洲av无码乱码在线观看牲色| 日本最新免费二区三区| 国产亚洲精品久久久久久无挡照片| 青草久久人人97超碰| 精品国产v无码大片在线观看| 国产色视频一区二区三区qq号| 亚洲精品无码久久久久| 欧亚激情偷乱人伦小说专区| 国产大陆亚洲精品国产| 波多野av一区二区无码| 亚洲国产av玩弄放荡人妇系列| 亚洲一区爱区精品无码| 亚洲无码人妻| 中文字幕有码无码av| 亚洲av无码国产一区二区三区| 日韩欧美中文字幕在线三区| 人妻丰满av无码久久不卡| 又大又粗又黄的网站不卡无码| 国产偷国产偷亚洲清高网站| 在线а√天堂中文官网| 亚洲精品无码成人片久久不卡| 无码人妻精品一区二区三区66| 美日韩在线视频一区二区三区| 亚洲风情亚aⅴ在线发布| 无套内射在线观看theporn| 久久久久亚洲精品中文字幕| 少妇人妻上班偷人精品视频| 亚洲欧洲日产国码无码| 国产午夜无码片在线观看| 美女裸奶100%无遮挡免费网站| 美女大量吞精在线观看456| 国产精品后入内射日本在线观看| 熟女人妻水多爽中文字幕| 中中文字幕亚洲无线码| 级毛片内射视频|