[人工智能學習]一、人工智能:模型與算法

課程目標:
理解人工智能原理脈絡,瞭解可實現的思惟架構。html

課程地址:
人工智能:模型與算法 https://www.icourse163.org/course/ZJU-1003377027)算法

一、搜索求解

a.啓發式搜索

又稱:有信息搜索。安全

模型:2個城市之間的最短路徑

表明算法:貪婪最佳優先搜索(Greedy best-first search)、A*搜索。網絡

輔助信息 任何一個節點與目的地的距離
評價函數 f(n): evvaluation function 從當前節點n出發,評價選擇後續節點
啓發函數 h(n): heuristic function 計算從當前節點n到目標節點、路徑的最小代價值,這個最小代價稱爲啓發函數
  • 貪婪最佳優先搜索

評價函數f(n) = 啓發函數h(n)
基本。每次節點均指向代價最小,這個代價最小這一目標,可能會進入死循環。架構

  • A* 算法

評價函數f(n) = 當前最小開銷代價g(n) + 後續最小開銷代價h(n)
改進,總體思惟。每次把以前、至後開銷之和,計入當前啓發開銷,指向不大於啓發(可容性)的更小的目標(單調性)。app

b.對抗式搜索

模型:肯定的、全局可觀察的、競爭對手輪流行動、零和的,2人對決遊戲

max(min(),min(),min...) ==> 行進過程當中:(total max)a.單調增, (partical min)b單調減less

又稱:博弈搜索,一方利益最大化、則另外一方利益最小化。機器學習

  • 最小最大搜索(Minimax Search)

基本。窮舉ide

  • Alpha-beta剪枝搜索(Pruning Search)

改進,減除無用。
若是有比當前目標a更小的值,忽略此組,直到有更大的時,以a爲準:逐一檢出、是最小且大於a則替換之,一樣存在比a小的跳過,即(-~上探,+~下行) ==> (a, b:current.min_>a_ok, [b.i<a,break and next])。函數

  • 蒙特卡洛樹搜索(Monte-Carlo Tree Search)

改變,採樣不窮舉。

蒙特卡羅方法思想:表示採樣越多,越近似最優解。
蒙特卡羅方法解題過程的三個主要步驟:(1)構造或描述機率過程,(2)實現從已知機率分佈抽樣,隨機數是咱們實現蒙特卡羅模擬的基本工具(3)創建各類估計量。
蒙特卡洛樹搜索算法(Upper Confidence Bounds on Trees: UCT)

上限置信區間(Upper Confidence Bound:UCB算法):
ucb.math.jpg
下一次的選擇得分權重,傾向於以往的平均值,加上 c平衡因子/權衡參數 乘以 置信權重(N是實驗/仿真總次數、n是幾點驗證次數[全部節點的驗證次數和等於N])。

僞代碼圖解

S               狀態集
A(s)            在狀態s能採起的有效行動的集合
s(v)            節點v的狀態
a(v)            到達v採起的行動
f: S x A → S    狀態轉移函數
N(v)            節點v被訪問的次數
Q(v)            節點v得到的獎賞值(目前、平均)
Δ(v,p)          玩家p選擇節點v所獲得的的獎賞值

蒙特卡洛樹搜索僞代碼

二、邏輯推理

a.命題邏輯

  • 命題鏈接符號
與(and)      𝑝⋀𝑞       命題合取(conjunction),即「𝑝且𝑞」
或(or)       𝑝⋁𝑞       命題析取(disjunction),即「 𝑝或 𝑞 」
非(not)    ¬𝑝         命題否認(negation),即「非𝑝」
條件(conditional)             𝑝 → 𝑞     命題蘊含(implication),即「若是𝑝 則 𝑞」
雙向條件(bi-conditional)       𝑝 ↔ 𝑞     命題雙向蘊含(bi-implication),即「𝑝 當且僅當 𝑞」

邏輯真值表,邏輯等價≡,命題: {,多個命題並行成立} => {成立嗎}?

  • 邏輯等價
𝛼⋀𝛽 ≡ 𝛽⋀𝛼 (⋀的交互律)                    (𝛼⇒𝛽) ≡ ¬α∨β (蘊涵消除)
𝛼∨𝛽 ≡ 𝛽∨𝛼 (∨的交互律)                  (𝛼⟺𝛽) ≡ (𝛼⇒𝛽)∧(𝛽⇒𝛼)(雙向消除)
(𝛼∧𝛽)∧𝛾 ≡ 𝛼∧(𝛽∧𝛾) (∧的結合律)         ¬𝛼∧𝛽 ≡ (¬𝛼∨¬𝛽) (De Morgan)德·摩根定律
(𝛼∨𝛽)∨𝛾 ≡ 𝛼∨(𝛽∨𝛾) (∨的結合律)         ¬𝛼∨𝛽 ≡ (¬𝛼∧¬𝛽) (De Morgan)
¬¬𝛼 ≡ 𝛼 (雙重否認)                       (𝛼∧𝛽∨𝛾) ≡ (𝛼∧𝛽)∨(𝛼∧𝛾) (∧對∨的分配律)
(𝛼⇒𝛽) ≡ ¬𝛽⇒¬𝛼(逆否命題)                 (𝛼∨𝛽∧𝛾) ≡ (𝛼∨𝛽)∧(𝛼∨𝛾) (∨對∧的分配律)
  • 推理規則
{α⇒β, α} => β       假言推理: 若是α成立則β成立、α成立⇒β成立
{𝛼1∧𝛼2∧⋯∧𝛼n}      與消解: 𝛼𝑖(1≤𝑖≤𝑛)
{𝛼1,𝛼2,…,𝛼𝑛}        與導入: 𝛼1∧𝛼2∧⋯∧𝛼n

