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...