《集體智慧型程式設計》第8章

2021-08-10 02:22:49 字數 1927 閱讀 4504

1.p175

在計算高斯函式時,**中的預設標準差為10.0,如果預設標準差為10是得不到正文中的資料的,這裡的預設值應該改為1.0

附上高斯函式的公式和影象

公式中的a代表高斯函式的最大值,b代表平均值(即當高斯函式取最大值時x的值),c代表標準差,c^2表示方差。

上圖表示a=1,b=0, c=1

上圖表示a=1, b=0, c=10(注意橫座標數值)

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

注意此處標準差為1,但是在後邊p181計算按比例縮放後的**結果時,此處的標準差應該改回10,否則會導致分母為0的錯誤(error:float division),切記。

2.p182

>>>optimization.geneticoptimize(numpredict.weightdomain, costf, popsize = 5, lrate = 1, maxv = 4, iters = 20)
應改為

>>>optimization.swarmoptimize(numpredict.weightdomain, costf, popsize = 5, lrate = 1, maxv = 4, iters = 20)
def

geneticoptimize

(domain,costf,popsize=20,lrate=0.1,maxv=2.0,iters=50):

# initialize individuals

# current solutions

x=# best solutions

p=# velocities

v=for i in range(0,popsize):

vec=[float(random.randint(domain[i][0],domain[i][1]))

for i in range(len(domain))]

for i in vec])

for ml in range(0,iters):

for i in range(0,popsize):

# best solution for this particle

if costf(x[i])# best solution for any particle

for j in range(0,popsize):

if costf(p[j])for d in range(len(x[i])):

# update the velocity of this particle

v[i][d]+=lrate*(p[i][d]-x[i][d])+lrate*(p[g][d]-x[i][d])

# constrain velocity to a maximum

if v[i][d]>maxv: v[i][d]=maxv

elif v[i][d]

# constrain bounds of solutions

x[i][d]+=v[i][d]

if x[i][d]0]: x[i][d]=domain[d][0]

elif x[i][d]>domain[d][1]: x[i][d]=domain[d][1]

#print p[g],costf(p[g])

return p[g]

就可以得到結果

集體智慧型程式設計 第1章 集體智慧型導言

集體智慧型通常是指為了創造新的想法,而將一群人的行為 偏好或思想結合在一起。完成這項工作的最基礎的方法便是使用調查問卷或普查。從一大群人中搜尋的答案可以使我們得到關於群主的統計結論 組中的個體成員將會被忽視。從獨立的資料提供者那裡得到新的結論,是集體智慧型所真正關注的。機器學習是人工智慧領域中與演算...

集體智慧型程式設計第7章 讀書筆記

最近在讀 集體智慧型程式設計 這本書,作了一些筆記,好讓自己印象深刻點,不過沒有記錄太多的細節和 第7章主要涉及決策樹分類器。相比於貝葉斯分類器 神經網路分類,決策樹分類器的好處在於模型具有易於理 解的特點,可以將結果轉換成一系列簡單的if else語句。乙個二維表中,行表示使用者,列表示使用者的屬...

集體智慧型程式設計學習

集體智慧型程式設計學習 概要 文章主要討論一些我遇到的問題,學習到的方法,總結一些演算法的實現過程。注 所參考的版本為2009年出版。書中packages與現在有變化,但是可以通過查閱相關packages文件來找到相關功能 3.相似度排序 4.相似人群加權排名及歸一化 6.構建基於 del.icio...