b.謂詞邏輯

基礎:個體、謂詞、量詞(∀、∃)

∀x┐P(x) ≡ ┐∃xP(x) //任意|總體 使得不成立,不存在個體使得成立
┐∀xP(x) ≡ ∃x┐P(x) //不是 任意|總體 使得成立,即存在使得不成立
∀xP(x) ≡ ┐∃x┐P(x) //任意|總體 使得成立,不存在使得不成立
∃xP(x) ≡ ┐∀x┐P(x) //存在個體使得成立,不是 任意|全體 使得不成立

天然語言的形式化:前提 => 結論 形式化
專家系統:數據 => 知識 => 服務

c.知識圖譜推理

ontology本體|存在;
predicate謂詞;
entity實體;
inductive概括的;
Convolutional卷積的;

  • 概念
1) 層次化關係(ontology): 如:工程 → 水利工程
    與Wordnet等早期本體知識構建不一樣,現有方法多在傳統分類法(Taxonomy)中結合大衆分類(Folksonomy)和機器學習來構建語義網絡分類體系
2) 例子或實體(instance/entity)
    通常經過分類識別等手段實現
3) 概念或實體的屬性
    概念或實體的屬性描述和關係表達通常經過三元組來表示
     (entity, relation, entity)或 (subject, predicate, object )
  • 知識圖譜的構成
• 概念:層次化組織
• 實體:概念的示例化描述
• 屬性:對概念或實體的描述信息
• 關係:概念或實體之間的關聯
• 推理規則:可產生語義網絡中上述新的元素
  • 概括學習

概括邏輯程序設計 (inductive logic programming,ILP)算法;
序貫覆蓋(sequential covering):序貫結構是一種卷積神經網絡,由多個卷積層堆疊而成,下一層以上一層的輸出做爲輸入。序貫結構只有單個輸入和輸出;

序貫覆蓋:在訓練集上學到每一條規則,就將改規則覆蓋的樣例去除;而後以剩下的樣例組成訓練集重複上述過程(分治策略)

五大常見算法策略
1> 分治策略:分而治之
2> 動態規劃:與分治法相似,分治,下一個子階段的求解是創建在上一個子階段的解的基礎上,進行進一步的求解
3> 貪心算法:老是作出在當前看來是最好的選擇
4> 回溯策略:一個相似枚舉的搜索嘗試過程,不滿返回重試,回溯法深度優先搜索隊列
5> 分支限界法:相似於回溯法,分支限界法廣度優先搜索隊列

卷積神經網(Convolutional Neural Networks, CNN):是一類包含卷積計算且具備深度結構的前饋神經網絡;
前饋神經網絡:是一種最簡單的神經網絡,各神經元分層排列。每一個神經元只與前一層的神經元相連。接收前一層的輸出,並輸出給下一層.各層間沒有反饋。

FOIL(First Order Inductive Learner一階概括型學習者)經過序貫覆蓋實現規則推理。推理思路:從通常到特殊,逐步給目標謂詞添加前提約束謂詞,直到所構成的推理規則不覆蓋任何反例。
//前提約束謂詞(學習獲得)
(∀𝑥)(∀𝑦)(∀𝑧) 𝑀𝑜𝑡ℎ𝑒𝑟(𝑧, 𝑦) ∧ 𝐶𝑜𝑢𝑝𝑙𝑒(𝑥, 𝑧) → 𝐹𝑎𝑡ℎ𝑒𝑟(𝑥, 𝑦) 
//目標謂詞(已知)

FOIL公式
其中,𝑚 +和𝑚 −是增長前提約束謂詞後所得新推理規則覆蓋的正例和反例的數量,𝑚+和𝑚−是原推理規則所覆蓋的正例和反例數量。
一階概括型學習者

三、機器學習

a.機器學習基本概念

  • 從數據中學習知識
a) 原始數據中提取特徵;
b) 學習映射函數𝑓;
c) 經過映射函數𝑓將原始數據映射到語義空間,即尋找數據和任務目標之間的關係;
  • 機器學習的分類
a) 半監督學習(semi-supervised learning)
監督學習(supervised learning)
    數據有標籤、通常爲迴歸或分類等任務
無監督學習(un-supervised learning)
    數據無標籤、通常爲聚類或若干降維任務
    
b) 強化學習(reinforcement learning)
    序列數據決策學習,通常爲與從環境交互中學習

重要元素:標註數據、學習模型、損失函數,訓練數據與測試數據、經驗風險與指望風險、過學習(over-fitting)與欠學習(under-fitting)、結構風險最小。

  • 監督學習兩種方法:判別模型與生成模型

 判別模型關心在給定輸入數據下,預測該數據的輸出是什麼。 典型判別模型包括迴歸模型、神經網絡、支持向量機和Ada boosting等。

 生成模型的典型方法爲貝葉斯方法、隱馬爾可夫鏈,授之於魚、不如授之於「漁」,聯合分佈機率𝑃(𝑋, 𝑌)或似然機率𝑃(𝑋|𝑌)求取很困難。

  • 線性迴歸

這種分析不一樣變量之間存在關係的研究叫回歸分析,刻畫不一樣變量之間關係的模型被稱爲迴歸模型。若是這個模型是線性的,則稱爲線性迴歸模型。

b.提高算法 (Ada Boost)

1) 概念相關
Boosting (adaptive boosting, 自適應提高):能用衆力,則無敵於天下矣;能用衆智,則無畏於聖人矣。
計算學習理論 ( Computational Learning Theory):可計算、可學習。

