保序回歸 一種可以使資源利用率最大化的演算法

2021-08-17 17:16:54 字數 2439 閱讀 2227

1.數學定義

保序回歸是回歸演算法的一種,基本思想是:給定乙個有限的實數集合,訓練乙個模型來最小化下列方程:

並且滿足下列約束條件:

2.演算法過程說明

從該序列的首元素往後觀察,一旦出現亂序現象停止該輪觀察,從該亂序元素開始逐個吸收元素組成乙個序列,直到該序列所有元素的平均值小於或等於下乙個待吸收的元素。

舉例:原始序列:<9, 10, 14>

結果序列:<9, 10, 14>

分析:從9往後觀察,到最後的元素14都未發現亂序情況,不用處理。

原始序列:<9, 14, 10>

結果序列:<9, 12, 12>

分析:從9往後觀察,觀察到14時發生亂序(14>10),停止該輪觀察轉入吸收元素處理,吸收元素10後子串行為<14, 10>,取該序列所有元素的平均值得12,故用序列<12, 12>替代<14, 10>。吸收10後已經到了最後的元素,處理操作完成。

原始序列:<14, 9, 10, 15>

結果序列:<11, 11, 11, 15>

分析:從14往後觀察,觀察到9時發生亂序(14>9),停止該輪觀察轉入吸收元素處理,吸收元素9後子串行為<14,9>。求該序列所有元素的平均值得12.5,由於12.5大於下個待吸收的元素10,所以再吸收10,得序列<14, 9, 10>。求該序列所有元素的平均值得11,由於11小於下個待吸收的元素15,所以停止吸收操作,用序列<11, 11, 11>替代<14, 9, 10>。

3.舉例說明下面實驗的原理

以某種藥物的使用量為例子:

假設藥物使用量為陣列x=0,1,2,3,4….99,病人對藥物的反應量為y=y1,y2,y3…..y99 ,而由於個體的原因,y不是乙個單調函式(即:存在波動),如果我們按照藥物反應排序,對應的x就會成為亂序,失去了研究的意義。而我們的研究的目的是為了觀察隨著藥物使用量的遞增,病人的平均反應狀況。在這種情況下,使用保序回歸,即不改變x的排列順序,又求的y的平均值狀況。如下圖所示:

從圖中可以看出,最長的綠線x的取值約是30到60,在這個區間內,y的平均值一樣,那麼從經濟及病人抗藥性等因素考慮,使用藥量為30個單位是最理想的。

當前it行業虛擬化比較流行,使用這種方式,找到合適的判斷引數,就可以使用此演算法使資源得到最大程度的合理利用。

4.實驗**

import numpy 

asnp 

import matplotlib.pyplot as

plt 

from

matplotlib.collections import linecollection 

from

sklearn.isotonic import isotonicregression 

from

sklearn.utils import check_random_state 

n = 100 

##產生乙個0-99的列表 

x = np.arange(n) 

##例項化乙個np.random.randomstate的例項,作用是每次取的隨機值相同 

rs = check_random_state(0) 

##randint(-50, 50):產生-50到50之間的整數 

##np.log  求以e為低的對數 

y = rs.randint(-50, 50, size

=(n,)) + 50. * np.log(1 + np.arange(n)) 

##設定保序回歸函式 

ir = isotonicregression() 

##訓練資料 

y_ = ir.fit_transform(x, y) 

##繪圖 

segments = [[[i, y[i]], [i, y_[i]]] for

i in

range(n)] 

##plt.gca().add_collection(lc),這兩步就是畫點與平均直線的連線 

lc = linecollection(segments) 

fig = plt.figure() 

plt.plot(x, y, 'r.'

, markersize=12) 

plt.plot(x, y_, 'g.-'

, markersize=12) 

plt.gca().add_collection(lc) 

plt.legend(('data'

, 'isotonic fit'

), loc=

'lower right'

) plt.title('isotonic regression'

) plt.show() 

Spark MLlib之保序回歸(一)

當前it行業虛擬化比較流行,使用這種方式,找到合適的判斷引數,就可以使用此演算法使資源得到最大程度的合理利用。1.數學定義 保序回歸是回歸演算法的一種,基本思想是 給定乙個有限的實數集合,訓練乙個模型來最小化下列方程 並且滿足下列約束條件 2.演算法過程說明 從該序列的首元素往後觀察,一旦出現亂序現...

邏輯回歸演算法的一種實現

邏輯回歸演算法的一種實現 1 import numpy as np import matplotlib.pyplot as plt 載入資料集,將資料集中兩列資料分別儲存到datamat和labelmat def loaddataset datamat labelmat fr open home j...

「資費」是一種稀缺資源

什麼是資源?按照定義,資源就是指自然界和人類社會中一種可以用以創造物質財富和精神財富的具有一定量的積累的客觀存在形態,如土地資源 礦產資源 森林資源 海洋資源 石油資源 人力資源 資訊資源等。資源的經濟學內涵就是指生產要素。我認為,資費,也是一種 資源 而且是一種稀缺資源。資費資源 概念具有以下三個...