3.2評估的環境模型
當我們在第一章介紹復合程式時,在1.1.5部分中,我們使用評估的替換模型來定義出把程式應用到引數上的含義。
為了應用乙個復合程式到引數上,要評估程式體,並且把形式引數替換成對應的實際引數。
一旦我們把賦值語句加入到我們的語言中,這樣的定義就不充足了。特別是在3.1.3部分中的討論那樣,
有賦值語句的存在,乙個變數不再被認為僅是乙個值的名稱了。而是乙個變數必須要在某種程度上
控制乙個值被儲存的地方。在我們的新的評估模型中,這些地方被維護在叫做環境的結構中。
乙個環境是乙個幀的序列。任何乙個幀是乙個表,它可能是空的,在表中有對變數的名稱和值的關聯的資訊。
(乙個幀中可能包括著對任何乙個變數的最多乙個繫結)。任何乙個幀也都有乙個指標指向它的外部的環境。
為了討論的需要,這個幀被認為是全域性的。在乙個環境中的乙個變數的值,是由包含了這個變數的繫結的環境的
第一幀中的變數繫結的值。如果沒有幀指定了變數的繫結,那麼變數被告知,在環境中沒有繫結。
——————
| i |
| x:3 |
| y:5 |
------------
^ ^
c | | d
----------- | | |-----------
| ii| | | | iii|
|z:6 |---| |-------|n:1 |
|x:7 | |y:2 |
----------- ------------
^ ^
| |
a b
圖3.1 乙個簡單的環境變數
圖3.1顯示出乙個簡單的環境結構包括三個幀。標籤是i,ii,iii。在圖例的,abcd是指向環境的指標。
c和d指向相同的環境。變數z和x被繫結在幀ii中。 變數y和x被繫結在幀 i中。 變數 x在環境 d中的值是3,
變數 x在環境 b中的值 也是3。這是按照如下的方式決定的。
我們檢查序列中的第乙個幀也就是幀iii,沒有發現變數x的繫結。所以我們繼續找到外部的環境d,找到幀i中的繫結。
另乙個方面,在環境a中的變數x的值是7。因為在序列的第乙個幀中也就是幀ii中包括了變數x的繫結,值為7。
對於環境a來說,在幀ii中的變數x繫結為7,覆蓋了在幀i中的變數x繫結為3。
對於評估流程來說,環境是重要的,因為它決定了表示式被評估的上下文。的確,一種可能的說法是在程式語言中的表示式
不能說有任意的含義。而是,乙個表示式有乙個意義僅當它在某種環境中被評估。即使是表示式的解釋像
(+ 1 1)正常,依賴於對+這個符號的加法的操作的理解。 因此,在我們的評估的模型中,我們總是說評估乙個表示式,在
某個環境中。為了描述與直譯器的互動,我們將假定有乙個全域性的環境,包括乙個單獨的幀。這個幀沒有外部環境。
包括關聯到原生程式的符號的值。例如,+是乙個做加法的符號,也可以說,符號+被繫結到了全域性環境中的原生的加法程式。
模型的評估
錯誤率 如果在m個樣本中有a個樣本分類錯誤,那麼錯誤率 a m 精度 1 錯誤率 誤差 實際 輸出與樣本的真實輸出之間的差異 訓練誤差 經驗誤差 學習器在訓練集上的誤差,在很多情況下,我們都可以學得乙個經驗誤差很小,在訓練集上表現很好的學習器 泛化誤差 在新樣本上的誤差,我們希望得到的是乙個泛化誤差...
kmeans及模型評估指標 模型的評估指標
想必大家都知道,構建機器學習模型就是為了能夠更好的訓練我們的資料集,使得模型的準確率達到最大,那麼當我們構建好了我們的學習模型,可以通過哪些指標來評估我們模型的好壞呢?這就是我今天要給大家介紹的內容。一.精確率與召回率 1.混淆矩陣 在分類過程中,結果與正確標記之間存在四種不同的組合,構成了混淆矩陣...
模型評估的方法
一 回歸模型評估 1 mse 均方誤差 sklearn.metrics.mean squared error y test,y predict 二 分類模型評估 1 accuracy score分類準確率分數 正確的樣本數目佔總體的比例 正確的樣本數目 正例 正確的 負例 正確的樣本數 注 如果乙個...