1. 程式人生 > >Dongdong Bai's Blogs

Dongdong Bai's Blogs

寫在前面:
Normalization:是指歸一化,比如將資料集各個特徵變換到0均值,單位方差的方法就是一種歸一化
Regularization:是指正則化,一般用在損失函式中,防止出現過擬合

一、機器學習

1.1、機器學習演算法

PCA 與SVD

最大方差理論
訊號處理中認為訊號具有較大的方差,噪聲有較小的方差,信噪比就是訊號與噪聲的方差比,越大越好。因此我們認為,最好的 k 為特徵既是將 n 維樣本點轉換為 k 維後,每一維上的樣本方差都很大

降維當然意味著資訊的丟失,不過鑑於實際資料本身常常存在的相關性,我們可以想辦法在降維的同時將資訊的損失儘量降低。
舉個例子,假如某學籍資料有兩列M和F,其中M列的取值是如何此學生為男性取值1,為女性取值0;而F列是學生為女性取值1,男性取值0。此時如果我們統計全部學籍資料,會發現對於任何一條記錄來說,當M為1時F必定為0,反之當M為0時F必定為1。在這種情況下,我們將M或F去掉實際上沒有任何資訊的損失,因為只要保留一列就可以完全還原另一列。
當然上面是一個極端的情況,在現實中也許不會出現,不過類似的情況還是很常見的。例如上面淘寶店鋪的資料,從經驗我們可以知道,“瀏覽量”和“訪客數”往往具有較強的相關關係,而“下單數”和“成交數”也具有較強的相關關係。這裡我們非正式的使用“相關關係”這個詞,可以直觀理解為“當某一天這個店鋪的瀏覽量較高(或較低)時,我們應該很大程度上認為這天的訪客數也較高(或較低)”。後面的章節中我們會給出相關性的嚴格數學定義。
這種情況表明,如果我們刪除瀏覽量或訪客數其中一個指標,我們應該期待並不會丟失太多資訊。因此我們可以刪除一個,以降低機器學習演算法的複雜度。

白化(whitening)

SVM

Normalization(標準化)的原因、方法和作用詳解

K-Means 與 K-Medoids

GMM(高斯混合模型)與EM(Expectation-Maximization)演算法

統計學習的模型有兩種,一種是概率模型,一種是非概率模型。
所謂概率模型,是指訓練模型的形式是P(Y|X)。輸入是X,輸出是Y,訓練後模型得到的輸出不是一個具體的值,而是一系列的概率值(對應於分類問題來說,就是輸入X對應於各個不同Y(類)的概率),然後我們選取概率最大的那個類作為判決物件(軟分類–soft assignment)。所謂非概率模型,是指訓練模型是一個決策函式Y=f(X),輸入資料X是多少就可以投影得到唯一的Y,即判決結果(硬分類–hard assignment)。
所謂混合高斯模型(GMM)就是指對樣本的概率密度分佈進行估計,而估計採用的模型(訓練模型)是幾個高斯模型的加權和(具體是幾個要在模型訓練前建立好)。每個高斯模型就代表了一個類(一個Cluster)。對樣本中的資料分別在幾個高斯模型上投影,就會分別得到在各個類上的概率。然後我們可以選取概率最大的類所為判決結果。
從中心極限定理的角度上看,把混合模型假設為高斯的是比較合理的,當然,也可以根據實際資料定義成任何分佈的Mixture Model,不過定義為高斯的在計算上有一些方便之處,另外,理論上可以通過增加Model的個數,用GMM近似任何概率分佈。

