1. 程式人生 > >降維演算法(LASSO、PCA、聚類分析、小波分析、線性判別分析、拉普拉斯特徵對映、區域性線性嵌入)

降維演算法(LASSO、PCA、聚類分析、小波分析、線性判別分析、拉普拉斯特徵對映、區域性線性嵌入)

1、LASSO

LASSO全稱least absolute shrinkage and selection operator,本身是一種迴歸方法。與常規迴歸方法不同的是,LASSO可以對通過引數縮減對引數進行選擇,從而達到降維的目的。說到LASSO,就不得不說嶺迴歸,因為LASSO就是針對嶺迴歸不能做引數選擇的問題提出來的。關於嶺迴歸的解釋,可以參照我的另一篇文章預測數值型資料:迴歸(二),這裡不再贅述。

值得說明的是,嶺迴歸的優化目標函式為minwni=0(yixTiθ)2+λ||θ||2,最後的懲罰項為二範數,隨著λ的增大,引數慢慢縮減,不過無法縮減到0,也就無法達到引數選擇的目的。

LASSO的優化目標函式為m

inwni=0(yixTiθ)2+λ||θ||1,懲罰項為一範數,可以將一些引數逼為0,從而達到引數選擇的目的,換句話說,實現了特徵的降維。引用知乎使用者“威廉姆斯YD”的回答,嶺迴歸與LASSO的懲罰項的區別可以直觀的由下圖表示:
image

不難看出由於一範數規定的範圍四四方方,所以最優解的係數會剛好被縮減為0,因此LASSO可以實現對變數的選擇。

2、主成分分析

關於PCA的解釋,可以參照我的另一篇文章PCA主成分分析,這裡不再贅述。

3、聚類分析

大家所熟知的聚類分析演算法如K-means等是一種面對小資料的無監督學習演算法,可有效解決低維資料空間的聚類問題。然而在處理高維資料和大型資料等情況時,傳統聚類方法往往會失效,這是由於高位資料及中常常存在很多冗餘屬性且資料在高維分佈非常稀疏,距離函式失效。為了解決高維度資料的聚類問題,學術界提出了一種名為高維聚類的演算法,具體分為基於屬性約減(降維)的方法、基於子空間的方法等。其思想大概是通過特徵選擇或者特徵變換等方法將原始資料集從高維空間轉換到低維空間,再利用傳統聚類的思想進行聚類。

4、小波分析

小波分析的實質就是將原始訊號表示為一組小波基的線性組合。我們可以通過忽略其中不重要的部分來達到降維的目的。
這種思想具體可以用傅立葉變換進行類比。傅立葉變換用不同頻率的三角函式的和去擬合原始訊號,對於每個單獨的三角函式,只需要記錄其相位和幅度即可,同時,利用相位和幅度可以完美的重構出原始訊號。另外,由於高頻分量往往是訊號中的噪音,通過去除高頻分量可以達到降維的目的。

5、線性判別分析

6、拉普拉斯特徵對映

7、區域性線性嵌入

關於拉普拉斯特徵對映的解釋,可以參照我的另一篇文章區域性線性嵌入(LLE),這裡不再贅述。

相關推薦

演算法LASSOPCA分析分析線性判別分析拉普拉斯特徵對映區域性線性嵌入

1、LASSO LASSO全稱least absolute shrinkage and selection operator,本身是一種迴歸方法。與常規迴歸方法不同的是,LASSO可以對通過引數縮減對引數進行選擇,從而達到降維的目的。說到LASSO,就不得不說

演算法PCA

降維方法 1、主成分分析(PCA) 在PCA中,資料從原來的座標系轉換到新的座標系,新座標系的選擇是由資料本身決定的。第一個新座標軸選擇的是原始資料中方差最大的方向,第二個新座標軸選擇和第一個座標軸正交且具有最大方差的方向。該過程一直重複,重複次數為原始資料

區域性線性嵌入演算法含實驗程式碼

區域性線性嵌入演算法(Locally linear embedding, LLE)是一個非線性降維方法,由 Sam T.Roweis 和Lawrence K.Saul 於 2000 年提出並發表在《Science》雜誌上。它能夠使降維後的資料保持原有拓撲結構不變。現在已經

CNN autoencoder 先再使用kmeans進行圖像 是不是也可以以後進行iforest處理?

upload fir pixel net created plot addition === speed import keras from keras.datasets import mnist from keras.models import Sequential f

四大機器學習演算法PCALDALLELaplacian Eigenmaps

