pos機產(chǎn)品你選對了嗎,機器學(xué)習(xí)模型五花八門不知道怎么選

 新聞資訊2  |   2023-05-25 10:36  |  投稿人:pos機之家

網(wǎng)上有很多關(guān)于pos機產(chǎn)品你選對了嗎,機器學(xué)習(xí)模型五花八門不知道怎么選的知識,也有很多人為大家解答關(guān)于pos機產(chǎn)品你選對了嗎的問題,今天pos機之家(m.afbey.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、pos機產(chǎn)品你選對了嗎

pos機產(chǎn)品你選對了嗎

作者 | LAVANYA

譯者 | 陸離

編輯 | 夕顏

出品 | AI科技大本營(ID: rgznai100)

【導(dǎo)讀】在本文中,我們將探討不同的機器學(xué)習(xí)模型,以及每個模型合理的使用場景。

一般來說,基于樹形結(jié)構(gòu)的模型在Kaggle競賽中是表現(xiàn)最好的,而其它的模型可以用于融合模型。對于計算機視覺領(lǐng)域的挑戰(zhàn),CNNs (Convolutional Neural Network, 卷積神經(jīng)網(wǎng)絡(luò))是最適合不過的。而對于NLP(Natural Language Processing,自然語言處理),LSTMs或GRUs是最好的選擇。下面是一個不完全模型細目清單,同時列出了每個模型的一些優(yōu)缺點。

1. 回歸 — 預(yù)測連續(xù)值

A. 線性回歸(Linear Regression)

I.Vanilla Linear Regression

優(yōu)點

· 善于獲取數(shù)據(jù)集中的線性關(guān)系;

· 適用于在已有了一些預(yù)先定義好的變量并且需要一個簡單的預(yù)測模型的情況下使用;

· 訓(xùn)練速度和預(yù)測速度較快;

· 在小數(shù)據(jù)集上表現(xiàn)很好;

· 結(jié)果可解釋,并且易于說明;

· 當(dāng)新增數(shù)據(jù)時,易于更新模型;

· 不需要進行參數(shù)調(diào)整(下面的正則化線性模型需要調(diào)整正則化參數(shù));

· 不需要特征縮放(下面的正則化線性模型需要特征縮放);

· 如果數(shù)據(jù)集具有冗余的特征,那么線性回歸可能是不穩(wěn)定的;

缺點

· 不適用于非線性數(shù)據(jù);

· 預(yù)測精確度較低;

· 可能會出現(xiàn)過度擬合(下面的正則化模型可以抵消這個影響);

· 分離信號和噪聲的效果不理想,在使用前需要去掉不相關(guān)的特征;

· 不了解數(shù)據(jù)集中的特征交互;

II. Lasso回歸, Ridge回歸, Elastic-Net回歸

優(yōu)點

· 這些模型是正則化的線性回歸模型;

· 有助于防止過度擬合;

· 這些模型更善于正則化,因為它們更簡單;

· 適用于當(dāng)我們只關(guān)心幾個特征的時候;

缺點

· 需要特征縮放;

· 需要調(diào)整正則化參數(shù);

B. 回歸樹(Regression Trees)

I.決策樹(Decision Tree)

優(yōu)點

· 訓(xùn)練速度和預(yù)測速度較快;

· 善于獲取數(shù)據(jù)集中的非線性關(guān)系;

· 了解數(shù)據(jù)集中的特征交互;

· 善于處理數(shù)據(jù)集中出現(xiàn)的異常值;

· 善于在數(shù)據(jù)集中找到最重要的特征;

· 不需要特征縮放;

· 結(jié)果可解釋,并易于說明;

缺點

· 預(yù)測精確度較低;

· 需要一些參數(shù)的調(diào)整;

· 不適用于小型數(shù)據(jù)集;

· 分離信號和噪聲的效果不理想;

· 當(dāng)新增數(shù)據(jù)時,不易更新模型;

· 在實踐中很少使用,而是更多地使用集合樹;

· 可能會出現(xiàn)過度擬合(見下面的融合模型);

II.融合模型(RandomForest,XGBoost, CatBoost, LightGBM)

優(yōu)點

· 多重樹結(jié)構(gòu)整理預(yù)測;

· 具有較高的預(yù)測精確度,在實踐中表現(xiàn)很好;

· 是Kaggle競賽中推薦的算法;

· 善于處理數(shù)據(jù)集中出現(xiàn)的異常值;

· 善于在數(shù)據(jù)集中獲取非線性關(guān)系;

· 善于在數(shù)據(jù)集中找到最重要的特征;

· 能夠分離信號和噪聲;

· 不需要特征縮放;

· 特別適用于高維度的數(shù)據(jù);

缺點

· 訓(xùn)練速度較慢;

· 具有較高的預(yù)測速度;

· 結(jié)果不易解釋或說明;

· 當(dāng)新增數(shù)據(jù)時,不易更新模型;

· 需要調(diào)整參數(shù),但調(diào)整較為復(fù)雜;

· 不適用于小型數(shù)據(jù)集;

C. 深度學(xué)習(xí)(Deep Learning)

優(yōu)點

· 在實踐中表現(xiàn)出較高的預(yù)測精確度;

· 可以獲取數(shù)據(jù)中非常復(fù)雜的底層模式;

· 特別適用于大型數(shù)據(jù)集和高維度數(shù)據(jù)集;

· 當(dāng)新增數(shù)據(jù)時,易于更新模型;

· 網(wǎng)絡(luò)的隱藏層明顯減少了對特征工程的需求;

· 是適用于計算機視覺、機器翻譯、情感分析和語音識別任務(wù)的最新技術(shù);

缺點

· 具有非常低的訓(xùn)練速度;

· 需要消耗巨大的計算資源;

· 需要特征縮放;

· 結(jié)果不易解釋或說明;

· 需要大量的訓(xùn)練數(shù)據(jù),因為它要學(xué)習(xí)大量的參數(shù);

· 在非圖像、非文本、非語音的任務(wù)中優(yōu)于Boosting算法;

· 非常靈活,帶有許多不同的體系結(jié)構(gòu)構(gòu)建塊,因此需要專業(yè)知識來設(shè)計體系結(jié)構(gòu);

D. 基于距離的K近鄰算法(K Nearest Neighbors – Distance Based)

優(yōu)點

· 訓(xùn)練速度較快;

· 不需要太多的參數(shù)調(diào)整;

· 結(jié)果可解釋,并易于說明;

· 適用于小型數(shù)據(jù)集(小于10萬個訓(xùn)練集)

缺點

· 預(yù)測精確度較低;

· 不適用于小型數(shù)據(jù)集;

· 需要選擇合適的距離函數(shù);

· 需要特征縮放;

· 預(yù)測速度隨數(shù)據(jù)集增大而加快;

· 分離信號和噪聲的效果不理想,在使用前需要去掉不相關(guān)的特征;

· 是內(nèi)存密集型的算法,因為它可以保存所有的觀察結(jié)果;

· 不適用于處理高維度的數(shù)據(jù);

2. 分類 — 預(yù)測一個或多個類別的概率

A. 邏輯回歸算法(logistic Regression)

優(yōu)點

· 善于對線性可分離數(shù)據(jù)進行分類;

· 具有較高的訓(xùn)練速度和預(yù)測速度;

· 適用于小型數(shù)據(jù)集;

· 結(jié)果可解釋,并易于說明;

· 當(dāng)新增數(shù)據(jù)時,易于更新模型;

· 在正則化時可以避免過度擬合;

· 可以同時進行2個類和多個類的分類任務(wù);

· 不需要參數(shù)調(diào)整(除非在正則化的時候,我們需要調(diào)整正則化參數(shù));

· 不需要特征縮放(正則化的時候除外);

· 如果數(shù)據(jù)集具有冗余特征,則線性回歸可能是不穩(wěn)定的;

缺點

· 不適用于非線性可分離數(shù)據(jù);

· 具有較低的預(yù)測精確度;

· 可能會出現(xiàn)過度擬合(見下面的正則化模型)

· 分離信號和噪聲的效果不理想,在使用前需要去掉不相關(guān)的特征;

· 不了解數(shù)據(jù)集中的特征交互;

B. 基于距離的支持向量機算法(Support Vector Machines – Distance based)

優(yōu)點

· 具有較高的預(yù)測精確度;

· 即使在高維度數(shù)據(jù)集上也不會產(chǎn)生過度擬合,因此它適用于具有多個特征的情況;

· 適用于小型數(shù)據(jù)集(小于10萬個訓(xùn)練集);

· 適用于解決文本分類的問題;

缺點

· 當(dāng)新增數(shù)據(jù)時,不易更新模型;

· 屬于內(nèi)存高度密集型算法;

· 不適用于大型數(shù)據(jù)集;

· 需要選擇正確的內(nèi)核;

· 線性內(nèi)核對線性數(shù)據(jù)建模,運行速度快;

· 非線性內(nèi)核可以模擬非線性邊界,運行速度慢;

· 用Boosting代替!

C. 基于概率的樸素貝葉斯算法(Naive Bayes — Probability based)

優(yōu)點

· 在文本分類問題上表現(xiàn)極佳;

· 具有較高的訓(xùn)練速度和預(yù)測速度;

· 在小型數(shù)據(jù)集上表現(xiàn)良好;

· 善于分離信號和噪聲;

· 在實踐中表現(xiàn)出良好的性能;

· 操作簡單,易于實現(xiàn);

· 適用于小型數(shù)據(jù)集(小于10萬個訓(xùn)練集);

· 關(guān)于特征的和潛在分布的獨立性避免了過度擬合;

· 如果這種獨立性的條件成立,那么樸素貝葉斯可以在更小的數(shù)據(jù)集上運行,并且可以以更快的速度進行訓(xùn)練;

· 不需要特征縮放;

· 不是內(nèi)存密集型算法;

· 結(jié)果可解釋,并易于說明;

· 根據(jù)數(shù)據(jù)集的大小易于擴展;

缺點

· 具有較低的預(yù)測精確度;

D. 基于距離的K近鄰算法( K Nearest Neighbors — Distance Based)

優(yōu)點

· 具有較高的訓(xùn)練速度;

· 無需太多參數(shù)調(diào)整;

· 結(jié)果可解釋,并易于說明;

· 適用于小型數(shù)據(jù)集(小于10萬個訓(xùn)練集);

缺點

· 預(yù)測精確度較低;

· 在小型數(shù)據(jù)集上表現(xiàn)不好;

· 需要選擇一個合適的距離函數(shù);

· 需要功能縮放;

· 預(yù)測速度隨著數(shù)據(jù)集增大而加快;

· 分離信號和噪聲的效果不理想,在使用前需要去掉不相關(guān)的特征;

· 是內(nèi)存密集型算法,因為它可以保存所有的觀察結(jié)果;

· 不善于處理高維度的數(shù)據(jù);

E. 分類樹(Classification Tree)

I. 決策樹(Decision Tree)

優(yōu)點

· 具有較高的訓(xùn)練速度和預(yù)測速度;

· 善于獲取數(shù)據(jù)集中的非線性關(guān)系;

· 了解數(shù)據(jù)集中的特征交互;

· 善于處理數(shù)據(jù)集中出現(xiàn)的異常值;

· 善于在數(shù)據(jù)集中找到最重要的特征;

· 可以同時進行2個類和多個類的分類任務(wù);

· 不需要特征縮放;

· 結(jié)果可解釋,并易于說明;

缺點

· 預(yù)測速度較慢;

· 需要進行參數(shù)的調(diào)整;

· 在小型數(shù)據(jù)集上表現(xiàn)不好;

· 分離信號和噪聲的效果不理想;

· 在實踐中很少使用,而是更多地使用集合樹;

· 當(dāng)新增數(shù)據(jù)時,不易更新模型;

可能會出現(xiàn)過度擬合(見下面的融合模型)

II.融合(RandomForest, XGBoost, CatBoost, LightGBM)

優(yōu)點

· 多重樹結(jié)構(gòu)整理預(yù)測;

· 具有較高的預(yù)測精確度,在實踐中表現(xiàn)很好;

· 是Kaggle競賽中推薦的算法;

· 善于獲取數(shù)據(jù)集中的非線性關(guān)系;

· 善于處理數(shù)據(jù)集中出現(xiàn)的異常值;

· 善于在數(shù)據(jù)集中找到最重要的特征;

· 能夠分離信號和噪聲;

· 無需特征縮放;

· 特別適用于高維度的數(shù)據(jù);

缺點

· 訓(xùn)練速度較慢;

· 預(yù)測速度較快;

· 結(jié)果不易解釋或說明;

· 當(dāng)新增數(shù)據(jù)時,不易更新模型;

· 需要調(diào)整參數(shù),但調(diào)整較為復(fù)雜;

· 在小型數(shù)據(jù)集上表現(xiàn)不好;

F. 深度學(xué)習(xí)(Deep Learning)

優(yōu)點

· 預(yù)測精確度較高,在實踐中表現(xiàn)良好;

· 可以獲取數(shù)據(jù)中非常復(fù)雜的底層模式;

· 適用于大型數(shù)據(jù)集和高維度數(shù)據(jù)集;

· 當(dāng)新增數(shù)據(jù)時,易于更新模型;

· 網(wǎng)絡(luò)的隱藏層明顯減少了對特征工程的需求;

· 是適用于計算機視覺、機器翻譯、情感分析和語音識別任務(wù)的最新技術(shù);

缺點

· 訓(xùn)練速度較慢;

· 結(jié)果不易解釋或說明;

· 需要消耗巨大的計算資源;

· 需要特征縮放;

· 需要大量的訓(xùn)練數(shù)據(jù),因為它要學(xué)習(xí)大量的參數(shù);

· 在非圖像、非文本、非語音的任務(wù)中優(yōu)于Boosting算法;

· 非常靈活,帶有許多不同的體系結(jié)構(gòu)構(gòu)建塊,因此需要專業(yè)知識來設(shè)計體系結(jié)構(gòu);

3. 聚類 — 將數(shù)據(jù)分類以便最大化相似性

A. DBSCAN聚類算法(Density-Based Spatial Clustering of Applications with Noise)

優(yōu)點

· 可擴展到大型數(shù)據(jù)集上;

· 善于噪聲檢測;

· 無需預(yù)先知道聚類的數(shù)量;

· 可以發(fā)現(xiàn)任意形狀的聚類,不會假設(shè)聚類的形狀是球狀的;

缺點

· 如果整個數(shù)據(jù)集都是高密度區(qū)域,那么該算法不總是有效的;

· 需要調(diào)整密度參數(shù)epsilon和min_samples為正確的值,以便獲得好的效果;

B. Kmeans算法

優(yōu)點

· 特別適于獲取底層數(shù)據(jù)集的結(jié)構(gòu);

· 算法簡單,易于解釋;

· 適于預(yù)先知道聚類的數(shù)量;

缺點

· 如果聚類不是球狀的,并且大小相似,那么該算法不總是有效的;

· 需要預(yù)先知道聚類的數(shù)量,并需要調(diào)整k聚類的選擇以便獲得好的結(jié)果;

· 屬于內(nèi)存密集型的算法;

· 無法擴展到大型數(shù)據(jù)集上;

4. Misc — 本文中未包含的模型

降維算法(Dimensionality Reduction Algorithms);

聚類算法(Clustering algorithms);

· 高斯混合模型(Gaussian Mixture Model);

· 分層聚類(Hierarchical clustering);

計算機視覺(CV);

· 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks);

