Leo Yeh's Blog

SAS Viya (145)

教學目標

初步了解透過 SAS Viya 分析平台針對快速約會資料集進行視覺化分析和建立機器學習模型的基本概念。

重點概念

首先您是否想過一見鍾情真的存在嗎?如果存在的話,男女雙方具有哪些特質會互吸引和成功交往呢?這是個非常有趣的問題,且不論是任何人皆想找到最適合的伴侶,而在 2006 年哥倫比亞大學商學院教授 Ray Fisman 和 Sheena Iyengar 所撰寫的論文「Gender Differences in Mate Selection: Evidence From a Speed Dating Experiment」主要就針對這個問題產生每次四分鐘的快速約會進行實驗,其中參與者會被問到是否想再次與異性進行約會,並且根據外表魅力、誠意、聰明、幽默、企圖心和共同興趣這這六個特質進行評分。在該論文中提到對於女性比較注重男性的聰明,而對於男性而言比較注重女性的外表魅力,而且男性不重視女性的聰明或企圖心超越自己,但是十多年之後的今天透過最新的視覺化分析和機器學習模型進行資料分析之後的結果真的也是如此嗎?

接著我們為了要了解在 2006 年所提供的快速約會資料集將能夠免費申請 SAS Viya 分析平台上「SAS Visual Data Mining and Machine Learning」的 14 天試用版,將能夠輕鬆針對資料進行視覺化分析和建立機器學習模型,至於快速約會的資料集主要由哥倫比亞大學所收集,並且由 Kaggle 資料科學競賽平台所託管。因此無論是業務分析師、資料科學家或資訊人員皆能在 SAS Visual Data Mining and Machine Learning 的免費試用期間內以 SAS Visual Analytics 進行視覺化分析和以 SAS Model Studio 建立機器學習模型來探索快速約會的資料。

再來我們透過 SAS Visual Analytics 視覺化分析將會發現配對成功的比例主要有 16.47%,而成功交往的比例僅有 1.48%,至於男性參加者中最熱門的職業背景為金融和顧問,而女性參加者中最熱門的職業背景為學術和研究,並且根據內建的決策樹模型中,影響配對成功的前三個重要變數為幽默、外表魅力和共同興趣,以及根據內建的梯度提升模型我們將會發現對於女性而言外表魅力比較重要,而對於男性而言,幽默比較重要。所以相同的資料集當我們透過 SAS Visual Analytics 進行視覺化分析將能夠得出更多有趣的分析觀點。

最後我們透過 SAS Model Studio 建立機器學習模型將能夠快速自動建立更複雜,並且有更高準確度的機器學習模型,並且透過 PD、ICE、LIME、Kernel SHAP 的方法進行模型解釋,當然還能夠以開放源始碼 Python 或 R 所建立最新的機器學習模型進行比較,選出最適合的冠軍模型。此外我們回到一開始所提到的問題一見鍾情真的存在嗎?理應存在,而男女雙方具有幽默、外表魅力和共同興趣三大特質將有很大的機率互相吸引和成功交往。

總結透過 SAS Visual Data Mining and Machine Learning 將能夠很輕易的針對 Kaggle 資料科學競賽平台上有趣情境應用的資料集進行入門學習,過程中無須撰寫任何程式碼,僅需要透過拖拉點選的操作方式就能夠進行視覺化分析和建立機器學習模型。

相關資源

SAS Viya (144)

教學目標

初步了解在 SAS Visual Data Mining and Machine Learning 8.5 中實用新功能的基本概念。

重點概念

首先 SAS Viya 分析平台最近剛釋出最新 3.5 版,同時在 SAS Viya 分析平台中的 SAS Visual Data Mining and Machine Learning 8.5 新版本也提供許多實用的新功能,像是自動產生流程、特徵機、模型編輯器、… 等新功能,其中我們主要能夠透過內建的自動化機器學習的功能基於資料動態建立流程,此過程主要會自動針對所提供的資料執行資料準備、模型建立、模型比較和模型選擇,以利建立流程,並且當自動產生流程之後,我們就可以執行流程產生最佳模型,更進一步也能夠針對在流程中自動產生的節點進行編輯,因此自動產生出的流程將能夠大量減少資料科學家所花費進行資料準備的時間,並且將更多的時間投資在於調整機器學習模型的超參數和針對模型進行可被業務應用所信任的解釋。

