① 常用的機器學習&數據挖掘知識(點)
常用的機器學習&數據挖掘知識(點)
Basis(基礎):MSE(Mean Square Error 均方誤差),
LMS(LeastMean Square 最小均方),
LSM(Least Square Methods 最小二乘法),
MLE(MaximumLikelihood Estimation最大似然估計),
QP(Quadratic Programming 二次規劃),
CP(Conditional Probability條件概率),
JP(Joint Probability 聯合概率),
MP(Marginal Probability邊緣概率),
Bayesian Formula(貝葉斯公式),
L1 /L2Regularization(L1/L2正則,
以及更多的,現在比較火的L2.5正則等),
GD(GradientDescent 梯度下降),
SGD(Stochastic Gradient Descent 隨機梯度下降),
Eigenvalue(特徵值),
Eigenvector(特徵向量),
QR-decomposition(QR分解),
Quantile (分位數),
Covariance(協方差矩陣)。
Common Distribution(常見分布):
Discrete Distribution(離散型分布):
BernoulliDistribution/Binomial(貝努利分布/二項分布),
Negative BinomialDistribution(負二項分布),
MultinomialDistribution(多項式分布),
Geometric Distribution(幾何分布),
HypergeometricDistribution(超幾何分布),
Poisson Distribution (泊松分布)。
Continuous Distribution (連續型分布):
UniformDistribution(均勻分布),
Normal Distribution /Guassian Distribution(正態分布/高斯分布),
ExponentialDistribution(指數分布),
Lognormal Distribution(對數正態分布),
GammaDistribution(Gamma分布),
Beta Distribution(Beta分布),
Dirichlet Distribution(狄利克雷分布),
Rayleigh Distribution(瑞利分布),
Cauchy Distribution(柯西分布),
Weibull Distribution (韋伯分布)。
Three Sampling Distribution(三大抽樣分布):
Chi-squarEdistribution(卡方分布),
t-distribution(t-distribution),
F-distribution(F-分布)。
Data Pre-processing(數據預處理):
Missing Value Imputation(缺失值填充),
Discretization(離散化),Mapping(映射),
Normalization(歸一化/標准化)。
Sampling(采樣):
Simple Random Sampling(簡單隨機采樣),
OfflineSampling(離線等可能K采樣),
Online Sampling(在線等可能K采樣),
Ratio-based Sampling(等比例隨機采樣),
Acceptance-RejectionSampling(接受-拒絕采樣),
Importance Sampling(重要性采樣),
MCMC(MarkovChain Monte Carlo 馬爾科夫蒙特卡羅采樣演算法:Metropolis-Hasting& Gibbs)。
Clustering(聚類):
K-Means,
K-Mediods,
二分K-Means,
FK-Means,
Canopy,
Spectral-KMeans(譜聚類),
GMM-EM(混合高斯模型-期望最大化演算法解決),
K-Pototypes,CLARANS(基於劃分),
BIRCH(基於層次),
CURE(基於層次),
DBSCAN(基於密度),
CLIQUE(基於密度和基於網格)。
Classification&Regression(分類&回歸):
LR(Linear Regression 線性回歸),
LR(LogisticRegression邏輯回歸),
SR(Softmax Regression 多分類邏輯回歸),
GLM(GeneralizedLinear Model 廣義線性模型),
RR(Ridge Regression 嶺回歸/L2正則最小二乘回歸),
LASSO(Least Absolute Shrinkage andSelectionator Operator L1正則最小二乘回歸),
RF(隨機森林),
DT(DecisionTree決策樹),
GBDT(Gradient BoostingDecision Tree 梯度下降決策樹),
CART(ClassificationAnd Regression Tree 分類回歸樹),
KNN(K-Nearest Neighbor K近鄰),
SVM(Support VectorMachine),
KF(KernelFunction 核函數PolynomialKernel Function 多項式核函、
Guassian KernelFunction 高斯核函數/Radial BasisFunction RBF徑向基函數、
String KernelFunction 字元串核函數)、
NB(Naive Bayes 樸素貝葉斯),BN(Bayesian Network/Bayesian Belief Network/ Belief Network 貝葉斯網路/貝葉斯信度網路/信念網路),
LDA(Linear Discriminant Analysis/FisherLinear Discriminant 線性判別分析/Fisher線性判別),
EL(Ensemble Learning集成學習Boosting,Bagging,Stacking),
AdaBoost(Adaptive Boosting 自適應增強),
MEM(MaximumEntropy Model最大熵模型)。
Effectiveness Evaluation(分類效果評估):
Confusion Matrix(混淆矩陣),
Precision(精確度),Recall(召回率),
Accuracy(准確率),F-score(F得分),
ROC Curve(ROC曲線),AUC(AUC面積),
LiftCurve(Lift曲線) ,KS Curve(KS曲線)。
PGM(Probabilistic Graphical Models概率圖模型):
BN(Bayesian Network/Bayesian Belief Network/ BeliefNetwork 貝葉斯網路/貝葉斯信度網路/信念網路),
MC(Markov Chain 馬爾科夫鏈),
HMM(HiddenMarkov Model 馬爾科夫模型),
MEMM(Maximum Entropy Markov Model 最大熵馬爾科夫模型),
CRF(ConditionalRandom Field 條件隨機場),
MRF(MarkovRandom Field 馬爾科夫隨機場)。
NN(Neural Network神經網路):
ANN(Artificial Neural Network 人工神經網路),
BP(Error BackPropagation 誤差反向傳播)。
Deep Learning(深度學習):
Auto-encoder(自動編碼器),
SAE(Stacked Auto-encoders堆疊自動編碼器,
Sparse Auto-encoders稀疏自動編碼器、
Denoising Auto-encoders去噪自動編碼器、
Contractive Auto-encoders 收縮自動編碼器),
RBM(RestrictedBoltzmann Machine 受限玻爾茲曼機),
DBN(Deep Belief Network 深度信念網路),
CNN(ConvolutionalNeural Network 卷積神經網路),
Word2Vec(詞向量學習模型)。
DimensionalityRection(降維):
LDA LinearDiscriminant Analysis/Fisher Linear Discriminant 線性判別分析/Fisher線性判別,
PCA(Principal Component Analysis 主成分分析),
ICA(IndependentComponent Analysis 獨立成分分析),
SVD(Singular Value Decomposition 奇異值分解),
FA(FactorAnalysis 因子分析法)。
Text Mining(文本挖掘):
VSM(Vector Space Model向量空間模型),
Word2Vec(詞向量學習模型),
TF(Term Frequency詞頻),
TF-IDF(Term Frequency-Inverse DocumentFrequency 詞頻-逆向文檔頻率),
MI(MutualInformation 互信息),
ECE(Expected Cross Entropy 期望交叉熵),
QEMI(二次信息熵),
IG(InformationGain 信息增益),
IGR(Information Gain Ratio 信息增益率),
Gini(基尼系數),
x2 Statistic(x2統計量),
TEW(TextEvidence Weight文本證據權),
OR(Odds Ratio 優勢率),
N-Gram Model,
LSA(Latent Semantic Analysis 潛在語義分析),
PLSA(ProbabilisticLatent Semantic Analysis 基於概率的潛在語義分析),
LDA(Latent DirichletAllocation 潛在狄利克雷模型)。
Association Mining(關聯挖掘):
Apriori,
FP-growth(Frequency Pattern Tree Growth 頻繁模式樹生長演算法),
AprioriAll,
Spade。
Recommendation Engine(推薦引擎):
DBR(Demographic-based Recommendation 基於人口統計學的推薦),
CBR(Context-basedRecommendation 基於內容的推薦),
CF(Collaborative Filtering協同過濾),
UCF(User-basedCollaborative Filtering Recommendation 基於用戶的協同過濾推薦),
ICF(Item-basedCollaborative Filtering Recommendation 基於項目的協同過濾推薦)。
Similarity Measure&Distance Measure(相似性與距離度量):
Euclidean Distance(歐式距離),
ManhattanDistance(曼哈頓距離),
Chebyshev Distance(切比雪夫距離),
MinkowskiDistance(閔可夫斯基距離),
Standardized Euclidean Distance(標准化歐氏距離),
MahalanobisDistance(馬氏距離),
Cos(Cosine 餘弦),
HammingDistance/Edit Distance(漢明距離/編輯距離),
JaccardDistance(傑卡德距離),
Correlation Coefficient Distance(相關系數距離),
InformationEntropy(信息熵),
KL(Kullback-Leibler Divergence KL散度/Relative Entropy 相對熵)。
Optimization(最優化):
Non-constrainedOptimization(無約束優化):
Cyclic VariableMethods(變數輪換法),
Pattern Search Methods(模式搜索法),
VariableSimplex Methods(可變單純形法),
Gradient Descent Methods(梯度下降法),
Newton Methods(牛頓法),
Quasi-NewtonMethods(擬牛頓法),
Conjugate Gradient Methods(共軛梯度法)。
ConstrainedOptimization(有約束優化):
Approximation Programming Methods(近似規劃法),
FeasibleDirection Methods(可行方向法),
Penalty Function Methods(罰函數法),
Multiplier Methods(乘子法)。
Heuristic Algorithm(啟發式演算法),
SA(SimulatedAnnealing,
模擬退火演算法),
GA(genetic algorithm遺傳演算法)。
Feature Selection(特徵選擇演算法):
Mutual Information(互信息),
DocumentFrequence(文檔頻率),
Information Gain(信息增益),
Chi-squared Test(卡方檢驗),
Gini(基尼系數)。
Outlier Detection(異常點檢測演算法):
Statistic-based(基於統計),
Distance-based(基於距離),
Density-based(基於密度),
Clustering-based(基於聚類)。
Learning to Rank(基於學習的排序):
Pointwise:McRank;
Pairwise:RankingSVM,RankNet,Frank,RankBoost;
Listwise:AdaRank,SoftRank,LamdaMART。
Tool(工具):
MPI,Hadoop生態圈,Spark,BSP,Weka,Mahout,Scikit-learn,PyBrain…
以及一些具體的業務場景與case等。
② mahout包括哪些演算法
一、分類演算法
(一)Logistic 回歸(SGD)
(二)Bayesian
(三)SVM
(四)Perceptron 和Winnow
(五)神經網路
(六)隨機森林
(七)受限玻爾茲曼機
(八)Boosting
(九)HMM
(十)Online Passive Aggressive
二、聚類演算法
(一)Canopy
(二)K-Means
(三)Fuzzy K-means
(四)EM
(五)Mean shift
(六)層次聚類
(七)Dirichlet process
(八)LDA
(九)Spectral
(十)MinHash
(十一)Top Down
三、推薦演算法
Mahout包括簡單的非並行的推薦和基於Hadoop的並行推薦的實現。
(一)非並行推薦
(二)分布式的基於Item的協同過濾
(三)並行矩陣分解的協同過濾
四、關聯規則挖掘演算法
並行FP-Growth
五、回歸
Locally Weighted Linear Regression
六、降維
(一)SVD
(二)SSVD
(三)PCA
(四)ICA
(五)GDA
七、進化演算法
八、向量相似性計算
③ 利用 SVD 實現協同過濾推薦演算法
奇異值分解(Singular Value Decomposition,以下簡稱SVD)
是在機器學習領域廣泛應用的演算法,它不光可以用於 降維演算法中的特徵分解 ,還可以用於 推薦系統 ,以及自然語言處理等領域。
優點: 簡化數據,去除雜訊,提高演算法的結果。
缺點: 數據的轉換可能難以理解。
應用領域: 推薦引擎(協同過濾、相似度計算)、圖像壓縮等。
SVD定義: 如果我們求出了矩陣A的n個特徵值λ1≤λ2≤...≤λn,以及這n個特徵值所對應的特徵向量{w1,w2,...wn},如果這n個特徵向量線性無關,那麼矩陣A就可以用下式的特徵分解表示:A=WΣW−1,其中W是這n個特徵向量所張成的n×n維矩陣,而Σ為這n個特徵值為主對角線的n×n維矩陣。一般我們會把W的這n個特徵向量標准化,即滿足||wi||2=1, 或者wiTwi=1,此時W的n個特徵向量為標准正交基,滿WTW=I,即WT=W−1, 也就是說W為酉矩陣。要進行特徵分解,矩陣A必須為方陣。那麼如果A不是方陣,則用到SVD。
矩陣A的SVD為:A=UΣVT,其中U是一個m×m的矩陣,Σ是一個m×n的矩陣,除了主對角線上的元素以外全為0,主對角線上的每個元素都稱為奇異值,V是一個n×n的矩陣。U和V都是酉矩陣,即滿足UTU=I,VTV=I。
對於奇異值,它跟我們特徵分解中的特徵值類似,在奇異值矩陣中也是按照從大到小排列,而且奇異值的減少特別的快,在很多情況下,前10%甚至1%的奇異值的和就佔了全部的奇異值之和的99%以上的比例。也就是說,我們也可以用最大的k個的奇異值和對應的左右奇異向量來近似描述矩陣。
因此SVD 也是一種強大的降維工具 ,可以利用 SVD 來逼近矩陣並從中獲得主要的特徵。通過保留矩陣的 80%~90% 的能量,就可以得到重用的特徵並去除雜訊。
推薦系統 是利用電子商務網站向客戶提供商品信息和建議,幫助用戶決定應該購買什麼產品,模擬銷售人員幫助客戶完成購買過程。
主要有以下幾種推薦演算法:
基於內容的推薦(用到自然語言處理), 協同過濾(主流) ,基於規則推薦(基於最多用戶點擊,最多用戶瀏覽等),混合推薦(類似集成演算法,投票決定),基於人口統計信息的推薦(根據用戶基本信息)
協同過濾推薦分為三種類型。 第一種是基於用戶(user-based)的協同過濾(需要在線找用戶和用戶之間的相似度關系),第二種是基於項目(item-based)的協同過濾(基於項目的協同過濾可以離線找物品和物品之間的相似度關系), 第三種是基於模型(model based)的協同過濾(用戶和物品,主流)。
一般在推薦系統中,數據往往是使用 用戶-物品 矩陣來表示的。 用戶對其接觸過的物品進行評分,評分表示了用戶對於物品的喜愛程度,分數越高,表示用戶越喜歡這個物品。而這個矩陣往往是稀疏的,空白項是用戶還未接觸到的物品,推薦系統的任務則是選擇其中的部分物品推薦給用戶。
對於這個 用戶-物品 矩陣,用已有的部分稀疏數據來預測那些空白的物品和數據之間的評分關系,找到最高評分的物品推薦給用戶。
具體基於模型的方法有:
用關聯演算法做協同過濾(Apriori演算法、FP Tree演算法)
用聚類演算法做協同過濾(針對基於用戶或者基於模型,Kmeans,DBSCAN)
用分類演算法做協同過濾(設定評分閾值,高於推薦,低於不推薦,邏輯回歸和樸素貝葉斯,解釋性很強)
用回歸演算法做協同過濾(Ridge回歸,回歸樹)
用矩陣分解做協同過濾(由於傳統的奇異值分解SVD要求矩陣不能有缺失數據,必須是稠密的,而用戶物品評分矩陣是一個典型的稀疏矩陣,主要是SVD的一些變種,比如FunkSVD,BiasSVD和SVD++。這些演算法和傳統SVD的最大區別是不再要求將矩陣分解為UΣVT的形式,而變是兩個低秩矩陣PTQ的乘積形式。)
用神經網路做協同過濾(限制玻爾茲曼機RBM)
在 Python 的 numpy 中,linalg已經實現了SVD