· 圖像分類(Image classification);

· 對象檢測(Object Detection)

· 圖像分割(Image segmentation)

自然語言處理(Natural Language Processing,NLP)

· 循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNNs,包括LSTM 和 GRUs)

強化學(xué)習(xí)(Reinforcement Learning)

融合模型

融合模型是一種非常強大的技術(shù),有助于減少過度擬合,并通過組合來自不同模型的輸出以做出更穩(wěn)定的預(yù)測。融合模型是贏得Kaggle競賽的一個重要工具,在選擇模型進行融合時,我們希望選擇不同類型的模型,以確保它們具有不同的優(yōu)勢和劣勢,從而在數(shù)據(jù)集中獲取不同的模式。這種更明顯的多樣性特點使得偏差降低。我們還希望確保它們的性能是可以對比的,這樣就能確保預(yù)測的穩(wěn)定性。

我們在這里可以看到,這些模型的融合實際上比任何單一的模型生成的損失都要低得多。部分的原因是,盡管所有的這些模型都非常擅長預(yù)測,但它們都能得到不同的正確預(yù)測結(jié)果,通過把它們組合在一起,我們能夠根據(jù)它們所有不同的優(yōu)勢組合成一個超級模型。

# in order to make the final predictions more robust to overfittingdef blended_predictions(X): return ((0.1 * ridge_model_full_data.predict(X)) + \\\\ (0.2 * svr_model_full_data.predict(X)) + \\\\ (0.1 * gbr_model_full_data.predict(X)) + \\\\ (0.1 * xgb_model_full_data.predict(X)) + \\\\ (0.1 * lgb_model_full_data.predict(X)) + \\\\ (0.05 * rf_model_full_data.predict(X)) + \\\\ (0.35 * stack_gen_model.predict(np.array(X))))

