01
—
概述
1.scikit-learn 是目前編程最常用的機器學習庫。
2.通過 降維 把數據維度降低為2維或者3維,可以實現數據的可視化。
3.教材推薦采用 Anaconda 包管理工具來構建機器學習開發環境。
4.對回歸問題,標簽通常是 連續 型的。
5.我們教材將機器學習系統構建分為了4個階段,分別是 預處理 , 學習 , 評估 , 預測 。
6.監督學習的訓練數據由樣本特征和標簽 組成。
- 聚類 技術將數據分成有意義的群組。
8.對分類問題,標簽通常是離散 型的。
9.我們教材約定用矩陣表示訓練數據,矩陣的一行表示一個 樣本、一列表示一個 特征 。
10.監督學習有兩個主要任務,分別是 分類, 回歸 。
11.教材給出的3種不同類型的機器學習是 有監督, 無監督, 強化。
12.下列哪種語言是目前最流行的學習機器學習的語言。 (Python)
13.以下哪種機器學習方法(強化、分類、聚類、回歸),不是我們教材關注的重點。 (強化)
14.用機器學習方法讓機器學會下棋可以采用強化學習來實現。(√)
15.機器學習是人工智能的一個分支。(√)
02
—
感知機
1.pandas讀取csv文件的函數是 read_csv 。
2.感知器算法的模型參數是 w、 b。
3.python類的構造函數的名字是 init 。
4.在python中,用 import指令導入包。
5.numpy中實現兩個矩陣相乘的函數是dot。
6.下列是感知機算法需要學習的參數。(特征權重值w)
7.以下哪個性質不是感知機算法所具有(感知器算法具有的性質:二分類、迭代、線性)的?(封閉解)
8.感知機算法只有在樣本線性可分的情況下才會收斂。(√)
9.感知器算法通常將正類的標簽標記為1。(√)
10.梯度下降算法一定可以找到全局最優解。(×)(局部最優解)
11.感知器算法通常將正類的標簽標記為0。(×)(1)
12.感知機算法偽代碼:
圖片
03
—
3.1 邏輯回歸
1.模型過擬合的表現是模型能在 訓練數據集上效果非常好,但是在 測試數據集上效果不好。
2.sklearn中封裝的分類器對象一般通過fit成員函數的調用完成模型的訓練。
3.sklearn庫自帶的數據集對應的模塊名是 datasets 。
4.sklearn中封裝的邏輯回歸分類器在 linear_model模塊中,類名為 LogisticRegression。
5.sklearn庫中用來進行數據集划分的函數名是 train_test_split。
6.用 sigmoid函數將邏輯回歸的輸出值映射到0到1之間。
7.sklearn中封裝的邏輯回歸類,控制正則化強度的參數越大,則模型越 復雜。
8.函數accuracy_score用來計算模型在特定數據上的分類 准確率 。
9.sklearn中封裝的邏輯回歸類,通過 C/c參數來控制模型的正則化強度。
10.sklearn中的StandardScaler類的作用是對數據進行 標准化 。
11.正則化是通過懲罰模型的 參數 來實現的,即懲罰大的權重值。
12.正則化的目的是防止模型 過擬合 。
13.以下哪個說法是不正確的?
邏輯回歸模型的參數數量和樣本特征數量無關
邏輯回歸模型的求解需要學習率η作為參數
邏輯回歸的分類結果一定比感知器好
(×)邏輯回歸的一個優點是可輸出分類結果的可能性
14.以下哪個說法是正確的?
(√)邏輯回歸采用交叉熵作為損失函數(邏輯回歸的損失函數和交叉熵是一致的)
線性回歸損失函數——平方損失函數,邏輯回歸損失函數——對數損失函數
15.邏輯回歸的損失函數與極大似然估計具有等價性。(√)
16.針對一個樣本,邏輯回歸的輸出結果是一個數值,並且在0到1之間。(√)
17.正則化越強,模型參數越小,模型越簡單。(√)
18.邏輯回歸是一種高級的回歸算法。(×)(分類算法)
19.邏輯回歸在訓練階段求解模型參數一般采用迭代算法求解。(√)
20.復雜的模型不容易過擬合。(×)(復雜的模型更容易過擬合)
21.原始的邏輯回歸算法處理的是二分類問題。(√)
22.正則化越弱,模型參數越大,模型越復雜。(√)
3.2 支持向量機
1.如果一個樣本空間線性可分,那么,我們能找到無數個平面來划分樣本。
2.SVM的全稱為支持向量機/支撐向量機。
3.SVM的思想是尋找最優分類超平面,使得正負超平面直接的距離最大/最大化。
4.位於正負超平面上的訓練樣本在SVM中被稱為支持向量/支撐向量。
5.SVM的求解目標是一個帶約束/約束條件的優化問題。
6.引入松弛變量/松弛余量可以使得SVM可以處理線性不可分的情況。
7.sklearn中實現的SVM類的參數C越大,代表模型對訓練樣本的錯誤懲罰越大。
8.通過將低維空間的數據映射到高維空間,可以讓原本線性不可分的數據變得線性可分。
9.在二維空間且樣本類別只有兩類的情況下,訓練樣本線性可分,滿足最優分類直線的三個條件是:
該直線位於間隔中間,到所有支持向量相等
該直線分開了兩類
該直線最大化間隔
10.下列屬於支持向量機核函數的是?
線性核
多項式核
高斯核(徑向基核函數)
(×)卷積核
11.最優分類超平面一般對分類樣本有較強的容忍誤差。(√)
12.線性不可分的情況下,若我們僅僅適當放寬限制條件,支持向量機找到的仍是一條直線或一個平面,分類性能往往不足。(√)
13.為了更好的解決線性不可分問題,我們常常需要擴大可選函數的范圍。(√)
14.RBF核函數就是高斯核函數。(√)
15.核函數的輸入是兩個樣本。(√)
16.核函數的輸出代表了兩個樣本在高維空間中的內積。(√)
17.通過核函數,可以實現即使不將訓練樣本映射到高維空間,也可以求樣本間在高維空間中的內積。(√)
3.3 決策樹 隨機森林 K近鄰
1.sklearn中封裝的決策樹的類名為DecisionTreeClassifier。
2.決策樹在分裂節點的時候的原則是選擇某個特征和判定條件,使得分裂可以獲得最大的信息增益。
3.衡量一個集合不純度的指標有熵、基尼系數/基尼雜質度和分類錯誤/分類錯誤率。
4.將多個不同的決策樹模型的分類結果進行組合,利用多數投票機制進行分類的模型是隨機森林。
5.隨機森林從樣本和特征兩個方面來保證基礎分類器的隨機性。
6.決策樹得到的分類分割面,通常與坐標軸平行。(√)
7.sklearn中封裝的決策樹采用的是二叉樹結構。(√)
8.決策樹模型具有可解釋性。(√)
9.決策樹模型處理的特征必須是離散的分類特征。(×)
10.決策樹的深度越深,越容易出現過擬合。(√)
11.熵可以用來度量樣本集合的純度。(√)
12.熵越大樣本集合越純凈,越容易區分樣本的類別。(×)(熵越大樣本集合越不純,越混亂)
13.隨機森林通過為每顆樹提供不同的訓練樣本從而讓每棵樹不同。(√)
14.隨機森林只有一種方法讓組成森林的每棵樹不同。(×)(樣本和特征)
15.隨機森林屬於組合分類器方法。(√)
16.組合分類器想要獲得好的結果,所組合的基礎分類器應該具有一定的差異。(√)
17.隨機森林往往比決策樹具有更好的分類效果。(√)
18.決策樹模型容易出現過擬合,隨機森林不容易出現過擬合。(√)
19.K近鄰算法是一種基於實例的機器學習算法。(√)
20.K近鄰算法是一種非參數機器學習算法。(√)
21.K近鄰算法訓練過程代價很小,測試過程代價很大。(√)
22.可以采用更高效的KD樹數據結構組織數據,從而提高K近鄰算法的效率。(√)
23.K值越小,K近鄰算法越不容易過擬合。(×)(K值過小模型復雜、學習能力強、容易過擬合;K值過大模型簡單、學習能力弱、容易欠擬合)
24.K值越大,K近鄰算法越不容易過擬合。(√)(K值越大越不容易過擬合,但是容易欠擬合)
25.K近鄰算法只能使用歐式距離度量兩個樣本之間的距離。(×)(歐幾里得距離、曼哈頓距離、明可夫斯基距離)
3.4 朴素貝葉斯 神經網絡
上圖中的神經網絡一共有多少個權重?
4*(3+2)=20
04
—
回歸分析
1.回歸問題按照輸入變量和輸出變量之間關系的類型,分為 線性回歸和 非線性回歸。
2.回歸模型表示從 輸入變量到 輸出變量之間映射的函數。
3.回歸問題按照輸入變量的個數,分為 一元回歸和 多元回歸。
4.回歸問題分為 學習 和 預測 兩個過程。
5.下列哪一項不是正規方程的特點?
只適用於線性模型,不適用於邏輯回歸等其他模型
不要學習率a
如果特征維度太高,不宜再考慮該方法
(×)多次運算得出(一次運算得出)
6.回歸(regression)是屬於下列哪一類機器學習問題?(監督學習)
7.下列哪一項不是梯度下降的特點?
需要選擇適當的學習率a
需要進行多步迭代
能應用到一些更加復雜的算法中,如邏輯回歸等
(×)當特征數量很大時,不能較好適用(對多特征適應性較好,能在特征數量很多時仍然工作良好)
8.歸一化和正則化是兩種常見的可以將不同的特征統一到同一比例的方法。(×)(歸一化和標准化)
9.線性回歸模型推廣到多個解釋變量,這個過程叫作多元線性回歸。(√)
10.回歸問題的學習等價於函數擬合。(√)
11.當目標函數不是凸函數時,可以使用隨機梯度下降法避免優化過程陷入局部最優。(√)
12.梯度下降就是逐步最大化損失函數的過程。(×)(梯度下降是逐步最小化損失函數的過程)
13.損失函數用來衡量參數選擇的准確性。(√)
14.線性回歸的目的是針對一個或多個特征與連續目標變量之間的關系建模。(√)
15.什么是梯度下降算法,它的作用是什么?(梯度下降法是一種尋找目標函數最小化的方法,作用是逐步最小化損失函數)
附加
———
統計學基本概念
1.統計學習方法的步驟:
1.得到一個有限的訓練、數據集合;
2.確定包含所有可能的模型的假設空間,即學習模型的集合;
3.確定模型選擇的准則,即學習的策略;
4.實現求解最優模型的算法,即學習的算法;
5.通過學習方法選擇最優模型;
6.利用學習的最優模型對新數據進行預測或分析。
2.如果給定的樣本數據充足,進行模型選擇的一種簡單方法是隨機地將數據集分成三部分,分別為 訓練集, 驗證集和 測試集。
3.監督學習方法又可以分為 生成方法和 判別方法。所學到的模型分別稱為 生成模型和 判別模型。
4.為避免過擬合,常用的兩種模型選擇方法是 正則化和 交叉驗證。
5.統計學習方法都是由 模型, 策略, 算法三要素構成。
- 泛化 能力是指由該方法學習到的模型對未知數據的預測能力。
7.正則化是 結構風險最小化 策略的實現。
8.下列哪一項不是統計學習的主要特點?
以數據為研究對象
多個領域的交叉學科
以計算機及網絡為平台
(×)以信息為中心(以方法為中心)
9.下列哪一項是過擬合的特點?(模型對己知數據預測得很好,但對未知數據預測得很差)
10.在監督學習過程中,模型就是所要學習的條件概率分布或決策函數。(√)
11.損失函數主要用來度量平均意義下模型預測的好壞。(×)(損失函數:一次預測的好壞;風險函數:平均意義下模型預測的好壞)
12.統計學習也稱為統計機器學習。(√)
13.統計學習的目的是對數據(特別是未知數據)進行預測和分析。
14.統計學習的目標就是選擇期望風險最大的模型。(×)(學習的目標是選擇期望風險最小的模型)
05
—
降維
1.樣本協方差矩陣的 特征向量 就是PCA算法要求解的投影方向。
2.向PCA投影后,新的特征之間具有 不相關/線性不相關 的性質。
3.PCA的全稱為 主成分分析 。
4.LDA的全稱為 線性判別分析 。
5.KPCA的全稱為 核主成分分析 。
6.KPCA是通過 核函數/核技巧 避免了顯示的將特征映射到高維空間。
附:<--常見核函數-->(對稱性、半正定性)
線性核:
圖片
多項式核:
圖片
徑向基核函數(高斯核):
圖片
7.以下關於PCA算法的描述正確的有哪些?
即使輸入數據X各個維度上的數值相似度較高,依舊需要對其去均值
使用PCA算法時,數據壓縮后的維度M可以設置的偏小一點
(×)已知使用PCA算法壓縮后的數據Y以及壓縮矩陣A,但是無法大致還原壓縮前的數據
(×)在使用PCA算法時,有可能陷入局部最小值,所以需要使用不同的初始化數值多次計算以獲得更好的結果
8.有L個輸入樣本,每個樣本的特征維度是N。在設置壓縮后的維度M時,以下哪些設置方式是合理的?
根據能量百分比准則,保留占據95%能量的M值
M = 0.1 * N
(×)根據能量百分比准則,保留占據5%能量的M值
9.以下哪些是PCA算法可以解決的問題?
對維度大於3的數據進行可視化處理
對特征相關性較高的數據進行降維
數據維度壓縮
(×)對維度較小的數據進行維度擴充
10.以下哪些特征選取方式是無監督的?
使用PCA進行特征抽取
使用協方差矩陣抽取協方差值較高的特征
(×)使用線性神經網絡抽取特征
(×)使用卷積層,pooling層處理輸入圖像,得到降維后的特征圖
11.PCA是一種無監督學習算法。(√)
12.LDA是一種有監督學習算法。(√)
13.PCA的目標是使得訓練樣本在低維空間中盡量分散。(√)
14.PCA可以采用梯度上升法求解。(√)
15.PCA算法沒有解析解。(×)(通常是近似數值解,而非沒有解析解)
16.對非線性分布的數據,PCA降維仍然可以取得較好的效果。(×)(PCA線性降維方法)
06
—
模型評價與調優
- 混淆矩陣 用於顯示不同類別的樣本被具體分類的情況。
2.ROC曲線下的面積指標被稱為 AUC 。(分類器性能指標,曲線越接近左上角越好)
3.網格搜素的目的是尋找最優的 超參數 。(網格搜索即選中某一參數后自動遍歷該參數范圍中的所有值,以找到最佳參數)
4.學習曲線是模型准確率隨 訓練樣本 數量的變化曲線。
5.驗證曲線是模型准確率隨 模型參數 的變化曲線。
6.下面正確的是?
將所有數據先隨機打亂順序,百分之80用來訓練模型,剩下的百分之20作為測試集,預測結果正確率最高的模型就是我們所要選的模型
7.如果一個模型在訓練集上正確率為99%,測試集上正確率為60%。我們應該怎么做?
(高方差(偏差1,方差39)->過擬合->復雜模型)
加入正則化項
增加訓練樣本數量
減少模型復雜度
8.如果一個模型,它在訓練集上正確率為85%,測試集上正確率為80%,則模型是過擬合還是欠擬合?其中,來自於偏差的誤差為?來自方差的誤差為?
(總誤差20%)
欠擬合,15%,5%
附:誤差分析及過擬合/欠擬合
來自偏差的誤差:100% - 訓練集上正確率
來自方差的誤差:訓練集正確率 - 測試集正確率
欠擬合:偏差 > 方差,對應簡單模型
過擬合:偏差 < 方差,對應復雜模型
9.假設,我們現在利用5折交叉驗證的方法來確定模型的超參數,一共有4組超參數,我們可以知道,5折交叉驗證,每一組超參數將會得到5個子模型的性能評分,假設評分如下,我們應該選擇哪組超參數?
子模型1:0.8 子模型2:0.8 子模型3:0.8 子模型4:0.8 子模型5:0.6(選總評最高的一組超參數)
10.下列說法正確的是?
自助法對集成學習方法有很大的好處
使用交叉驗證能夠增加模型泛化能力
在數據難以划分訓練集測試集時,可以使用自助法
(×)相比自助法,在初始數據量較小時交叉驗證更常用(交叉驗證和留出法(37、28、分層抽樣)常用於數據量足夠的情況)
11.下列說法正確的是?
相比MSE指標,MAE對噪聲數據不敏感
RMSE指標值越小越好
(×)R-Squared指標值越小越好(R方參數為回歸模型的正確率,值越大越好)
(×)當我們的模型不犯任何錯時,R-Squared值為0(0表示全錯...)
附:回歸評價指標
MSE均方誤差:真實值-預測值,然后平方之后求和平均(即線性回歸損失函數)
RMSE均方根誤差:Root of MSE
MAE平均絕對誤差:真實值-預測值的絕對值求和平均,對噪聲數據不敏感
R-Squared R方:線性回歸正確率,越接近1說明模型越好
12.訓練集與測試集的划分對最終模型的確定沒有影響。(×)
13.一個分類模型的分類准確率高,則一定是一個好的分類模型。(×)
07
—
聚類
1.層次聚類在度量群組之間的距離時,常用的度量方法有單連接、多連接和平均連接。
2.熱度圖是利用 顏色來表示樣本特征大小的一種可視化方法。
3.DBSCAN是一種基於 密度 的聚類算法。
4.DBSCAN聚類算法將樣本點分為 核心點、 邊界點和 噪聲點三類。
5.K均值聚類算法的求解需要求樣本間的距離。(√)
6.K均值聚類算法的聚類數量需要提前決定。(√)
7.多次運行K均值聚類算法,只要K是相同的,結果也會是相同的。(×)(因為是隨機選取的中心)
8.可以利用肘法決定最佳聚類數量。(√)
9.凝聚層次聚類是一種自底向上的聚類過程。(√)
10.主觀題。
①簡述K均值聚類算法的目標函數。
最小化群內誤差平方和(SSE)(群慣性)
②簡述K均值聚類算法的基本思想和步驟。
基本思想:
對於給定的樣本集,按照樣本之間的距離大小,將樣本集划分為K個簇。讓簇內的點盡量緊密的連在一起,而讓簇間距離盡量大。
算法步驟:
1.隨機從樣本中挑選k個重心作為初始聚類中心;
2.將每個樣本分配到最近的重心μ (j),j∈{1,…,k};
3.把重心移到已分配樣本的中心;
4.重復步驟2和3,直到集群賦值不再改變或達到用戶定義的容限或最大迭代數。
③如何改進K均值聚類算法初始聚類中心不佳的問題,簡述基本思想。
使用k均值++算法。
算法步驟:
1.初始化空集合M來存儲選擇的k個重心;
2.從輸入樣本中隨機選擇第一個重心μ(j)然后加入M;
3.找出不在M中的每個樣本x(i)與M中每個點的最小距離的平方d(x(i), M)² ;
4.隨機選擇下一個重心μ(p),計算加權概率分布;
5.重復步驟2和3直至選中k個重心;
6.繼續進行經典的k-均值算法。
④簡述模糊聚類K均值聚類的基本思想。
基本思想:
將一個樣本分配給一個或多個集群;並確定每個數據點屬於各個聚類的概率。
算法步驟:
1.指定k重心的數量然后隨機為每個重心點分配集群成員。
2.計算集群的中心μ(j),j∈{1,…,k}。
3.更新每個點的集群成員。
4.重復步驟2和3直到成員系數不再變化,或達到用戶定義的容限或最大迭代數。
⑤簡述什么是輪廓圖及輪廓圖的作用。
輪廓圖(Silhouette)是一種用於表現集群中樣本分類的緊密程度,即聚類准確度的度量。
用於量化聚類的質量。
⑥簡述層次聚類算法的基本思想和步驟。
將所有的樣本點自底向上合並(凝聚)或者自頂向下分裂(分裂)成一棵樹。
⑦簡述凝聚層次聚類算法的基本思想,寫出算法步驟(偽代碼)
基本思想:
自底向上的策略,首先將每個對象作為一個簇,然后合並這些原子簇為更大的簇,直到所有的對象都在同一個簇中,或者滿足終止條件。
算法步驟:
1.計算所有樣本的距離矩陣;
2.將每個數據點表示為單例集群;
3.根據最不相同的成員之間的距離合並兩個最近的集群;
4.更新相似度矩陣;
5.重復步驟2-4直到一個集群保持不變。
⑧簡述DBSCAN聚類算法的基本思想,寫出算法步驟。
基本思想:
由密度可達關系導出的最大密度相連的樣本集合,即為聚類的一個類別(簇)。
算法步驟:
1.用每個核心或連接的核心點組成單獨的集群(如果不超過ε的范圍,核心點被視為連接的);
2.把每個邊界點分配到與其核心點相對應的集群。