接著透過 SAS Visual Data Mining and Machine Learning 8.5 所提供自動產生流程的新功能,對於使用者來說,僅需要建立一個專案,選取資料集,並且設定目標變數,以及設定自動化時間限制,時間限制主要允許流程產生過程執行的最長時間,當超過時間限制之後,將會選擇最佳的可用流程。因此我們將能夠設定 1 分鐘,此時代表允許流程產生過程執行的最長時間為 1 分鐘,當超過 1 分鐘之後將會選擇最佳的可用流程,當然設定時間越長,則最佳模型的準確度更佳。此外根據不同資料集和時間長度每次產生的流程皆會不同,尤其在於資料準備方面主要會根據不同機器學習模型節點選擇適當的前置處理節點,分別有轉換、補值、變數選取、程式碼、… 等,並且分別產生羅吉斯迴歸、類神經網路、決策樹、森林、梯度提升、… 等監督式學習的模型節點,根據不同的資料大小設定足夠多的時間,就能夠自動建立整體模型節點,以利提高最佳模型的準確度。

再來如果我們需要編輯自動產生流程,則必須要先將自動產生流程進行解鎖,當解鎖流程之後將能夠開始編輯流程中的節點屬性,然而目前隨著機器學習模型變得越來越複雜,快速而準確地解釋這些模型的能力將會減弱,因此我們能夠設定監督式學習的模型節點和整體模型節點中的後置訓練屬性,主要設定模型解釋性,其中主要包括 PD、ICE、LIME 和 Kernel SHAP 等模型解釋的方法將能夠協助我們更好的理解模型,請注意這些技術中的每一個皆是與模型無關的,這代表著這些技術將能夠應用於由監督式學習的模型節點。至於 Kernel SHAP 主要為 SAS Visual Data Mining and Machine Learning 8.5 新版本中所提供的全新方法,透過 Shapley 值將能夠幫助我們確定每個變數對於給定觀測值預測的相對重要性,與 LIME 值相反,LIME 值主要能夠幫助我們確定變數值的變化將如何影響模型的預測,因此不應直接比較 LIME 和 Kernel SHAP 值,因為它們測量的是不同的行為。

最後在 SAS Visual Data Mining and Machine Learning 8.5 新版本中我們將能夠在流程比較的頁籤中進行模型管理,我們主要能夠將自動產生的最佳模型進行註冊模型和發行模型,並且更能夠透過使用者操作界面直接下載評分 API,主要提供 Python、SAS 和 REST 三種方式,以及我們將最佳模型部署上線至正式環境中的業務應用程式為客戶提供更多更有價值的服務。此外當我們成功執行至少一個流程之後,我們能夠在專案中的洞察頁籤查看專案的洞察報表,在專案摘要報表中主要包括最佳模型的準確率評估指標,以及最重要的輸入變數的資訊。

相關資源

SAS Viya (143)

教學目標

初步了解 SAS Visual Data Mining and Machine Learning 中機器學習模型之自動優化功能的基本概念。

重點概念

首先目前當我們需要決定建立一個機器學習模型來預測哪個客戶有良好的信用風險,則傳統上我們需要在訓練資料的過程中做出許多決定,其中需要選擇要測試的建模方法,選擇要訓練模型的資料,以及要測試結果的資料,如何調整所選模型的參數以及如何驗證模型的結果,同時所有這些選擇皆會影響模型評估的結果,以及會將模型用於確定哪些客戶將獲得信用,因此我們需對模型結果進行有效合理的解釋,才能夠信任模型所產生的決策結果。

接著過去我們會花費大量的模型建立過程來確定模型演算法最佳的參數集,並且隨著演算法變得越來越複雜,從神經網路到深度網路,從決策樹到森林以及梯度增強,識別這些參數所需的時間越來越多。此時在調優機器學習模型參數集的繁瑣工作中,有多種方法可以支持資料科學家,這些方法稱為超參數優化,通常有三種不同類型,分別為:

  1. 參數掃描 (Parameter sweep):主要是針對一組預先定義的模型參數值進行詳盡搜尋,資料科學家為每個參數值的候選者進行調整,使用每種可能的組合訓練模型,然後選擇成效最佳的模型,其中模型成效很大程度取決於資料科學家的經驗和選擇。
  2. 隨機搜尋 (Random search):主要是針對一組隨機選擇的模型參數值進行搜尋,這將能夠提供一個更小偏差方法找到所選模型參數的最佳集合,由於這是隨機搜尋,因此可能會錯過最佳的參數,除非進行了足夠的實驗次數。
  3. 參數優化 (Parameter optimization):主要是應用現代化的優化技術來找到最佳解決方案的方法,此方法將能夠為任何預測模型和任何業務問題找到最適合之參數集的最佳方法。

