自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為了下個項目的質(zhì)量!每個數(shù)據(jù)科學(xué)家都應(yīng)該學(xué)會這兩種工具

開發(fā) 開發(fā)工具
為了更好地利用時間和資源,我決定使用一系列可用的在線工具來調(diào)試和分析機器學(xué)習模型。測試了幾個工具后,我成功縮減了清單:開發(fā)或改進機器學(xué)習模型時,每個數(shù)據(jù)科學(xué)家都應(yīng)考慮這兩個超贊的工具。

本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)。

使用機器學(xué)習模型越久,就越能意識到,正確了解模型當下的運行目的及效果有多重要。在實踐中,即便是在最佳情況下,跟蹤模型的運行情況(尤其是在測試各種模型參數(shù)組合時)都十分繁瑣。大多數(shù)情況下,我都會構(gòu)建自己的工具來調(diào)試和分析機器學(xué)習模型。

[[344901]]

最近,在為MAFAT的多普勒脈沖雷達分類挑戰(zhàn)設(shè)計各種模型的時候,我發(fā)覺自己手動構(gòu)建模型調(diào)試工具就是在浪費時間,而搭建集成(組合大多數(shù)分類策略的機器學(xué)習模型,搭對了就會帶來極大效用)時尤為繁瑣。

創(chuàng)建集成的問題就是,各種模型及分類都需要讓策略奏效。這就意味著要訓(xùn)練更多的模型、進行更多的分析、了解更多關(guān)于整體精度及模型性能的參數(shù)。同樣,這就要求我花更多的時間創(chuàng)建自己的調(diào)試工具和策略。

為了更好地利用時間和資源,我決定使用一系列可用的在線工具來調(diào)試和分析機器學(xué)習模型。測試了幾個工具后,我成功縮減了清單:開發(fā)或改進機器學(xué)習模型時,每個數(shù)據(jù)科學(xué)家都應(yīng)考慮這兩個超贊的工具。 

Weights & Biases

為了下個項目的質(zhì)量!每個數(shù)據(jù)科學(xué)家都應(yīng)該學(xué)會這兩種工具

Weights &Biases圖表跟蹤驗證集內(nèi)各種具有不同參數(shù)的模型的性能。Y軸表示精度,X軸表示訓(xùn)練回合數(shù)。

Weights & Biases(W&B)是一家總部位于舊金山的公司,提供一系列能無縫融入現(xiàn)有或新項目的深度學(xué)習及機器學(xué)習工具。它主要是跟蹤項目中模型變化的實時性能,簡直太管用了。

我在做項目時,常常就追蹤問題手足無措:何時進行了哪些更改?這些更改對項目的各種評估指標是否產(chǎn)生了正面或負面影響?而W&B能用以多種方式存儲并可視化這些評估指標,其中最有效的就是圖表和表格:

 

為了下個項目的質(zhì)量!每個數(shù)據(jù)科學(xué)家都應(yīng)該學(xué)會這兩種工具

 

 

用W&B工具跟蹤和可視化各種指標以進行并排比較的示例

 

 

為了下個項目的質(zhì)量!每個數(shù)據(jù)科學(xué)家都應(yīng)該學(xué)會這兩種工具

模型數(shù)據(jù)存儲在可導(dǎo)出表格中,以便在W&B網(wǎng)站上進行排序和評估。

如你所見,折線圖表示在訓(xùn)練期間使用不同指標跟蹤各種模型的性能。這樣便能進行無縫并排比較,以檢查過擬合或檢查驗證集上表現(xiàn)最佳的模型等。

W&B如何與項目關(guān)聯(lián)?

在W&B網(wǎng)站上創(chuàng)建賬戶后,必須在本地環(huán)境下安裝并登錄到個人頁面。

  1. !pip install --upgrade wandb 
  2. !wandb login <Your login code> 

深度學(xué)習或者機器學(xué)習工具不同,情況也可能不同。我用Keras,但其它項目的文檔會更清晰,也易于執(zhí)行:

  1. #Import the package 
  2. import wandb 
  3. from wandb.keras import WandbCallback#Initialize the W&B object 
  4. wandb.init(project="tester")#Link the model with W&B’stracking metrics 
  5. model.fit(X_train, y_train, validationData=(X_test, y_test) epochs=config.epochs, callbacks=[WandbCallback()])model.save(os.path.join(wandb.run.dir,"model.h5")) 