融合模型分為四種類型(包括混合型):

Bagging:使用隨機選擇的不同數(shù)據(jù)子集訓(xùn)練多個基礎(chǔ)模型,并進行替換。讓基礎(chǔ)模型對最終的預(yù)測進行投票。常用于隨機森林算法(RandomForests);

Boosting:迭代地訓(xùn)練模型,并且在每次迭代之后更新獲得每個訓(xùn)練示例的重要程度。常用于梯度增強算法(GradientBoosting);

Blending:訓(xùn)練許多不同類型的基礎(chǔ)模型,并在一個holdout set上進行預(yù)測。從它們的預(yù)測結(jié)果中再訓(xùn)練一個新的模型,并在測試集上進行預(yù)測(用一個holdout set堆疊);

Stacking:訓(xùn)練多種不同類型的基礎(chǔ)模型,并對數(shù)據(jù)集的k-folds進行預(yù)測。從它們的預(yù)測結(jié)果中再訓(xùn)練一個新的模型,并在測試集上進行預(yù)測;

模型對比

權(quán)重和偏差讓我們可以用一行代碼來跟蹤和比較模型的性能表現(xiàn)。選擇要測試的模型后,對其進行訓(xùn)練并添加wandb.log({‘score’: cv_score})來記錄模型的運行狀態(tài)。完成訓(xùn)練之后,你就可以在一個簡單的控制臺中對比模型的性能了!