霍夫丁不等式(Hoeffding’s inequality):抽樣數逼近實際機率的統計算式
機率近似正確 (probably approximately correct, PAC):「強可學習模型」和「弱可學習模型」

強可學習模型:學習模型可以以較高精度對絕大多數樣本完成識別分類任務

弱可學習模型:學習模型僅能完成若干部分樣本識別與分類,其精度略高於隨機猜想

2) 算法

## Ada Boosting:思路描述
Ada Boosting算法中兩個核心問題:
1> 在每一個弱分類器學習過程當中,如何改變訓練數據的權重:提升在上一輪中分類錯誤樣本的權重。
2> 如何將一系列弱分類器組合成強分類器:經過加權多數表決方法來提升分類偏差小的弱分類器的權重,讓其在最終分類中起到更大做用。同時減小分類偏差大的弱分類器的權重,讓其在最終分類中僅起到較小做用。

1-m:
## Ada Boosting:算法描述---數據樣本權重初始化
    初始化每一個訓練樣本的權重
算法描述---第𝒎個弱分類器訓練
算法描述---弱分類器組合成強分類器
第𝒎個在訓練數據集上產生的分類偏差,權重

m+1:
在開始訓練第𝒎+𝟏個弱分類器以前對訓練數據集中數據權重進行調整
    若是某個樣本沒法被第𝒎個弱分類器𝑮𝒎 𝒙 分類成功,則須要增大該樣本權重,不然減小該樣本權重。這樣,被錯誤分類樣本會在訓練第m+1個弱分類器時會被「重點關注」 。
    在每一輪學習過程當中,Ada Boosting算法均在劃重點
    
弱分類器構造強分類器
在第𝑚次迭代中,Ada Boosting老是趨向於將具備最小偏差的學習模型選作本輪生成的 弱分類器,使得累積偏差快速降低

c.統計機器學習:無監督學習

  • 無監督學習的重要因素
數據特徵 圖像中顏色、紋理或形狀等特徵 聽覺信息中旋律和音高等特徵 文本中單詞出現頻率等特徵
類似度函數 定義一個類似度計算函數,基於所提取的特徵來計算數據之間的類似性
  • K均值聚類(K-means 聚類)

1) 算法描述:
𝑛個𝑚-維數據:兩個𝑚維數據之間的歐氏距離,𝑑(xi,xj)值越小,表示𝑥𝑖和𝑥𝑗越類似
K均值聚類
𝑛個𝑚-維數據,分別聚類到𝑘個集合,使得每一個數據僅屬於一個聚類集合。算法:
第一步:初始化,初始化𝑘個聚類質心;
第二步:對數據進行聚類,將每一個待聚類數據放入惟一一個聚類集合中;
第三步:更新聚類質心,根據聚類結果、更新聚類質心;
第四步:繼續迭代,在新聚類質心基礎上,算法循環迭代,直到知足條件。

//聚類迭代知足以下任意一個條件,則聚類中止:
a) 已經達到了迭代次數上限
b) 先後兩次迭代中,聚類質心基本保持不變

2) 應用
圖像分類、文本分類。

歐氏距離與方差量綱相同,K均值聚類算法的另外一個視角:最小化每一個類簇的方差。算法的不足:

a) 須要事先肯定聚類數目,不少時候咱們並不知道數據應被聚類的數目
b) 須要初始化聚類質心,初始化聚類中心對聚類結果有較大的影響
c) 算法是迭代執行,時間開銷很是大
d) 歐氏距離假設數據每一個維度之間的重要性是同樣的
  • 主成分分析 Principle Component Analysis (PCA)

1) 概念思惟
主成分分析是一種特徵降維方法,人類在認知過程當中會主動「化繁爲簡」。
降維後的結果要保持原始數據固有結構

//原始數據中的結構
圖像數據中結構:視覺對象區域構成的空間分佈
文本數據中結構:單詞之間的(共現)類似或不類似

假設有𝒏個兩維變量數據:
皮爾遜相關係數,上面是協方差:
皮爾遜相關係數
算法動機:保證樣本投影后方差最大。

//相關性(correlation)與獨立性(independence)
a) 若是𝑿和𝒀的線性不相關,則 𝑐𝑜𝑟𝑟 𝑋, 𝑌 = 0
b) 若是𝑿和𝒀的彼此獨立,則必定 𝑐𝑜𝑟𝑟 𝑋, 𝑌 = 0,且𝑿和𝒀不存在任何線性或非線性關係
c) 「不相關」是一個比「獨立」要弱的概念,即獨立必定不相關,可是不相關不必定相互
獨立(可能存在其餘複雜的關聯關係)。獨立指兩個變量彼此之間不相互影響。

//主成分分析: 算法動機
 在數理統計中,方差被常常用來度量數據和其數學指望(即均值)之間偏離程度,這個偏離程度反映了數據分佈結構。
 在許多實際問題中,研究數據和其均值之間的偏離程度有着很重要的意義。
 在降維之中,須要儘量將數據向方差最大方向進行投影,使得數據所蘊含信息沒有丟失,彰顯個性。如左下圖所示,向𝑦方向投影(使得二維數據映射爲一維)就比向𝑥方向投影結果在降維這個意義上而言要好;右下圖則是黃線方向投影要好。

 主成分分析思想是將𝑛維特徵數據映射到𝑙維空間(𝑛 ≫ 𝑙),去除原始數據之間的冗餘性(經過去除相關性手段達到這一目的)。
 將原始數據向這些數據方差最大的方向進行投影。一旦發現了方差最大的投影方向,則繼續尋找保持方差第二的方向且進行投影。
 將每一個數據從𝑛維高維空間映射到𝑙維低維空間,每一個數據所獲得最好的𝑘維特徵就是使得每一維上樣本方差都儘量大。