注意:GMM假設各個高斯函式的變數的各個維度是相互獨立的,比如說對於SIFT特徵(128維),GMM要求這128維每個維度都是相互獨立的。也就說GMM除了要求各個高斯函式相互獨立外,還假設每個高斯函式的變數的各個維度之間之間是相互獨立的。也就是說各個高斯函式的協方差矩陣除了對角線外都是零,說以一般認為每個高斯函式的協方差矩陣只有對角線元素幾個變數。這也就是一般在將SIFT特徵輸入到GMM前需要先進行PCA進項降維的原因(去除特徵向量內部的關聯,使它們保持相互獨立)。論文ImageClassification with the Fisher Vector: Theory and Practice中的一個實驗就反應了這一點,一個沒有經過PCA處理的FV的分類效果相對於經過PCA處理的FV要差很多。

判別模型、生成模型與樸素貝葉斯方法

ANN 演算法:

每逢碰到這個ANN的簡稱,小白菜總是想到Artificial Neural Network人工神經網路,不過這裡要展開的ANN並不是Artificial Neural Network,而是已被小白菜之前寫過很多次的Approximate Nearest Neighbor搜尋。雖然讀書的那會兒,這一塊的工作專注得比較多,比如雜湊,也整理過一個像模像樣的工具包hashing-baseline-for-image-retrieval,以及包括KD樹、PQ乘積量化等近似最近鄰搜尋,但這些東西放在今天小白菜的知識體系裡來看,依然自以為還非常的散亂。所以借再次有專研的機會之際,再做一次整理,完善自己在索引這方面的知識體系。

在具體到不同類的索引方法分類前,小白菜以為,從巨集觀上對ANN有下面的認知顯得很有必要:brute-force搜尋的方式是在全空間進行搜尋,為了加快查詢的速度,幾乎所有的ANN方法都是通過對全空間分割,將其分割成很多小的子空間,在搜尋的時候,通過某種方式,快速鎖定在某一(幾)子空間,然後在該(幾個)子空間裡做遍歷。可以看到,正是因為縮減了遍歷的空間大小範圍,從而使得ANN能夠處理大規模資料的索引。

根據小白菜現有的對ANN的掌握,可以將ANN的方法分為三大類:基於樹的方法、雜湊方法、向量量化方法。這三種方法裡面,著重總結典型方法,其中由以雜湊方法、向量量化方法為主。

基於樹的方法

KD樹是其下的經典演算法。一般而言,在空間維度比較低時,KD樹的查詢效能還是比較高效的;但當空間維度較高時,該方法會退化為暴力列舉,效能較差,這時一般會採用下面的雜湊方法或者向量量化方法。

基於雜湊的方法

LSH(Locality-Sensitive Hashing)是其下的代表演算法。文獻[7]是一篇非常好的LSH入門資料。 對於小資料集和中規模的資料集(幾個million-幾十個million),基於LSH的方法的效果和效能都還不錯。這方面有2個開源工具FALCONN和NMSLIB。

向量量化(Vector Quantization)的方法

在向量量化編碼中,關鍵是碼本的建立和碼字搜尋演算法。比如常見的聚類演算法,就是一種向量量化方法。而在相似搜尋中,向量量化方法又以PQ(Product Quantization)方法最為典型。

對於大規模資料集(幾百個million以上),基於向量量化的方法是一個明智的選擇,可以用用Faiss開源工具。

Product Quantization(乘積量化的方法)

影象檢索的幾種常用編碼方法:

BoW (Bag of visual word)、VLAD (Aggregating local descriptors)以及FV (Fisher Vector)是三種非常經典的將區域性特徵表示成全域性特徵的編碼方法,在影象檢索領域,這影象檢索領域,這三種編碼方法是必須面對的三名劍客。下面是小白菜結合自己的理解,對這三種編碼方法的原理和一些實踐經驗的總結。
* http://yongyuan.name/blog/CBIR-BoF-VLAD-FV.html

BOW (Bag of visual word):

VLAD (Aggregating local descriptors)

FV (Fisher Vector)

CNN(Convolutional Neural Network)

ImageNet和 ILSVRC比賽

OverFeat網路

獨立成分分析 ( ICA ) 與主成分分析 ( PCA ) 的區別和聯絡