# WandBimport wandbimport tensorflow.kerasfrom wandb.keras import WandbCallbackfrom sklearn.model_selection import cross_val_score# Import models (Step 1: add your models here)from sklearn import svmfrom sklearn.linear_model import Ridge, RidgeCVfrom xgboost import XGBRegressor# Model 1# Initialize wandb run# You can change your project name here. For more config options, see https://docs.wandb.com/docs/init.htmlwandb.init(anonymous=\'allow\', project="pick-a-model")# Initialize model (Step 2: add your classifier here)clf = svm.SVR(C= 20, epsilon= 0.008, gamma=0.0003)# Get CV scorescv_scores = cross_val_score(clf, X_train, train_labels, cv=5)# Log scoresfor cv_score in cv_scores: wandb.log({\'score\': cv_score})# Model 2# Initialize wandb run# You can change your project name here. For more config options, see https://docs.wandb.com/docs/init.htmlwandb.init(anonymous=\'allow\', project="pick-a-model")# Initialize model (Step 2: add your classifier here)clf = XGBRegressor(learning_rate=0.01, n_estimators=6000, max_depth=4, min_child_weight=0, gamma=0.6, subsample=0.7, colsample_bytree=0.7, objective=\'reg:linear\', nthread=-1, scale_pos_weight=1, seed=27, reg_alpha=0.00006, random_state=42)# Get CV scorescv_scores = cross_val_score(clf, X_train, train_labels, cv=5)# Log scoresfor cv_score in cv_scores: wandb.log({\'score\': cv_score})# Model 3# Initialize wandb run# You can change your project name here. For more config options, see https://docs.wandb.com/docs/init.htmlwandb.init(anonymous=\'allow\', project="pick-a-model")# Initialize model (Step 2: add your classifier here)ridge_alphas = [1e-15, 1e-10, 1e-8, 9e-4, 7e-4, 5e-4, 3e-4, 1e-4, 1e-3, 5e-2, 1e-2, 0.1, 0.3, 1, 3, 5, 10, 15, 18, 20, 30, 50, 75, 100]clf = Ridge(alphas=ridge_alphas)# Get CV scorescv_scores = cross_val_score(clf, X_train, train_labels, cv=5)# Log scoresfor cv_score in cv_scores: wandb.log({\'score\': cv_score})

就這樣,在有了所有的工具和算法之后,就可以為你的問題選擇正確的模型了!

模型的選擇可能是非常復(fù)雜的,但我希望本指南能給你帶來一些啟發(fā),讓你找到模型選擇的好方法。

原文鏈接:

https://lavanya.ai/2019/09/18/part-ii-whirlwind-tour-of-machine-learning-models/

所有CSDN 用戶都可參與投票和抽獎活動

加入福利群,每周還有精選學(xué)習(xí)資料、技術(shù)圖書等福利發(fā)送

以上就是關(guān)于pos機產(chǎn)品你選對了嗎,機器學(xué)習(xí)模型五花八門不知道怎么選的知識,后面我們會繼續(xù)為大家整理關(guān)于pos機產(chǎn)品你選對了嗎的知識,希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://m.afbey.com/newsone/54110.html

你可能會喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報,一經(jīng)查實,本站將立刻刪除。