其中 SAS Visual Data Mining and Machine Learning 將會為使用者提供自動化超參數調整的功能,主要使用區域搜尋優化 (Local Search Optimization,LSO) 方法進行超參數自動化的調整,當使用區域搜尋優化的方法將能夠在分散式環境中執行,以利克服超參數優化所面臨的效能挑戰 ,其中主要是由一組可擴展的搜尋方法所組成,不同模型的的參數設定評估結果將會分散在計多個評估工作節點上,並且透過這些節點在反饋循環中進行協調。

再來 SAS Visual Data Mining and Machine Learning 中的自動調整功能除了利用 LSO 框架提供了靈活有效的混合搜尋策略之外,預設搜索策略主要是以拉丁超立方抽樣 (Latin hypercube sample,LHS) 開始,該樣本提供的超參數空間樣本比網格搜尋 (Grid Search) 或隨機搜尋 (Random Search) 所提供的樣本更為統一,然後再將最佳樣本用於遺傳演算法 (Genetic Algorithm,GA),該遺傳演算法在迭代過程中針對最佳樣本進行交叉和變異,這將會為每次迭代生成新的模型參數集,更重要的是將能夠以分散式平行的方式評估樣本。至於自動調整功能目前主要能夠用於不同的機器學習演算法節點,分別為貝氏網路 (Bayesian Network)、決策樹 (Decision Tree)、森林 (Forest)、梯度提升 (Gradient Boosting)、神經網路 (Neural Network) 和支持向量機 (Support Vector Machine,SVM)。

最後 SAS Visual Data Mining and Machine Learning 中的超參數調整另一方面主要涉及交叉驗證,對於小型資料集,除了訓練資料集之外,單個驗證分區可能會留下不足以用於驗證的資料,此時保留具有代表性訓練資料和驗證資料將會是一個挑戰,因此我們通常建議使用交叉驗證進行模型驗證,當然透過這種交叉驗證過程將會增加了許多的時間。此外 SAS Visual Data Mining and Machine Learning 預設自動調整功能,其實就是 AutoML 機制,至於應用 AutoML 機制的模型在於評估的結果,則建議參考官方論文,結論是 SAS 預設自動調整的 AutoML 機制效能將明顯優於超參數自動優化常見的方法。

相關資源

SAS 人工智慧 (6)

教學目標

初步了解 SAS Viya 分析平台如何解釋機器學習模型的基本概念。

重點概念

首先隨著人工智慧的發展趨勢,機器學習模型的可解釋性變得越來越重要,我們周圍皆是由機器學習提供支持的應用程式,而且我們每天都會受到越來越多機器回答許多從日常生活到拯救生命的問題,像是的使用者可能喜歡看哪一部電視劇、客戶符合貸款的資格、病人得癌症的機率為何、… 等問題。然而資料科學家通常會將重點放在模型的預測準確性上,不是在理解機器學習的預測模型是如何進行?但是如果機器學習模型簡單易懂,那麼我們就會知道修改哪些輸入參數將如何影響預測的結果,並且更進一步為每個預測結果進行解釋,然而隨著機器學習和人工智慧的快速發展,模型變得非常複雜,其中更包括複雜的深度神經網路和不同模型的集合,此時我們將這些複雜模型稱為黑箱模型。

接著所謂黑箱模型雖然有非常準確的預測結果,但是卻因為模型的複雜性導致很難進行模型的解釋,通常黑箱模型中的演算法不透明且難以解釋,並且有時有數千個,甚至數百萬個模型參數,輸入和參數之間沒有一對一的關係,經常使用多個模型的多個參數組合來影響預測。同時機器學習模型為了提高準確率,所以還會需要大量的資料進行模型訓練,此時我們很難弄清楚機器學習模型從大量的資料中學到了什麼,以及哪些資料對於結果的影響非常大。

再來機器學習模型不僅應該要準確率高,而且應該是要能夠進行解釋和能夠被信任,這到底是什麼意思呢?我們需要先回答幾個問題,機器學習模型是否在訓練資料中採用了任何異常的資料?在訓練資料中重要的相關性變數是否正確?在訓練資料時雖然能夠取得較佳的準確率,但是檢測到的相關性是否足夠應用至新的資料呢?當然機器學習模型必須有公平的決定結果,不能夠有歧視性的結果,因為資料可能存文化的偏見,此時我們為了達到公平就必行調整機器學習模型的演算法。此外不同角色針對機器學習模型將會面臨不同的問題,以利弄清楚是否能夠解釋模型、信任模型以及使用模型時是否可以做出公平的決定,當角色為資料科學家時主要需要了解如何改善模型和選擇最佳模型,當角色為使用者時主要需要了解模型結果和判斷模型是否可被信任,當角色為法規相關人員時主要需要了解模型決策是否公平、透明和符合法規。

