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

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

人工智能 機器學習 算法
當前IT行業(yè)虛擬化比較流行,使用這種方式,找到合適的判斷參數(shù),就可以使用此算法使資源得到最大程度的合理利用。

[[205069]]

1.數(shù)學定義

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

并且滿足下列約束條件:

2.算法過程說明

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

舉例:

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

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

分析:從9往后觀察,到***的元素14都未發(fā)現(xiàn)亂序情況,不用處理。

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

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

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

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

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

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

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

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

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

從圖中可以看出,最長的綠線x的取值約是30到60,在這個區(qū)間內(nèi),Y的平均值一樣,那么從經(jīng)濟及病人抗藥性等因素考慮,使用藥量為30個單位是最理想的。

當前IT行業(yè)虛擬化比較流行,使用這種方式,找到合適的判斷參數(shù),就可以使用此算法使資源得到***程度的合理利用。

4.實驗代碼

  1. import numpy as np 
  2. import matplotlib.pyplot as plt 
  3. from matplotlib.collections import LineCollection 
  4. from sklearn.isotonic import IsotonicRegression 
  5. from sklearn.utils import check_random_state 
  6.  
  7. n = 100 
  8. ##產(chǎn)生一個0-99的列表 
  9. x = np.arange(n) 
  10. ##實例化一個np.random.RandomState的實例,作用是每次取的隨機值相同 
  11. rs = check_random_state(0) 
  12. ##randint(-50, 50):產(chǎn)生-50到50之間的整數(shù) 
  13. ##np.log  求以e為低的對數(shù) 
  14. y = rs.randint(-50, 50, size=(n,)) + 50. * np.log(1 + np.arange(n)) 
  15.  
  16. ##設置保序回歸函數(shù) 
  17. ir = IsotonicRegression() 
  18. ##訓練數(shù)據(jù) 
  19. y_ = ir.fit_transform(x, y) 
  20.  
  21. ##繪圖 
  22. segments = [[[i, y[i]], [i, y_[i]]] for i in range(n)] 
  23. ##plt.gca().add_collection(lc),這兩步就是畫點與平均直線的連線 
  24. lc = LineCollection(segments) 
  25.  
  26. fig = plt.figure() 
  27. plt.plot(x, y, 'r.', markersize=12) 
  28. plt.plot(x, y_, 'g.-', markersize=12) 
  29. plt.gca().add_collection(lc) 
  30. plt.legend(('Data''Isotonic Fit'), loc='lower right'
  31. plt.title('Isotonic regression'
  32. plt.show() 
責任編輯:武曉燕 來源: 博客園
相關推薦

2020-10-31 21:53:02

機器學習人工智能AI

2013-05-14 13:28:37

利用大數(shù)據(jù)價值

2023-08-10 07:00:06

虛擬代理客戶人工智能

2020-07-26 18:55:31

存儲緩存IT

2019-08-13 08:27:45

企業(yè)生產(chǎn)力物聯(lián)網(wǎng)IOT

2011-03-28 09:45:17

Hyper-V

2012-11-07 15:07:30

VMware虛擬化

2021-10-29 13:42:44

數(shù)據(jù)分析數(shù)據(jù)大數(shù)據(jù)

2023-04-03 13:48:13

云成本云計算

2024-01-11 11:04:48

云投資云計算云遷移

2013-04-02 09:15:40

服務器虛擬化

2011-12-08 10:10:57

私有云

2023-03-02 09:57:03

2013-05-16 09:47:40

VMware虛擬化

2015-11-16 11:14:09

初創(chuàng)公司社交媒體營銷

2011-11-15 09:45:43

云計算云應用

2020-12-03 11:07:15

數(shù)組貪心算法

2015-09-07 11:54:25

云計算數(shù)據(jù)中心資源利用

2020-08-24 22:26:21

物聯(lián)網(wǎng)數(shù)據(jù)IOT

2017-10-18 11:14:02

容器虛擬機云平臺
點贊
收藏

51CTO技術棧公眾號