亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • class?AdalineGD(object):
    ????def?__init__(self,?eta,?n_iter):
    ????????self.eta?=?eta
    ????????self.n_iter?=?n_iter
    ????def?fit(self,?X,?y):
    ????????self.w_?=?np.zeros(1?+?X.shape[1])
    ????????self.cost_?[]
    ????????for?i?in?range(self.n_iter):
    ????????????output?=?self.net_input(X)
    ????????????errors?=?y?-?output
    ????????????self.w_[1:]?+=?self.eta?*?X.T.dot(errors)
    ????????????self.w_[0]?+=?self.eta?*?errors.sum()
    ????????????cost?=?(errors?**?2).sum()?/?2.0
    ????????????self.cost_.append(cost)
    ????????return?self
    ????def?net_input(self,?X):
    ????????return?np.dot(X,?self.w_[1:])?+?self.w_[0]
    ????def?activation(self,?X):
    ????????return?self.net_input(X)
    ????def?predict(self,?X):
    ????????return?np.where(self.activation(X)?>=?0,?1,?-1)


    查看全部
  • η是前面提到的學習率,μ=-η。

    查看全部
  • 倒數第三行,求和符號下面的是j,不是i。

    查看全部
  • 對w求偏導,會得到一條切線的斜率k,當在U形圖左半部的時候,k<0,增大w的值,在在右半部的時候,k>0,減小w的值,就會找到J(w)的最小值。

    查看全部
  • 不斷調整w0-wm,使得J(w)的值最小,對神經元的訓練效果才最好。

    查看全部
  • 感知器的激活函數是步調函數,輸入值大于給定的閾值輸出1,小于輸出0。自適應線性神經元激活函數是1*w0+x1*w1+... 點積求和的計算結果與正確的結果比較

    查看全部
  • from?matplotlib.colors?import?ListedColormap
    def?plot_decision_region(X,?y,?classifier,?resolution=0.02):
    ????marker?=?('s',?'x',?'o',?'v')
    ????colors?=?('red',?'blue',?'lightgreen',?'gray',?'cyan')
    ????cmap?=?ListColormap(colors[:len(np.unique(y))])
    ????
    ????x1_min,?x1_max?=?X[:,?0].min()?-?1,?X[:,?0].max()
    ????x2_min,?x2_max?=?X[:,?1].min()?-?1,?X[:,?1].max()
    ????
    ????#?將np.arange()中的向量擴展成一個矩陣
    ????'''
    ????xx1:
    ????a?=?np.arange(x1_min,?x1_max,?resolution)?向量元素為185個
    ????xx1[255,?185],將a中的元素作為一行,重復255行
    ????xx2:
    ????b?=?np.arange(x2_min,?x2_max,?resolution)?向量元素為255個
    ????xx2[255,?185],將b中的元素作為一列,重復185列
    ????'''
    ????xx1,?xx2?=?np.mesbgrid(np.arange(x1_min,?x1_max,?resolution),
    ???????????????????????????np.arrange(x2_min,?x2_max,?resolution))


    查看全部
  • file?=?"iris.csv"
    import?pandas?as?pd?#?數據讀取類庫
    #?header指定文件是否有表頭
    df?=?pd.read_csv(file,?header?=?None)
    #?顯示文件前十行
    df,head(10)
    import?matplotlib.pyplot?as?plt
    import?numpy?as?np
    #?得到數據前一百行的第五列
    y?=?df.loc[0:100,?4].values
    print(y)
    #?將字符串轉化為數字
    y?=?np.where(y?==?'Iris-setosa',?-1,?1)
    #?抽取數據第0列和第2列
    x?=?df,iloc[0:100,?[0,?2]].values
    #?scatter散列點繪圖
    plt.scatter(x[:50,?0],?x[:50,?1],?color='red',?marker='o',?label='setosa')
    plt.scatter(x[50:100,?0],?x[50:100,?1],?color='blue',?marker='x',?label='versicolor')
    plt.xlabel('花瓣長度')
    plt.ylabel('花莖長度')
    plt.legend(loc='upper?left')
    plt.show()


    查看全部
  • import?numpy?as?np
    class?Perceptron(object):
    ????def?__init__(self,?eta?=?0.01,?n_iter?=?10):
    ????????self.eta?=?eta
    ????????self.n_iter?=?n_iter
    ????def?fit(self,?X,?y):
    ????????self.w_?=?np.zero(1?+?X.shape[1])
    ????????self.error_?=?[]
    ????????for?_?in?range(self.n_iter):
    ????????????errors?=?0
    ????????????'''
    ????????????X:[[1,?2,?3],?[4,?5,?6]
    ????????????y:[1,?-1]
    ????????????zip(X,?y):[[1,?2,?3,?1].?[4,?5,?6,?-1]]
    ????????????'''
    ????????????for?xi,?target?in?zip(X,?y):
    ????????????????'''
    ????????????????update?=?n?*?(y?-?y')
    ????????????????'''
    ????????????????update?=?self.eta?*?(target?-?self.predict(xi))
    ????????????????'''
    ????????????????xi是一個向量
    ????????????????update?*?xi等價于
    ????????????????[w1?=?x1*update,?w2?=?x2*update,?......]
    ????????????????'''
    ????????????????self.w_[1:]?+=?update?*?xi
    ????????????????self.w_[0]?+=?update
    ????????????????errors?+=?int(update?!=?0.0)
    ????????????????self.errors_.append(errors)
    ????????def?net_input(self,?X):
    ????????????'''
    ????????????z?=?w0*1?+?w1*x1?+?w2*x2?+.....
    ????????????np.dot()是做點積
    ????????????'''
    ????????????return?np.dot(X,?self.w_[1:])?+?self.w_[0]
    ????????def?predict(self,?X):
    ????????????return?np.where(self.net_input(X)?>=?0.0,?1,?-1)


    查看全部
  • import?numpy?as?np
    class?Perceptron(object):
    ????'''
    ????eta:學習率
    ????n_iter:權重向量的訓練次數
    ????w_:神經分叉權重向量
    ????errors_:用于記錄神經元判斷出錯次數
    ????'''
    ????def?__init__(self,?eta?=?0.01,?n_iter?=?10);
    ????????self.eta?=?eta
    ????????self,n_iter?=?n_iter
    ????def?fit(self,?X,?y):
    ????????'''
    ????????輸入訓練數據,培訓神經元
    ????????X是輸入樣本向量,y是對應的樣本分類
    ????????X:shape[n_samples,?n_features]
    ????????X:[[1,?2,?3],?[4,?5,?6]]
    ????????n_samples:?2
    ????????n_features:?3
    ????????y:[1,?-1]
    ????????'''
    ????????#初始化權重向量為0,加1是因為提到的w0,即步調函數的閾值
    ????????self.w_?=?np.zero(1?+?X.shape[1])
    ????????self.errora_?=?[]


    查看全部
  • 適用范圍:預測的數據是可以進行線性分割的

    感知器的隱含層是點積求和函數

    查看全部
  • 閾值也是需要更新的
    查看全部
  • 權重更新算法

    學習率是訓練者人為設置的

    查看全部
  • 右側的關于z的函數就是感知器

    查看全部
  • 感知器數據分類算法步驟


    查看全部

舉報

0/150
提交
取消
課程須知
有一定的編程基礎,例如掌握C語言。
老師告訴你能學到什么?
1、機器學習的基本概念介紹 2、數據分類算法介紹 3、神經元感知器分類算法并進行實現 4、數據解析和可視化設計 5、使用數據訓練神經網絡 6、如何使用訓練后的神經網絡分類數據 7、適應性線性神經元的基本原理并實現 8、適應性線性神經元網絡進行數據分類

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!