最後我們要如何機器學習模型的黑箱演算法,其中主要有些解釋機器學習演算法的有效方法,請注意所有這些診斷過程皆必須獨立於特定的機器學習模型的演算法,至於在 SAS Viya 分析平台中有效方法主要有四種,根據不同的問題我們將會選擇適當的方法來解釋模型,分別為:

  1. 了解哪些是最重要的輸入變數?建議使用 Variable Importance 方法。
  2. 了解輸入變數對預測的影響?建議使用 Partial Dependence (PD) 或 Individual Conditional Expectation (ICE) 方法。
  3. 了解特定實體的預測結果?建議使用 Local Interpretable Model-Agnostic Explanation (LIME) 方法。

當我們揭開機器學習模型的黑箱演算法就能夠提高可解釋性和透明度,並且讓預測結果更能夠被信任,至於什麼是可解釋性,所謂可解釋性主要為解釋特定的決策或過程,以及需要了解影響決策結果的主要輸入變數,更進一步從中找出演算法的學習模式、規則和特徵,至於有關 Partial Dependence (PD)Individual Conditional Expectation (ICE)Local Interpretable Model-Agnostic Explanation (LIME) 方法如何運作的基本原理除了官方部落格文章之外,更建議觀看官方影片的教學。

相關資源

SAS 系統管理 (117)

教學目標

初步了解升級 SAS Visual Analytics 7.5 的基本概念。

重點概念

首先為何要升級至 SAS Visual Analytics 7.5 呢?主要有三個原因,第一個原因主要為符合 HTML5 技術標準新趨勢,第二個原因主要為移除 Adobe Flash Player 技術元件,第三個原因主要為增強新功能。而 SAS 則致力於幫助其客戶避免與 Adobe Flash 支援終止有關的問題,SAS 平台不再使用基於 Flash 的使用者操作界面,而是採用基於開放 HTML5 的技術標準,所有瀏覽器皆支援此標準技術,同時更能夠提供了更好的操作效能和安全性。

接著在 SAS Visual Analytics 7.4 之前的版本主要分為用於資料探勘的 SAS Visual Analytics Explorer 網站應用程式和用於報表設計的 SAS Visual Analytics Designer 網站應用程式,而在 SAS Visual Analytics 7.5 則已經將 SAS Visual Analytics Explorer 和 SAS Visual Analytics Designer 整合為以 HTML5 技術標準為基礎的 SAS Visual Analytics Designer 網站應用程式,當我們登入至 SAS Visual Analytics Designer 中時主要會有三個開始使用的選項,分別為資料、新增和開啟,當我們點選資料主要用於資料探勘,反之點選報表則主要用於報表設計,至於點選開啟則主要用於開啟 SAS 報告 (2G) 物件。

再來視覺勘查物件和 SAS 報告 (2G) 物件已合併為一個物件類型,也就是 SAS 報告 (2G) 物件類型,此時若我們透過 SAS Management Console 客戶端管理工具匯出視覺勘查物件為 SPK 套件檔之後,當我們透過 SAS Management Console 客戶端管理工具匯入 SPK 套件檔,此時安裝 SAS Visual Analytics 7.5 的 SAS 平台就會自動將視覺勘查物件轉換為 SAS 報告 (2G) 物件,以利我們能夠透過以 HTML5 技術標準為基礎的 SAS Visual Analytics Designer 網站應用程式開啟 SAS 報告 (2G) 物件繼續進行視覺化資料探勘的分析應用,請注意這時已經無需再使用 Adobe Flash Player 技術元件就能夠進行視覺化資料探勘的分析應用。

最後 SAS Visual Analytics 7.5 除了本來就有提供的網路分析圖、路徑分析圖和文字主題的物件之外,更有提供預測分析的新物件,透過預測分析的新物件我們能夠顯示基於歷史資料的預測值。此外更能夠直接針對使用者所拖曳至畫布中的資料欄位自動產生適當的圖表,當然還有更多有關資料探勘、報表設計和系統管理的實用新功能,以利提供了更好的操作效能和安全性,至於更多有關 SAS Visual Analytics 7.5 的詳細操作,請參考官方文件

相關資源

📖 more posts 📖