訓(xùn)練模型時,W&B帳戶會實時跟蹤和更新進度,在賬戶內(nèi)能輕松分析和評估模型的性能。在這里,你可以選擇創(chuàng)建報告,提供更專業(yè)、更易理解的結(jié)果視圖,可以在其中覆蓋文本和其他視覺效果。

W&B十分有助于跟蹤模型的性能,在更改參數(shù)并嘗試各種技術(shù)時更是如此。實際上,這個說法絕不夸張。它確實能幫上大忙:OpenAI和Toyota Research這樣的大公司定期使用它,稱贊它是靈活且有效用的項目工具。

Uber的Manifold

[[344903]]

圖源:unsplash

我正在項目中創(chuàng)建集成。一個集成是不同算法的集合,每個算法就同一數(shù)據(jù)進行訓(xùn)練并提供預(yù)測。集成的優(yōu)勢在于,它提供了一系列不同的策略來尋找解決方案,并利用多數(shù)票使所有模型的分類民主化。這很有用,因為盡管單個模型可以很好地預(yù)測部分數(shù)據(jù),但它可能會在其他部分不知所措。

在機器學(xué)習中,“集成就是數(shù)字力量”。為了讓集成表現(xiàn)良好,組成集成的各個模型必須能進行多樣化預(yù)測。多樣化預(yù)測,即不能所有模型都對某數(shù)據(jù)進行一模一樣的預(yù)測;它們應(yīng)該能對不同數(shù)據(jù)進行準確預(yù)測。然而這也帶來了問題:你怎么知道集成進行的是多樣化預(yù)測呢?看看交通科技巨頭Uber的Manifold吧。

Uber的Manifold是個開源長期項目,旨在為機器學(xué)習提供調(diào)試的可視化工具(模型是什么樣子的都無所謂)。通俗地講,Manifold讓你能看見哪個模型在數(shù)據(jù)子集中表現(xiàn)不佳、哪些特性導(dǎo)致了表現(xiàn)不佳。

集成能幫大忙。它創(chuàng)建了一個Widget輸出,在Notebook就能交互以進行快速分析。注意,該工具目前僅在經(jīng)典的Jupyter Notebook電腦上可用。它在Jupyter Lab或Google的Colab上不能運行。

Manifold使用k均值聚類——一種鄰近分組技術(shù),將預(yù)測數(shù)據(jù)分為性能相似的片段。想象一下,這是將數(shù)據(jù)分成相似的子類,然后沿著每個分段繪制模型,其中模型越靠左,則在該分段上表現(xiàn)越好。隨機生成的示例中可以看到這一點:

為了下個項目的質(zhì)量!每個數(shù)據(jù)科學(xué)家都應(yīng)該學(xué)會這兩種工具

上述例子中有三個模型,輸入數(shù)據(jù)被分成四段。把對數(shù)損失(log-loss)作為性能指標,可以看到model_1在segment_0上的表現(xiàn)不佳,而model_2在segment_2上的表現(xiàn)不佳。線的形狀表示性能分布,線的高度表示對數(shù)損失下的相對數(shù)據(jù)點計數(shù)。例如,在segment_1的model_1上,對數(shù)損失為1.5,點的均值低,但十分密集。

Manifold還提供了功能歸因視圖:

為了下個項目的質(zhì)量!每個數(shù)據(jù)科學(xué)家都應(yīng)該學(xué)會這兩種工具

功能歸因視圖強調(diào)每個片段的功能分布。在上面的示例中,數(shù)據(jù)組0包含聚類2和3,將其與包含聚類0和1的數(shù)據(jù)組1進行比較。x軸是特征值,而y軸是原因的強度。Feature_0高亮顯示這些差異,而Feature_1高亮顯示特征值的直方圖。

那么,如何把Manifold融入項目?

Manifold還處在早期研發(fā)階段,還得繼續(xù)調(diào)bug。但是,這不該妨礙你在項目中使用它。就個人情況來說,我需要弄幾個安裝包才能在Jupyter Notebook上運行它。

  1. !jupyter nbextension install --py --sys-prefix widgetsnbextension 
  2. !jupyter nbextension enable --py --sys-prefix widgetsnbextension 
  3. !pip install mlvis!jupyter nbextension install --py --symlink --sys-prefix mlvis 
  4. !jupyter nbextension enable --py --sys-prefix mlvis 

