2019/11/2web
一、 表現層狀態轉換(REST, representational state transfer.)一種萬維網軟件架構風格,目的是便於不一樣軟件/程序在網絡(例如互聯網)中互相傳遞信息。表現層狀態轉換是根基於超文本傳輸協議(HTTP)之上而肯定的一組約束和屬性,是一種設計提供萬維網絡服務的軟件構建風格。符合或兼容於這種架構風格(簡稱爲 REST 或 RESTful)的網絡服務,容許客戶端發出以統一資源標識符訪問和操做網絡資源的請求,而與預先定義好的無狀態操做集一致化。所以表現層狀態轉換提供了在互聯網絡的計算系統之間,彼此資源可交互使用的協做性質(interoperability)。算法
REST是設計風格而不是標準。REST一般基於使用HTTP,URI,和XML以及HTML這些現有的普遍流行的協議和標準。數據庫
REST架構風格最重要的架構約束有6個[2]:瀏覽器
客戶端-服務器結構約束的目的是將客戶端和服務器端的關注點分離. 將用戶界面所關注的邏輯和數據存儲所關注的邏輯分離開來有助於提升用戶界面的跨平臺的可移植性.經過簡化服務器模塊也有助於服務器模塊的可擴展性.緩存
服務器不能保存客戶端的信息, 每一次從客戶端發送的請求中, 要包含全部的必須的狀態信息, 會話信息由客戶端保存, 服務器端根據這些狀態信息來處理請求. 服務器能夠將會話狀態信息傳遞給其餘服務, 好比數據庫服務, 這樣能夠保持一段時間的狀態信息, 從而實現認證功能. 當客戶端能夠切換到一個新狀態的時候發送請求信息. 當一個或者多個請求被髮送以後, 客戶端就處於一個狀態變遷過程當中. 每個應用的狀態描述能夠被客戶端用來初始化下一次的狀態變遷.安全
如同萬維網同樣, 客戶端和中間的通信傳遞者能夠將響應緩存起來. 響應必須明確的或者間接的代表自己是否能夠進行緩存,這能夠預防客戶端在未來進行請求的時候獲得陳舊的或者不恰當的數據. 管理良好的緩存機制能夠 減小客戶端-服務器之間的交互, 甚至徹底避免客戶端-服務器交互, 這進一步提了高性能和可擴展性。服務器
統一接口是 RESTful 系統設計的基本出發點. 它簡化了系統的架構, 減小了耦合性, 可讓全部模塊各自獨立的進行改進. 對於統一接口的四個約束是:網絡
請求中包含了各類獨立資源的標識, 例如, 在 Web 服務中的 URIs. 資源自己和發送給客戶端的標識是獨立. 例如, 服務器能夠將自身的數據庫信息以 HTML XML 或者 JSON 的方式發送給客戶端, 可是這些可能都不是服務器的內部記錄方式.數據結構
當客戶端擁有一個資源的標識, 包括附帶的元數據, 則它就有足夠的信息來刪除這個資源.架構
每個消息都包含足夠的信息來描述如何來處理這個信息. 例如, 媒體類型 (midia-type) 就能夠肯定須要什麼樣的分析器來分析媒體數據.
同用戶訪問 Web 服務器的 Home 頁面類似,當一個 REST 客戶端訪問了最初的 REST 應用的 URI 以後, REST 客戶端應該可使用服務器端提供的連接,動態的發現全部的可用的資源和可執行的操做.隨着訪問的進行, 服務器在響應中提供文字超連接, 以便客戶端能夠獲得當前可用的操做. 客戶端無需用肯定的編碼的方式記錄下服務器端所提供的動態應用的結構信息.
客戶端通常不知道是否直接鏈接到了最終的服務器, 或者是路徑上的中間服務器. 中間服務器能夠經過負載均衡和共享緩存的機制提升系統的可擴展性,這樣可也便於安全策略的部署.
服務器能夠經過發送可執行代碼給客戶端的方式臨時性的擴展功能或者定製功能.例如Java Applet、Flash或JavaScript。
二、 Building an Ensemble Learning Model Using Scikit-learn. Ensemble learning uses multiple machine learning models to try to make better predictions on a dataset. An ensemble model works by training different models on a dataset and having each model make predictions individually.
三、 Gradient boosting is a machine learning technique for regression and classification problems, which produces a prediction model in the form of an ensemble of weak prediction models, typically decision trees. 梯度提高是一種針對迴歸和分類問題的機器學習技術,它以弱預測模型的集合(一般爲決策樹)的形式生成預測模型。像其餘加強方法同樣,它以分階段的方式構建模型,並經過容許對任意可微分的損失函數進行優化來對其進行歸納。 梯度加強的思想源自Leo Breiman的觀察,便可以將加強解釋爲針對適當成本函數的優化算法。
四、 提高方法(Boosting),是一種能夠用來減少監督式學習中誤差的機器學習算法。
五、 AdaBoost,是英文"Adaptive Boosting"(自適應加強)的縮寫。AdaBoost方法的自適應在於:前一個分類器分錯的樣本會被用來訓練下一個分類器。對於噪聲數據和異常數據很敏感。AdaBoost方法是一種迭代算法,在每一輪中加入一個新的弱分類器,直到達到某個預約的足夠小的錯誤率。
六、 因爲遞歸引發一系列的函數調用,而且有可能會有一系列的重複計算,遞歸算法的執行效率相對較低. 迭代:利用變量的原值推算出變量的一個新值. 若是遞歸是本身調用本身的話,迭代就是A不停的調用B. 所謂遞歸,簡而言之就是應用程序自身調用自身,以實現層次數據結構的查詢和訪問。
七、 枚舉(enumeration),在數學和計算機科學理論中,一個集的枚舉是列出某些有窮序列集的全部成員的程序,或者是一種特定類型對象的計數。這兩種類型常常(但不老是)重疊。枚舉是一個被命名的整型常數的集合!遍歷(traversal),是樹形結構的一種重要運算,指的是按照必定的規則訪問樹形結構中的每一個節點,並且每一個節點都只訪問一次。迭代(iterate),指的是按照某種順序逐個訪問列表中的每一項。迭代是重複反饋過程的活動,其目的一般是爲了接近併到達所需的目標或結果。 每一次對過程的重複被稱爲一次「迭代」,而每一次迭代獲得的結果會被用來做爲下一次迭代的初始值。循環(loop):指的是在知足條件的狀況下,重複執行同一段代碼。通常語言都會有三種類型的循環語句:for語句、while語句和do While語句。遞歸函數(Recursion function):是在一個函數經過名字調用自身的狀況下構成的。遞歸(recursion)在數學與計算機科學中,是指在函數的定義中使用函數自身的方法。遞歸一詞還較經常使用於描述以自類似方法重複事物的過程。
八、 遞歸:recursion,典型例子,階乘,挪大小盤子的問題(河內塔?)