在降維之中,須要儘量將數據向方差最大方向進行投影,使得數據所蘊含信息沒有丟失,彰顯個性。`

Y       =   X   W
降維      原始  映射
結果      數據  矩陣

輸入: 𝑛個𝑑維樣本數據所構成的矩陣𝐗,降維後的維數𝑙
輸出:映射矩陣𝐖 = {𝒘𝟏, 𝒘𝟐, … , 𝒘𝒍}
算法步驟:
    1:對於每一個樣本數據𝒙𝑖進行中心化處理: 𝒙𝑖=𝒙𝑖-𝜇, 𝜇 =1/𝑛𝚺[j=1,n]𝑥𝑗;
    2: 計算原始樣本數據的協方差矩陣:𝚺=1/𝑛−1 𝐗[𝐓]𝑿;
    3: 對協方差矩陣𝚺進行特徵值分解,對所得特徵根按其值大到小排序𝜆1≥𝜆2≥⋯≥𝜆𝑙;
    4: 取前𝑙個最大特徵根所對應特徵向量𝒘𝟏, 𝒘𝟐, … , 𝒘𝒍組成映射矩陣𝐖;
    5:將每一個樣本數據𝒙𝑖按照以下方法降維: (𝒙𝑖)1×𝑑(𝐖)𝑑×𝑙=1×𝑙提綱。
  • 特徵人臉方法(Eigenface)

1) 概念思惟
特徵人臉方法是一種應用主成份分析來實現人臉圖像降維的方法,本質是用一種稱爲「特徵人臉(eigenface)」的特徵向量按照線性組合形式來表達每一張原始人臉圖像,進而實現人臉識別。因而可知,這一方法的關鍵之處在於如何獲得特徵人臉。

2) 算法描述:特徵人臉(基於特徵人臉基準映射矩陣的降維)
將每幅人臉圖像轉換成列向量,如將一幅32 × 32的人臉圖像轉成1024 × 1的列向量。

輸入: 𝑛個1024維人臉樣本數據所構成的矩陣𝐗,降維後的維數l
輸出:映射矩陣𝐖 = {𝒘𝟏, 𝒘𝟐, … , 𝒘𝒍}(其中每一個𝒘𝒋(1 ≤ j ≤ 𝑙)是一個特徵人臉)
算法步驟:
    1:對於每一個樣本數據𝒙𝑖進行中心化處理: 𝒙𝑖=𝒙𝑖-𝜇, 𝜇 =1/𝑛𝚺[j=1,n]𝑥𝑗;
    2: 計算原始樣本數據的協方差矩陣:𝚺=1/𝑛−1 𝐗[𝐓]𝑿;
    3: 對協方差矩陣𝚺進行特徵值分解,對所得特徵根按其值大到小排序𝜆1≥𝜆2≥⋯≥𝜆d;
    4: 取前𝑙個最大特徵根所對應特徵向量𝒘𝟏, 𝒘𝟐, … , 𝒘l組成映射矩陣𝐖;
    5:將每一個樣本數據𝒙𝑖按照以下方法降維: (𝒙𝑖)1×𝑑(𝐖)𝑑×𝑙=1×𝑙提綱

每一個人臉特徵向量𝐰𝑖與原始人臉數據𝒙𝑖的維數是同樣的,均爲1024。可將每一個特徵向量還原爲32 × 32的人臉圖像,稱之爲特徵人臉,所以可獲得𝑙個特徵人臉。
因爲每幅人臉是全部特徵人臉的線性組合,所以就實現人臉從「像素點表達」到「特徵人臉表達」的轉變。每幅人臉從1024維約減到𝑙維。

人臉表達的方法對比:聚類、主成份分析、非負矩陣分解。非負矩陣人臉分解方法表示:經過若干個特徵人臉的線性組合來表達原始人臉數據 𝒙𝑖 ,體現了「部分組成總體」。

四、統計機器學習算法應用

a.基於邏輯斯蒂迴歸模型的分類

迴歸與分類的區別
在迴歸分析中,學習獲得一個函數將輸入變量映射到連續輸出空間,如價格和溫度等,即值域是連續空間。
在分類模型中,學習獲得一個函數將輸入變量映射到離散輸出空間,如人臉和汽車等,即值域是離散空間。

迴歸分析:從線性到非線性
非線性迴歸分析模型:邏輯斯蒂迴歸(logistic regression)就是在迴歸模型中引入 sigmoid函數(Logistic函數)的一種非線性迴歸模型。
sigmoid函數

[經常使用數學符號讀法大全](http://www.fhdq.net/sx/14.html)
大寫    小寫    英文註音    國際音標註音    中文註音
Α        α        alpha        alfa            阿耳法
Β        β        beta        beta            貝塔
Γ        γ        gamma        gamma            伽馬
Δ        δ        deta        delta            德耳塔
Ε        ε        epsilon        epsilon            艾普西隆
Ζ        ζ        zeta        zeta            截塔
Η        η        eta            eta                艾塔
Θ        θ        theta        θita            西塔
Ι        ι        iota        iota            約塔
Κ        κ        kappa        kappa            卡帕
∧        λ        lambda        lambda            蘭姆達
Μ        μ        mu            miu                繆
Ν        ν        nu            niu                紐
Ξ        ξ        xi            ksi                可塞
Ο        ο        omicron        omikron            奧密可戎
∏        π        pi            pai                派
Ρ        ρ        rho            rou                柔
∑        σ        sigma        sigma            西格馬
Τ        τ        tau            tau                套
Υ        υ        upsilon        jupsilon        衣普西隆
Φ        φ        phi            fai                斐
Χ        χ        chi            khai            喜
Ψ        ψ        psi            psai            普西
Ω        ω        omega        omiga            歐米伽

對於線性迴歸模型而言,可使用最小二乘法,但對於邏輯斯蒂迴歸而言使用傳統最小二乘法求解是不合適的,須要考慮使用迭代算法進行優化求解,常見的就是「梯度降低法(gradient descent )」。
logistic迴歸只能用於解決二分類問題,將它進行推廣爲多項邏輯斯蒂迴歸模型(multi-nominal logistic model,也即softmax函數),用於處理多類分類問題,能夠獲得處理多類分類問題的softmax迴歸。從迴歸到分類(softmax分類):從兩類分類到多類分類。

b.基於矩陣分解的潛在語義分析

潛在語義分析(Latent Semantic Analysis, LSA或者Latent Semantic Indexing, LSI)是一種從海量文本數據中學習單詞-單詞、單詞-文檔以及文檔-文檔之間隱性關係,進而獲得文檔和單詞表達特徵的方法。
該方法的基本思想是綜合考慮某些單詞在哪些文檔中同時出現,以此來決定該詞語的含義與其餘的詞語的類似度。潛在語義分析先構建一個單詞-文檔(term-document)矩陣A,進而尋找該矩陣的低秩逼近(low rank approximation),來挖掘單詞-單詞、單詞-文檔以及文檔-文檔之間的關聯關係。

  • 單詞-文檔矩陣(term-document):構造與分解

單詞-文檔矩陣A:
單詞-文檔矩陣1
1) 從9篇論文標題中,篩選有實際意義且至少出如今兩篇文章標題中的10個單詞,分別是nonconvex,regression, optimization, network, analysis, minimization, gene, syndrome, editing, human,這樣,十個單詞和九篇文章就能夠造成一個10 × 9大小的單詞-文檔矩陣A。每一行表示某個單詞在不一樣文檔標題中所出現次數。

當用戶輸入「optimization」這一檢索請求,因爲文檔a3標題中不包含這一單詞,則文檔a3被認爲是不相關文檔,但實際上文檔a3所涉及「minimization」內容與優化問題相關。出現這一問題是由於單詞-文檔矩陣只是刻畫了單詞是否在文檔中出現與否這一現象,而沒法對單詞-單詞、單詞-文檔以及文檔-文檔之間語義關係進行建模。
若是用戶檢索「eat an apple」,則文檔「Apple is a great company」會被檢索出來,而實際上該文檔中單詞「Apple」所指蘋果公司、而非水果,形成這一結果的緣由是一些單詞具備「一詞多義」。
所以須要一種方法可以建模單詞-單詞、單詞-文檔以及文檔-文檔之間語義關係,解決包括「異詞同義」和「一詞多義」在內的諸多挑戰。

2) 歧義值分解(Singular Value Decomposition, SVD)將一個矩陣分解爲兩個正交矩陣與一個對角矩陣的乘積。
基於矩陣分解的潛在語義分析2
A=QR 【QR分解】
A=UΣVT 【奇異值分解】
其中U和V均爲單位正交陣,即有UUT=I和VVT=I,U稱爲左奇異矩陣,V稱爲右奇異矩陣,Σ僅在主對角線上有值,咱們稱它爲奇異值,其它元素均爲0。

3) 選取(E中主對角線上數排序,奇異值)最大的前兩個特徵根及其對應的特徵向量對矩陣A進行重建。

因爲𝐴2是從最大兩個特徵根及其對應特徵向量重建獲得,所以𝐴2與𝐴不是徹底同樣的,二者存在必定的偏差。
𝐴2捕得到到了原始單詞-文檔矩陣𝐴中所蘊含的單詞與單詞之間的關聯關係
若是兩個單詞在原始單詞-文檔矩陣𝐴中分佈一致,則其在重建矩陣𝐴2中分佈也可能一致的,如editing和syndrome。
對於歸屬於同一類別文檔的單詞,能夠發現它們之間的值彼此接近,而與不是歸屬於同一個類別中的單詞不類似, 如minimization在機器學習類別文檔中均爲正數、其在基因編輯類別文檔中幾乎爲負數。

將每一個單詞映射到維度爲𝑹的隱性空間、將每一個文檔映射到維度爲𝑹的隱性空間:統一空間,隱性空間可視爲「主題空間(topic)」。

c.線性區別分析及分類

線性區別分析(linear discriminant analysis, LDA)是一種基於監督學習的降維方法,也稱爲Fisher線性區別分析(Fisher's Discriminant analysis,FDA)。
對於一組具備標籤信息的高維數據樣本,LDA利用其類別信息,將其線性投影到一個低維空間上,在低維空間中同一類別樣本儘量靠近,不一樣類別樣本儘量彼此遠離。
投影方向優化分析3

主成分分析(PCA)是一種無監督學習的降維方法(無需樣本類別標籤),線性區別分析(LDA)是一種監督學習的降維方法(須要樣本類別標籤。PCA和LDA均是優化尋找必定特徵向量𝐰來實現降維,其中PCA尋找投影后數據之間方差最大的投影方向、LDA尋找「類內方差小、類間距離大」投影方向。

PCA對高維數據降維後的維數是與原始數據特徵維度相關(與數據類別標籤無關)。假設原始數據維度爲 d,那麼PCA所得數據的降維維度能夠爲小於d的任意維度。LDA降維後所獲得維度是與數據樣本的類別個數K有關(與數據自己維度無關)。假設原始數據一共有K個類別,那麼LDA所得數據的降維維度小於或等於K − 1。

五、深度學習

neural 神經的
feedforward 前饋,正反饋
魯棒性:Robustness 健壯性,耐操性

a.前饋神經網絡(feedforward neural network)

  • 淺層學習 Versus 深度學習:從分段學習到端到端學習

深度學習所得模型可視爲一個複雜函數,非線性變換與映射的過程:像素點→語義。

  • 刻畫神經元功能的數學模型
神經元是深度學習模型中基本單位,能夠以下刻畫神經元功能:
1. 對相鄰前向神經元輸入信息進行加權累加:𝐼𝑛 = 𝑤𝑖 ∗ 𝑎𝑖 𝑛𝑖=1
2. 對累加結果進行非線性變換(經過激活函數):𝑔 𝑥
3. 神經元的輸出:𝑂𝑢𝑡 = 𝑔(𝐼𝑛)
神經元越多、非線性映射越複雜

對輸入信息進行非線性變換
經常使用的激活函數
各個神經元接受前一級的輸入,並輸出到下一級,模型中沒有反饋;層與層之間經過「全鏈接」進行連接,即兩個相鄰層之間的神經元徹底成對鏈接,但層內的神經元不相互鏈接【前1-->後all】。
前饋神經網絡

  • 感知機網絡(Perceptron Networks)

是一種特殊的前饋神經網絡:無隱藏層,只有輸入層/輸出層;沒法擬合複雜的數據。

  • 優化網絡參數
從標註數據出發,優化模型參數
1. 標註數據:(𝑥𝑖, 𝑦𝑖)(1 ≤ 𝑖 ≤ 𝑁) 
2. 評分函數(scoring function) 將輸入數據映射爲類別置信度大小:s=𝑓(𝑥)= 𝑊𝜑(𝑥)
3. 損失函數來估量模型預測值與真實值之間的差距。損失函數給出的差距越小,則模型健壯性就越好。
經常使用的損失函數有softmax或者SVM。

使得損失函數最小化的方法:梯度降低 ( Gradient Descent)算法;
輸出層偏差反向傳播給隱藏層進行參數更新的方法:偏差反向傳播 (error back propagation, BP),計算過程:

前向傳播【正向】
反向傳播:梯度計算
反向傳播:參數更新
參數初始化
前向傳播
反向傳播【修正】
梯度計算
參數更新

b.卷積神經網絡(convolution neural network, CNN)

  • 卷積操做

有一張32*3*3(RGB)的圖像,使用5*5*3的卷積核𝑊1,步長爲1對其進行卷積操做。卷積核𝑊1在原始圖像上從左到右、從上到下進行計算,改變5*5子塊區域中的中心像素點值,獲得28*28的特徵圖𝑚1;使用另外一個5*5*3的卷積核𝑊2與原始圖像作卷積操做,獲得特徵圖𝑚2; 使用6個5*5*3的卷積核與原始圖像作卷積操做,則獲得6個28*28的特徵圖。注意: 6個5*5*3的卷積核均是數據驅動學習獲得,其刻畫了不一樣的視覺模式。
卷積+激活函數(非線性映射):在對原始圖像作卷積操做後,可以使用ReLu激活函數對卷積後結果進行處理

原始圖像 32*32
    6個 5*5*3卷積核
6個 28*28特徵圖    
    10個 5*5*6卷積核
10個 24*24特徵圖
  • 池化(pooling)操做

對輸入的特徵圖進行下采樣,以得到最主要信息,經常使用的池化操做有:最大池化(在輸入特徵圖中每個區域尋找最大值)、平均池化(對輸入特徵圖的每個區域的值求平均值、取整)。

卷積神經網絡基本架構

[圖像]輸入

卷積
Relu
卷積
Relu
池化

卷積
Relu
卷積
Relu
池化

卷積
Relu
卷積
Relu
池化

全鏈接層[特徵圖轉換成向量]
分類層[輸出識別分類的置信度值]

所需學習參數:卷積核、全鏈接層權重、激活函數參數
體現了數據、模型和算力的結合

c.天然語言理解與視覺分析

  • 學習單詞的表達-----詞向量(Word2Vec)

One-hot向量:在基於規則和統計的天然語言傳統方法中,將單詞視爲獨立符號;在向量空間中,一個單詞按照其在文檔中出現的有無,被表示爲以下向量(按照字典序):[0, 0, 0, 1, 0, 0, … , 0, 0, 0, 0]。單詞之間的關聯丟失。

經過深度學習方法,將單詞表徵爲K維實數值向量(distribution representation)。這樣,把對文本內容分析簡化爲 K 維向量空間中的向量運算,而向量空間上的類似度能夠用來表示文本語義上的類似。用深度學習算法生成每一個單詞的向量表達全部單詞的向量表達組成了一個「詞向量空間」。單詞表達爲詞向量後,不少 NLP 相關工做(如聚類、同義詞計算、主題挖掘等)能夠順利開展。

詞向量(通常爲100-200維)。詞向量模型的訓練,關鍵詞:對數似然函數;Continue Bag-of-Words (CBoW): 根據某個單詞的上下文單詞來預測該單詞,Skip-gram:利用某個單詞來分別預測該單詞的上下文單詞。
詞向量模型的基本思想
詞向量模型由一層輸入層,一層隱藏層,一層輸出層構成:實現了每一個單詞𝑁維向量的表達。

  • Word2Vec的改進算法
對一個包含10000個單詞的語料庫,每一個單詞的詞向量設爲200維,則須要200*10000(2000000)和10000*200(2000000)異常龐大的權重矩陣
在如此大神經網絡上進行梯度降低耗時
爲了解決這個不足,後續出現了以下改進手段:
• Hierarchical Softmax (引入霍夫曼樹) 
• Negative Sampling
基於詞向量的操做:單詞類比,𝑘𝑖𝑛𝑔 − 𝑚𝑎𝑛 + 𝑤𝑜𝑚𝑎𝑛 = 𝑞𝑢𝑒𝑒

卷積神經網絡應用:圖像分類與定位

  • 學習算法的改造:從淺層模型到深層模型
淺層模型                 深層模型
Language model             Neural language model
Bayesian Learning         Bayesian deep learning
Turing Machine             Neural Turing Machine
Reinforcement Learning     Deep Reinforcement Learning
Generative Model         Deep Generative Model
X                         Deep or Neural + X

六、強化學習

a.定義:在與環境交互之中進行學習

機器學習的不一樣類型
有監督學習:分類問題,從數據𝑋和標籤𝑦中學習映射𝑓: 𝑋 ↦ y
無監督學習:聚類問題,尋找數據𝑋中存在的結構和模式

強化學習的特色
強化學習的應用:機器人運動: learning to learn;天然語言理解;

  • 離散馬爾可夫過程(Discrete Markov Process)

馬爾可夫鏈(Markov Chain):知足馬爾可夫性(Markov Property 在給定如今狀態時,它與過去狀態(即該過程的歷史路徑)是條件獨立的)的離散隨機過程(變量隨機、時間離散),也被稱爲離散馬爾科夫過程。

引入獎勵:先苦後甜,先甜後苦,折扣係數/衰退係數𝛾小於1時,越是遙遠的將來對累加反饋的貢獻越少。
引入動做。

在機器人移動問題

1. 隨機變量序列 𝑆𝑡 𝑡=0,1,2,⋯:𝑆𝑡表示機器人第𝑡步所在位置(即狀態),每一個隨機變量𝑆𝑡的取值範圍爲𝑆 = {𝑠1, 𝑠2, ⋯ , 𝑠9, 𝑠𝑑}
2. 動做集合:𝐴 = {上,右}
3. 狀態轉移機率𝑃𝑟(𝑆𝑡+1|𝑆𝑡, 𝑎𝑡):知足馬爾可夫性,其中𝑎𝑡 ∈ 𝐴。
4. 獎勵函數:𝑅(𝑆𝑡, 𝑎𝑡, 𝑆𝑡+1)
5. 衰退係數:𝛾 ∈ [0, 1]
馬爾科夫決策刻畫:
    𝑀𝐷𝑃 = {𝑆, 𝐴, 𝑃𝑟, 𝑅, 𝛾}

在機器人移動問題中:狀態、行爲、衰退係數、起始/終止狀態、反饋、狀態轉移機率矩陣
機器人移動問題

策略學習,價值函數與動做-價值函數的關係:對策略進行評估;貝爾曼方程(Bellman Equation):刻畫了價值函數和行動-價值函數自身以及二者相互之間的遞推關係,利用貝爾曼方程進行策略評估,進而進行策略優化。

b.策略優化與策略評估

強化學習的求解方法
• 基於價值(Value-based)的方法
對價值函數進行建模和估計,以此爲依據制訂策略
• 基於策略(Policy-based)的方法
對策略函數直接進行建模和估計,優化策略函數使反饋最大化
• 基於模型(Model-based)的方法
對環境的運做機制建模,而後進行規劃(planning)等
  • 價值的求解方法

第一部分:策略優化(Policy Improvement),第二部分:策略評估(Policy Evaluation)
如基於動態規劃的價值函數更新:使用迭代的方法求解貝爾曼方程組。

經過迭代計算貝爾曼方程進行策略評估
• 動態規劃,
缺點:1) 智能主體須要事先知道狀態轉移機率;2) 沒法處理狀態集合大小無限的狀況。
• 蒙特卡洛採樣
優勢:1) 智能主體沒必要知道狀態轉移機率;2) 容易擴展到無限狀態集合的問題中。
缺點:1) 狀態集合比較大時,一個狀態在軌跡可能很是稀疏,不利於估計指望;2) 在實際問題中,最終反饋須要在終止狀態才能知曉,致使反饋週期較長。
• 時序差分(Temporal Difference)

c.求解:Q-Learning

第一部分和第二部分結合:策略優化與策略評估結合,基於時序差分的方法 – Q學習(Q-Learning)[ Q: quality ]

基於價值的方法 – Q學習

策略學習中探索(exploration)與利用(exploitation)的平衡

探索與利用之間如何取得平衡
• 只利用而不探索
• 只探索而不利用(則訓練過程徹底沒有意義 ) 
• 大致上利用,偶爾探索

將動做採樣從「肯定地選取最優動做」改成「按照𝜖貪心策略選取動做」;更新時仍保持用max操做選取最佳策略。像這樣更新時的目標策略與採樣策略不一樣的方法,叫作離策略(off-policy)方法。

d.學習:深度學習+強化學習

用神經網絡擬合(行動)價值函數
若是用深度神經網絡來擬合𝑞函數,則算法稱爲深度Q學習:

兩個不穩定因素
1. 相鄰的樣原本自同一條軌跡,樣本之間相關性太強,集中優化相關性強的樣本可能致使神經網絡在其餘樣本上效果降低。
2. 在損失函數中,𝑞函數的值既用來估計目標值,又用來計算當前值。如今這兩處的𝑞函數經過𝜃有所關聯,可能致使優化時不穩定。

經驗重現(Experience Replay)

相鄰的樣原本自同一條軌跡,樣本之間相關性太強,集中優化相關性強的樣本可能
致使神經網絡在其餘樣本上效果降低。
將過去的經驗存儲下來,每次將新的樣本加入到存儲中去,並從存儲中採樣一批樣本進行優化
• 解決了樣本相關性強的問題
• 重用經驗,提升了信息利用的效率

目標網絡(Target Network)

損失函數的兩個𝑞函數使用不一樣的參數計算
• 用於計算估計值的𝑞使用參數𝜃−計算,這個網絡叫作目標網絡
• 用於計算當前值的𝑞使用參數𝜃計算
• 保持𝜃−的值相對穩定,例如𝜃每更新屢次後才同步二者的值 𝜃− ← 𝜃

七、人工智能博弈與安全

a.概念、算法

田忌賽馬;
研究範式:兩害相權取其輕,兩利相權取其重;
要素:玩家(player),策略(strategy),收益(payoff),規則(rule)
囚徒困境:在囚徒困境中,最優解爲兩人同時沉默,可是兩人實際傾向於選擇同時認罪(均衡解)
博弈的分類:合做博弈與非合做博弈,靜態博弈與動態博弈,徹底信息博弈與不徹底信息博弈
博弈的穩定局勢即爲 納什均衡

遺憾最小化算法是一種根據過去博弈中的遺憾程度來決定未來動做選擇的方法;若是不能遍歷計算全部節點的遺憾值,那麼能夠採用虛擬遺憾最小化算法來進行模擬計算。
博弈規則的設計

問題描述
• 假設博弈的參與者都是足夠理性的
• 如何設計一個博弈規則能確保公正性或者達到設計者的最大利益
挑戰
• 規則複雜
• 計算量大
應用領域
• 拍賣競價:互聯網廣告投放、車牌競價
• 供需匹配:污染權、學校錄取
• 公正選舉:選舉制度、表決制度、議席分配
  • G-S算法(Gale-Shapley):穩定婚姻問題
  • 最大交易圈算法(Top-Trading Cycle algorithm):室友匹配問題

b.人工智能安全

1) 加密技術:有安全哈希算法(Secure Hash Algorithm, SHA)和高級加密標準(Advanced Encryption Standard, AES)。
2) 使用神經網絡的加密算法:2016年穀歌大腦的研究團隊提出了使用對抗生成網絡生成的一個加密算法,其使用了三個神經網絡分別完成加密、解密和攻擊的工做,以保證通訊雙方信息的無損傳輸以及第三方沒法破譯通訊內容。
3) 數字水印:將特定信息(版權信息等)嵌入在數字信號中

近年來經過神經網絡來添加水印和提取水印信息的成爲學術研究熱點。

4) 數據安全與模型安全:對模型的攻擊(對抗樣本)、白盒攻擊(圖片識別:女性樣本改參數識別爲男性,應對:生成對抗網絡),黑盒攻擊(無針對攻擊 Non-Targeted Attack、有針對攻擊 Targeted Attack)

總結

  • 樣本關係

高維歐氏距離小【K均值聚類】 ==形容==> 數據的特徵與目標模型的關聯度緊密

  • 特徵降維

多樣本映射偏離性最大【主成分分析】 ==形容==> 映射矩陣下,保留最多特徵

特徵根

就是提取到的全部標化後原始變量的變異(方差)的總和,
理解1:線性遞推數列:能夠經過的通項公式來理解,多階即多個通項變量;
理解2:高階常係數線性微分方程:因變狀況是通項變量的高階導數存在,即有通項變量參照求導階數是指數級變量,特徵方程是通變量的線性約束條件;
理解3:方陣Ann的特徵向量、特徵根:~一維方向-長度映射 Avi=λivi,對稱陣、實矩陣v兩兩正交;

  • 文檔語義分析

歧義值分解(SVD)、QR分解(QQt=I、Q是標準正交矩陣,R右上三角矩陣)
SVD(奇異值分解)Python實現

A=UΣVT (m*n: m*m.m*n.n*n)
AAT=UΣVT VΣTUT=U(ΣΣT)UT = U(Σ2)UT 
//矩陣AAT特徵值分解,獲得的特徵矩陣即爲U,ΣΣT(對角線的特徵值開方,能夠獲得全部的奇異值)
ATA=VΣTUT UΣVT=V(ΣTΣ)VT = V(Σ2)VT 
//矩陣AAT特徵值分解,V,ΣTΣ
其中U和V均爲單位正交陣,即有UUT=I和VVT=I,Σ僅在主對角線上有值(m*n)

降維的過程就是捨棄不重要的特徵向量的過程
重建以後與原圖對比:均方偏差MSE隨奇異值的增長(從大到小排序,其他取0)而減小

卷積神經網絡

卷積層:功能是對輸入數據進行特徵提取,使用卷積核|模板(卷積核大小、步長和填充),與原圖像數據作了點積操做,兩個向量相應位置相乘而後求和。點積的物理意義是兩個向量之間的類似度。若是卷積結果越大,說明圖像中的某位置和卷積模板相似,若是卷積結果小,說明圖像中某位置和卷積模板的類似度很小。ReLU:一般使用線性整流函數(Rectified Linear Unit, ReLU),使得輸出(輸入爲線性函數,一級多項式,線性函數的組合解決的問題太有限了)更加複雜,提升表達能力。池化:即取區域平均或最大,特徵維數減小,訓練參數減小,泛化能力增強,進而防止過擬合。

相關文章
相關標籤/搜索