僅僅安裝nbextention包是不夠的,我還必須啟用這些軟件包??梢栽谶@里導(dǎo)入一些demo工具:

  1. from mlvis import Manifold 
  2. import sys, json, mathfrom random import uniform 

要使用Manifold框架,數(shù)據(jù)需要分成三組特定格式。第一組是所有必須在字典列表中的x值:

  1. #Example of x-values 
  2. x = [ 
  3.   {'feature_0': 21, 'feature_1': 'B'}, 
  4.   {'feature_0': 36, 'feature_1': 'A'} 

第二組是不同的模型預(yù)測,它必須是列表的列表,每個列表都是不同模型的預(yù)測:

  1. #Example of model predictions 
  2. yPred = [ 
  3.   [{'false': 0.1, 'true': 0.9}, {'false':0.8, 'true': 0.2}], 
  4.   [{'false': 0.3, 'true': 0.7}, {'false':0.9, 'true': 0.1}], 
  5.   [{'false': 0.6, 'true': 0.4}, {'false':0.4, 'true': 0.6}] 

最后一組是ground truth值或?qū)嶋H正確的y值,它們在列表值中:

  1. #Example of ground truth 
  2. yTrue = [ 
  3.   'true',  'false' 

數(shù)據(jù)一旦采用這種格式,值就可以輸入到Manifold對象中,操作進行Widget,有些類似于上面的例子:

  1. Manifold(props={'data': { 
  2.     'x': x, 
  3.     'yPred': yPred, 
  4.     'yTrue': yTrue 
  5. }}) 

然后使用Manifold就能直觀地評估不同模型對相同數(shù)據(jù)的表現(xiàn)了。這對于構(gòu)建集成非常有幫助,因為它使我能夠了解哪些模型在哪里執(zhí)行,哪些數(shù)據(jù)集群是模型最難分類的。Manifold同樣幫我評估了集成中每個模型的預(yù)測多樣性,使我能構(gòu)建一個更強大、能分類一系列不同輸入數(shù)據(jù)的設(shè)備。

[[344904]]

圖源:unsplash

對我來說,上述兩種工具真的是越來越有用了。它們可以幫我應(yīng)對這一挑戰(zhàn)并切實改善設(shè)備的性能,希望讀者也能用這些工具來創(chuàng)建更好的模型。

 

責任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2018-03-01 14:30:22

數(shù)據(jù)科學(xué)概率分布

2021-03-17 08:27:23

數(shù)據(jù)科學(xué)家數(shù)據(jù)科學(xué)

2019-07-11 12:59:27

數(shù)據(jù)科學(xué)家概率分布統(tǒng)計

2020-09-29 17:15:41

數(shù)據(jù)科學(xué)技術(shù)

2020-08-11 06:51:58

Python編程語言

2020-12-14 12:54:07

數(shù)據(jù)類型數(shù)據(jù)分析數(shù)據(jù)科學(xué)

2017-08-04 15:53:10

大數(shù)據(jù)真?zhèn)螖?shù)據(jù)科學(xué)家

2025-02-20 10:13:54

2015-07-23 10:49:06

Python工具數(shù)據(jù)科學(xué)

2020-11-02 13:44:35

算法數(shù)據(jù)科學(xué)Python

2021-04-08 10:15:46

數(shù)據(jù)工程師數(shù)據(jù)庫數(shù)據(jù)科學(xué)家

2020-06-28 07:46:34

MLDB數(shù)據(jù)庫機器學(xué)習

2017-10-18 11:32:44

機器學(xué)習無監(jiān)督學(xué)習監(jiān)督學(xué)習

2019-12-13 07:58:34

數(shù)據(jù)科學(xué)數(shù)據(jù)科學(xué)家統(tǒng)計

2016-08-02 17:00:12

Hadoop大數(shù)據(jù)系統(tǒng)

2020-06-16 13:32:02

數(shù)據(jù)科學(xué)家大數(shù)據(jù)系統(tǒng)

2016-05-11 10:36:16

數(shù)據(jù)科學(xué)家數(shù)據(jù)科學(xué)大數(shù)據(jù)

2017-04-05 12:04:17

python函數(shù)

2020-01-14 08:28:50

Linux命令程序

2014-03-07 14:20:30

點贊
收藏

51CTO技術(shù)棧公眾號