一天搞懂深度學習-學習心得

Fine-tuning教程

1.2、影象處理

高斯濾波

SIFT特徵

1.3、影象檢索

影象檢索綜述

1.4、機器學習資料收集

大融合

機器學習各種資料集

與機器學習相關的會議及期刊截稿時間

深度學習課程

1、 吳恩達deeplearning.ai出品的deep learning課程聽課有感

2、深度學習名校課程大全

3、 2017年8月都柏林城市大學深度學習研討會

4、臺灣大學 李巨集毅老師深度學習和機器學習課程(2017年秋持續更新中)

1.5、機器學習框架學習

Digits安裝和使用教程

二、Python

python的官方教程和翻譯

pyc的作用

python的執行順序和”if name == ‘main‘:”的功能

python引入模組時import與from … import的區別

  • http://www.cnblogs.com/xxoome/p/5880693.html
    在python用import或者from…import來匯入相應的模組。模組其實就是一些函式和類的集合檔案,它能實現一些相應的功能,當我們需要使用這些功能的時候,直接把相應的模組匯入到我們的程式中,我們就可以使用了。這類似於C語言中的include標頭檔案,Python中我們用import匯入我們需要的模組。
  • http://blog.csdn.net/windone0109/article/details/8996184
    在python用import或者from…import來匯入相應的模組。模組其實就是一些函式和類的集合檔案,它能實現一些相應的功能,當我們需要使用這些功能的時候,直接把相應的模組匯入到我們的程式中,我們就可以使用了。這類似於C語言中的include標頭檔案,Python中我們用import匯入我們需要的模組。

Python Import機制-模組搜尋路徑(sys.path)、巢狀Import、package Import

python中包和模組的區別

python的類的定義:

三、工作環境配置

OpenCV的配置(關於完善CSDN部落格中OpenCV配置的內容)

Ubuntu配置VNC

Zotero使用教程

Zotero及Docear聯合使用

諸多文獻管理軟體的優劣比較如何?你有哪些使用心得? - 研之成理的回答 - 知乎

論文寫作和文獻管理工具使用相關系列教程

四、英語學習

6個月掌握流利的外語學習方法

相關推薦

Dongdong Bai's Blogs】研究方向:計算機視覺、SLAM、深度學習、機器學習等

Dongdong Bai 2013年9月至今在國防科技大學計算機學院攻讀博士學位,師從天河一號超級計算機總設計師楊學軍院士。我目前研究方向是將深度學習技術融入到機器人和自動駕駛汽車中。研究興趣主要包括CNN、計算機視覺、SLAM和機器學習等。我目前在騰訊 AI Lab 作基礎研究

Dongdong Bai's Blogs

寫在前面: Normalization:是指歸一化,比如將資料集各個特徵變換到0均值,單位方差的方法就是一種歸一化 Regularization:是指正則化,一般用在損失函式中,防止出現過擬合 一、機器學習 1.1、機器學習演算法 P

Acettest's Blogs

