生成式演算法
1. 機器學習中常見演算法優缺點之樸素貝葉斯演算法
在機器學習中有很多演算法,而有一種演算法有著堅實的數學背景,並且被廣泛使用,這種演算法就是樸素貝葉斯演算法。當然,樸素貝葉斯演算法的優點有很多,但這種演算法的缺點也是我們不能忽視的,那麼大家知道不知道樸素貝葉斯演算法的優點和缺點是什麼呢?下面我們就給大家介紹一下這個問題。
那麼什麼是樸素貝葉斯演算法呢?其實樸素貝葉斯屬於生成式模型,也就是關於生成模型和判別式模型,主要還是在於是否需要求聯合分布,這種演算法是一種比較簡單的演算法,你只需做一堆計數即可。如果注有條件獨立性假設,樸素貝葉斯分類器的收斂速度將快於判別模型,比如邏輯回歸,所以你只需要較少的訓練數據即可。即使NB條件獨立假設不成立,NB分類器在實踐中仍然表現的很出色。它的主要缺點是它不能學習特徵間的相互作用,用mRMR中R來講,就是特徵冗餘。
那麼樸素貝葉斯演算法的優點是什麼呢?這種演算法的優點有五個,第一就是樸素貝葉斯模型發源於古典數學理論,有著堅實的數學基礎,以及穩定的分類效率。第二就是對大數量訓練和查詢時具有較高的速度。即使使用超大規模的訓練集,針對每個項目通常也只會有相對較少的特徵數,並且對項目的訓練和分類也僅僅是特徵概率的數學運算而已。第三就是對小規模的數據表現很好,能個處理多分類任務,適合增量式訓練(即可以實時的對新增的樣本進行訓練)。第四就是對缺失數據不太敏感,演算法也比較簡單,常用於文本分類。第五就是樸素貝葉斯對結果解釋容易理解。
當然,樸素貝葉斯演算法的缺點也是很明顯的,樸素貝葉斯演算法的缺點有四點,第一就是需要計算先驗概率。第二就是分類決策存在錯誤率。第三就是對輸入數據的表達形式很敏感。第四就是對由於使用了樣本屬性獨立性的假設,所以如果樣本屬性有關聯時其效果不好。
那麼樸素貝葉斯應用領域是什麼呢?其實樸素貝葉斯演算法在欺詐檢測中使用較多。當然,我們還可以用樸素貝葉斯演算法來決定一封電子郵件是否是垃圾郵件。還可以用樸素貝葉斯演算法判斷一篇文章應該的類別,同時也能夠使用貝葉斯演算法去判斷一段文字表達的是積極的情緒還是消極的情緒。從中我們可以看出樸素貝葉斯演算法是一個十分實用的演算法。
在這篇文章中我們給大家介紹了關於樸素貝葉斯演算法優缺點的相關知識,通過對這些知識的講解相信大家已經對樸素貝葉斯演算法有了一定的了解,希望這篇文章能夠幫助大家。
2. 什麼是列生成演算法
列生成
設yi(i∈N\{0})為前述線性規劃(LP)的對偶變數(al variable),則對應可 行路線r=(0,i1,i2, …, ik, 0)有即約代價(reced cost)fr:
它可表示為r上弧的邊際代價(marginal cost)之和:
這里弧(i,j)的邊際代價定義為
fij=Cij-yj,(i,j)∈r
當對任意r∈R有fr0時, 線性規劃(LP)求得最優解。
在實施列生成時,可行路線r通過動態規劃產生。設Fi(S,t)表示從中心出發,經過S中的 所有點i(PiSN)一次且僅僅一次,在t時刻或之前到達客戶i的路線的最小邊際成本, 則Fi(S,t)可用如下遞歸公式計算:
對所有的j,S,t, j∈N, SN, ajtbj.
3. 無人駕駛(三)行人跟蹤演算法
姓名:王夢妮
學號:20021210873
學院:電子工程學院
【嵌牛導讀】本文主要介紹了無人駕駛中所需的行人跟蹤演算法
【嵌牛鼻子】無人駕駛 環境感知 計算機視覺 卡爾曼濾波 粒子濾波 均值漂移
【嵌牛提問】無人駕駛中所用到的行人跟蹤演算法有哪些
【嵌牛正文】
行人跟蹤一直是視覺領域的一個難點,實際應用環境復雜、遮擋以及行人姿態變化等外界因素都影響著行人跟蹤演算法的研究。行人跟蹤演算法模型主要分為生成模型和判別模型。
(一)生成式模型
生成式模型是一種通過在線學習行人目標特徵,建立行人跟蹤模型,然後使用模型來搜索誤差最小的目標區域,從而完成對行人的跟蹤。這種演算法在構建模型只考慮了行人本身的特徵,忽略了背景信息,沒有做到有效利用圖像中的全部信息。其中比較經典的演算法主要有卡爾曼濾波,粒子濾波,mean-shift等。
(1)卡爾曼濾波演算法
卡爾曼濾波演算法是一種通過對行人構建狀態方程和觀測方程為基礎,計算最小均方誤差來實現跟蹤的最優線性遞歸濾波演算法,通過遞歸行人的運動狀態來預測行人軌跡的變化。
首先設定初始參數,讀取視頻序列。然後進行背景估計,產生初始化背景圖像。然後依次讀取視頻序列,利用Kahnan濾波演算法,根據上一幀估計的背景和當前幀數據得到當前幀的前景目標。然後對前景目標進行連通計算,檢測出運動目標的軌跡。經典的卡爾曼濾波演算法.只能對線性運動的行人實現跟蹤,之後學者改進了卡爾曼濾波演算法,能夠實現對非線性運動的行人進行跟蹤,計算量小,能實現實時跟蹤,但是跟蹤效果不理想。
(2)粒子濾波
粒子濾波的核心就是貝葉斯推理和重要性采樣。粒子濾波可用於非線性非高斯模型,這是由於貝葉斯推理採用蒙特卡洛法,以某個時間點事件出現的頻率表示其概率。通過一組粒子對整個模型的後驗概率分布進行近似的表示,通過這個表示來估計整個非線性非高斯系統的狀態。重要性採用就是通過粒子的置信度來賦予不同的權重,置信度高的粒子,賦予較大的權重,通過權重的分布形式表示相似程度。
(3)均值漂移(mean-shift)
Mean-shift演算法屬於核密度估計法。不必知道先驗概率,密度函數值由采樣點的特徵空間計算。通過計算當前幀目標區域的像素特徵值概率來描述目標模型,並對候選區域進行統一描述,使用相似的函數表示目標模型與候選模板之間的相似度,然後選擇在具有相似函數值最大的候選模型中,您將獲得關於目標模型的均值漂移向量,該向量表示目標從當前位置移動到下一個位置的向量。通過連續迭代地計算均值偏移矢量,行人跟蹤演算法將最終收斂到行人的實際位置,從而實現行人跟蹤。
(二) 判別式模型
判別模型與生成模型不同,行人跟蹤被視為二分類問題。提取圖像中的行人和背景信息,並用於訓練分類器。通過分類將行人從圖像背景中分離出來,以獲取行人的當前位置。以行人區域為正樣本,背景區域為負樣本,通過機器學習演算法對正樣本和負樣本進行訓練,訓練後的分類器用於在下一幀中找到相似度最高的區域,以完成行人軌跡更新。判別式模型不像生成式模型僅僅利用了行人的信息,還利用了背景信息,因此判別式模型的跟蹤效果普遍優於生成式模型。
(1)基於相關濾波的跟蹤演算法
核相關濾波(KCF)演算法是基於相關濾波的經典跟蹤演算法,具有優良的跟蹤效果和跟蹤速度。這是由於其採用了循環移位的方式來進行樣本生產,用生成的樣本來訓練分類器,通過高斯核函數來計算當前幀行人與下一幀中所有候選目標之間的相似概率圖,找到相似概率圖最大的那個候選目標,就得到了行人的新位置。KCF演算法為了提高跟蹤精度,使用HOG特徵對行人進行描述,同時結合了離散傅里葉變換來降低計算量。
(2)基於深度學習的跟蹤演算法
近年來,深度學習在圖像和語音方面取得了較大的成果,因此有許多科研人員將深度學習與行人跟蹤相結合,取得了比傳統跟蹤演算法更好的性能。DLT就是一個基於深度學習的行人跟蹤演算法,利用深度模型自動編碼器通過離線訓練的方式,在大規模行人數據集上得到一個行人模型,然後在線對行人進行跟蹤來微調模型。首先通過粒子濾波獲取候選行人目標,然後利用自動編碼器進行預測,最終得到行人的預測位置即最大輸出值的候選行人目標位置。2015年提出的MDNet演算法採用了分域訓練的方式。對於每個類別,一個單獨的全連接層用於分類,並且全連接層前面的所有層都是共享,用於特徵提取。2017年提出的HCFT演算法使用深度學習對大量標定數據進行訓練,得到強有力的特徵表達模型,結合基於相關濾波的跟蹤演算法,用於解決在線進行跟蹤過程中行人樣本少、網路訓練不充分的問題。此外,通過深度學習提取特徵,利用數據關聯的方法來實現跟蹤的演算法,其中最為著名的就JPDAF與MHT這兩種方法。