引言 機器學習領域中所謂的降維就是指採用某種對映方法,將原高維空間中的資料點對映到低維度的空間中。降維的本質是學習一個對映函式 f : x->y,其中x是原始資料點的表達,目前最多使用向量表達形式。 y是資料點對映後的低維向量表達,通常y的維度小於x的維度(當然提

機器學習筆記PCA演算法

1 - PCA概述 主成份分析,簡稱為PCA,是一種非監督學習演算法,經常被用來進行 資料降維 有損資料壓縮 特徵抽取 資料視覺化 2 - PCA原理詳解 通過計算資料矩陣的協方差矩陣,然後得到協方差矩陣的特徵值特徵向量,選擇特

淺談PCA主成分分析線性演算法用法

sklearn.decomposition.PCA(n_components = None, copy = True, whiten = False) n_components表示需要保留的主成分個數,即需要降低到幾維;若n_components=1,則表

PCA主成分分析 演算法詳解 和程式碼

1. 前言  PCA : principal component analysis ( 主成分分析) 最近發現我的一篇關於PCA演算法總結以及個人理解的部落格的訪問量比較高, 剛好目前又重新學習了一下PCA (主成分分析) 降維演算法, 所以打算把目前掌握的做個全面的

一步步教你輕鬆學主成分分析PCA演算法

(白寧超 2018年10月22日10:14:18) 摘要:主成分分析(英語:Principal components analysis,PCA)是一種分析、簡化資料集的技術。主成分分析經常用於減少資料集的維數,同時保持資料集中的對方差貢獻最大的特徵。常常應用在文字處理、人臉識別、圖片識別、自然語言處

演算法實踐——層次K-means

因為百度雲的文章裡面有些圖片丟失了,想起這篇東西之前被一箇中國統計網轉發過,所以自己搜了一下想直接把圖搞回來,結果發現到處轉載的也有不少,自己現在發倒好像是抄襲似的。其實這篇文章裡面特別有價值的東西不算太多,PCCA算是一個知道的人不多而且也挺有意義的演算法,譜

PCA演算法總結以及matlab實現PCA(個人的一點理解)

轉載請宣告出處。by watkins song 兩篇文章各有側重, 對照看效果更加 o(∩∩)o.. PCA的一些基本資料 最近因為最人臉表情識別,提取的gabor特徵太多了,所以需要用PCA進行對提取的特徵進行降維。 本來最早的時候我沒有打算對提取的gabor特徵

用於線性判別分析LDA演算法

LDA降維演算法分為簡單兩類情況和多類通用情況只有兩類樣本的簡單情況:輸入:兩類樣本特徵目的:將兩類樣本的特徵投影至同類距離小,異類距離大的低維空間上,使得資料量減少的同時不損失分類資訊步驟:1,計算兩類樣本的均值u0和u1,協方差矩陣sigma0,sigma12,假設投影空

PCA 演算法詳解 以及程式碼示例

%% Initialization clear ; close all; clc fprintf('this code will load 12 images and do PCA for each face.\n'); fprintf('10 images are used to train PCA an

演算法--PCA 與 t-SNE

PCA是大家所熟知的降維演算法,但是線性降維雖然簡單,其侷限性也很明顯,難以實現高維資料在低維空間的視覺化。t-SNE是非線性的降維演算法,能實現高維到低維的視覺化對映,但因為涉及大量的條件概率、梯度下降等計算,時間和空間複雜度是平方級的,比較耗資源。t-SNE幾乎可用於所有

機器學習:演算法-主成分分析PCA演算法兩種角度的推導

若把高維空間的樣本點(可以想象是一個3維的)對映到一個超平面,怎樣的超平面可以認為是“好的”,可以想到這個超平面大概有這樣的性質: 最近重構行:樣本點到超平面的距離都足夠近;(樣本點變化儘可能小,丟失的資訊儘可能少) 最大可分性:樣本點在這個超平面上的投影儘可能分開.(樣

算法中的PCA方法

主成分分析 數據分析 1 主成分分析(Principal Component Analysis,PCA) 2 線性判別分析(Linear Discriminant Analysis, LDA)研究背景基本知識介紹經典方法介紹總結討論問題的提出 地理系統是多要素的復雜系統。在地理學研究中,多變量問題是經

MARK:簡述多種演算法

最近看了一些關於降維演算法的東西,本文首先給出了七種演算法的一個資訊表,歸納了關於每個演算法可以調節的(超)引數、演算法主要目的等等,然後介紹了降維的一些基本概念,包括降維是什麼、為什麼要降維、降維可以解決維數災難等,然後分析可以從什麼樣的角度來降維,接著整理了這些演算法的具體流程。主要目錄如下:

程式彙總k-means層次神經網路高斯混合

利用不同方法對資料進行聚類,參考至:周志華 機器學習 %% 利用不同方法對債券樣本進行聚類 %說明 %分別採用不同的方法,對資料進行聚類 %kmens可以選擇的pdist/clustering距離 % 'sqeuclidean' 'cityblock

ML-64: 機器學習之線性判別分析(Linear Discriminant Analysis)演算法+程式碼

線性判別分析(Linear Discriminant Analysis)降維演算法 機器學習分為監督學習、無監督學習和半監督學習(強化學習)。無監督學習最常應用的場景是聚類(clustering)和降維(dimension reduction)。聚類演算法包括

一步步教你輕鬆學奇異值分解SVD演算法

摘要:奇異值分解(singular value decomposition)是線性代數中一種重要的矩陣分解,在生物資訊學、訊號處理、金融學、統計學等領域有重要應用,SVD都是提取資訊的強度工具。在機器學習領域,很多應用與奇異值都有關係,比如推薦系統、資料壓縮(以影象壓縮為代表)、搜尋引擎語義層次檢索的