Parallel的靜態For,ForEach和Invoke方法 Parallel是對Task的封裝,目的是簡化一些常見的程式設計情形中任務Task的使用,它內部使用Task。 以上三者的程式設計情形: Parallel.For(0,1000,i=>DoWo

deropty's blogs

        2014年11月7日,今天上午剛看到《火影忍者》完結了,從07年到現在,自己追這部漫畫已經有7年了!每週的等候,從未間斷,希望自己在計算機的道路上也一直這樣堅定的走下去。一個過去也意味著一個新的開始,今

Leroyy's Blogs

核心概念:JVM、JDK、JRE、 Java :1995年誕生,sun公司,   java SE 基礎核心,Java EE ,Java ME   開源,跨平臺(不同的系統平臺都可以執行---虛擬機器的支援)(可移植性) JVM :JAVA Virtual Machine  原

jamesgan's blogs

堆記憶體的模型: 新生代的GC 新生代:新生代分為Eden區和Survivor區,分配比例為8:2;而Survivor區又1:1分為from區和to區。這樣分配的理由是,新生代中的物件存活

Ask HN: Books/podcasts/blogs discussing Microsoft's culture change post Nadella?

Over the last few years, I'm quite blown away by the sort of change in MSFT's culture. While Satya Nadella wouldn't be the only factor, it has been under h

CShilin's Personal Blogs

      上圖完整表達了這個女孩決定是否見一個約會物件的策略,其中綠色節點表示判斷條件,橙色節點表示決策結果,箭頭表示在一個判斷條件在不同情況下的決策路徑,圖中紅色箭頭表示了上面例子中女孩的決策過程。       這幅圖基本可以算是一顆決策樹,說它“基本可以算”是因為圖中的判定條件沒有量化,如收入

UVA - 434 Matty's Blocks

mes [0 () block += tty scan 一個 ems 題意:給你正視和側視圖,求最多多少個,最少多少個 思路:貪心的思想。求最少的時候:由於能夠想象著移動,盡量讓兩個視圖的重疊。所以我們統計每一個視圖不同高度的個數。然後計算。至於的話。就是每次拿正視圖的

C/s模式&&B/S模式

http client ref 最大 aid 都是 信息 管理系 電子商務網 C/s模式:是客戶端/服務器(Client/Server)模式,主要指的是傳統的桌面級的應用程序。比如我們經常用的信息管理系統。 C/S 客戶端/服務器 例如QQ,網絡遊戲,需要下載客戶端才能訪

POJ 2488:A Knight's Journey

graph for erp 技術分享 rpe one star void get A Knight‘s Journey Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 29241

Hoeffding's inequality

oba cad val ref earch ons fyi them nat Let $\{Y_i: i\in J\}$ be zero mean independent complex-valued random variables satisfying $|Y_i|\l

Xcode 真機調試報錯:This application's application-identifier entitleme

報錯 調試 win cati app itl ati 刪除 allow This application‘s application-identifier entitlement does not match that of the installed applicatio

[UVALive7261]A - Xiongnu's Land (二分)

while continue 大於 並且 輸出結果 net lan include != 題目鏈接:https://vjudge.net/problem/UVALive-7261 題意略 三個步驟: 1.二分滿足左邊綠洲面積大於等於右邊綠洲面積,並且使左邊面積盡可能大的分割

解題報告 之 HDU5288 OO' s Sequence

bold repr frame roman efi int tom relative 記錄 解題報告 之 HDU5288 OO‘ s Sequence Description OO has got a array A of size n ,defined

<轉>How to Encourage Your Child's Interest in Science and Tech

sim challenge table nic options https fun developed advice How to Encourage Your Child‘s Interest in Science and Tech This week’s Ask-A-D

CSU - 1556 Jerry&#39;s trouble(高速冪取模)

click ostream algo printf 高速 ron main 取模 bit 【題目鏈接】:click here 【題目大意】:計算x1^m+x2^m+..xn^m(1<=x1<=n)( 1 <= n < 1 000 000, 1 &

Software Engineering——A PRACTITIONER'S APPROACH (english edition · eighth edition)

sts hose english lin curring orf reference spl sign ARCHITETUAL DESIGN Record at P261 Choosing the right architecture style can be tric

cnpm install -S 與cnpm install -D (dependencies和devDependencies的區別)

ive optional package bsp 後者 pack cti enc date npm install takes 3 exclusive, optional flags which save or update the package version in y

hdu2204Eddy&#39;s愛好

一個 hdu ace 表示 缺失 spa 最大數 void 代碼 大概題意是要你輸出1到n中,可以表示成a^b的數,a,b都是大於0的整數的個數, 當中b大於1。 由於1到n中。可以全然開平方的個數就是(n^0.5)的整數部分。 以此類推能夠得到,全然開立方。全然開四次