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

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • panda數據分析庫
    df?=?pd.read_csv(file?,?header?=?None)
    df.head(10)?讀取10行
    df.loc[0:100?,?4].values?讀取0到100行的第四列數據
    iloc主要使用數字來索引數據,而不能使用字符型的標簽來索引數據
    而loc則剛好相反,只能使用字符型標簽來索引數據,不能使用數字
    來索引數據
    
    plt.scatter繪制散點圖
    plt.scatter(X[:50?,?0]?,?X[:50?,?1]?,?color='red'?,?marker='o')
    前50列數據,x軸為0列,y軸為1列數據,畫出的點為紅圈


    查看全部
  • ?X:[???[1,2,3]?,?[4,5,6]???]
    ?y:[????????1????,????-1???????]
    ?zip(X,y)?=?[[1,2,3,?1?]?,?[4,5,6?,?-1]]
    ?
    ?np.zero?向量全賦零操作
    ?np.dot(X?,?y)??點積??w_[1:]權重w從1到最后
    ?np.where(x>0?,?true?,?false)?等價于冒號表達式
    查看全部
  • X?=?np.array
    X:shape[n_samples?,?n_features]
    X:[?[1?,?2?,?3]?,?[4?,?5?,?6]?]
    n_samples?:?2??n_features?:?3
    X.shape[1]就是X的n_samples值,值為2。


    查看全部
  • 和方差求偏導

    查看全部
  • import numpy as np

    class perceptron(object):

    ? ? '''

    ? ? eta:學習率

    ? ? n_iter:權重向量的訓練次數

    ? ? w_:神經分叉權重向量 ?w處理輸入x

    ? ? errors_:用于記錄神經元判斷出錯次數

    ? ? '''

    ? ? def _int_(self,eat=0.01,n_iter=10):

    ? ? ? ? self.eat=eat;

    ? ? ? ? self.n_iter=n_iter;

    ? ? ? ? pass

    ? ? def fit(self,X,y):

    ? ? ? ? """

    ? ? ? ? 輸入訓練數據,培訓神經元,X是輸入的訓練樣本,y是對樣本的正確分類

    ? ? ? ? X:shape[n_samples,n_features]

    ? ? ? ? n_samples:幾組數據。n_features:有多少個神經分叉。

    ? ? ? ? X[[1,2,3],[4,5,6]]?

    ? ? ? ? n_samples:2

    ? ? ? ? n_features:3

    ? ? ? ? y:[1,-1]

    ? ? ? ??

    ? ? ? ? """

    ? ? ? ? '''

    ? ? ? ? 初始化權重向量為0

    ? ? ? ? w_:是一個一位數組,代表每個神經纖維的權重向量

    ? ? ? ? X.shape[1]:在計算有幾個神經纖維

    ? ? ? ? 加一是因為前面算法提到的w0,也就是步調函數的閾值

    ? ? ? ? 開始的時候閾值 ?塞它=w0 用w0保存

    ? ? ? ? '''

    ? ? ? ? self.w_=np.zero(1+X.shape[1]);

    ? ? ? ? self.errors=[];

    ? ? ? ? for _ in range(self.n_iter):

    ? ? ? ? ? ? error=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):

    ? ? ? ? ? ? ? ? '''

    ? ? ? ? ? ? ? ? target:每組數據,一個個神經元 判斷的正確值標準值

    ? ? ? ? ? ? ? ? update=學習率*(y-y')

    ? ? ? ? ? ? ? ? '''

    ? ? ? ? ? ? ? ? update=self.eta*(target-self.predict(xi))

    ? ? ? ? ? ? ? ? '''

    ? ? ? ? ? ? ? ? predict:函數,是用來根據每個神經元輸入的一組數據得到自己判斷的結果

    ? ? ? ? ? ? ? ? xi 是一個向量

    ? ? ? ? ? ? ? ? update*xi等價:

    ? ? ? ? ? ? ? ? [的它w(1)=x[1]*update,的它w(2)=x[2]*update,的它w(3)=x[3]*update,]

    ? ? ? ? ? ? ? ? '''

    ? ? ? ? ? ? ? ? self.w_[1:] +=update*xi

    ? ? ? ? ? ? ? ? self.w_[0] +=update;

    ? ? ? ? ? ??

    ? ? ? ? ? ??

    ? ? ? ? ? ??

    ? ? ? ? ? ? ? ? errors += int(update != 0.0)

    ? ? ? ? ? ? ? ? self.errors_append(errors) ??

    ? ? ? ? ? ? ? ? pass

    ? ? ??

    ? ? ? ? ? ? pass

    ? ? ? ? def net_input(self,x):

    ? ? ? ? ? ? '''

    ? ? ? ? ? ? 完成神經元對輸入信號的處理(加權點乘)

    ? ? ? ? ? ? '''

    ? ? ? ? ? ? return np.dot(X ?, self.w_[1:] + self.w_[0])

    ? ? ? ? ? ? pass

    ? ? ? ? def predict(self,x):

    ? ? ? ? ? ? ? ? ? ? ? ? ? '''

    ? ? ? ? ? ? ? ? ? ? ? ? ? 加權點乘后用于與閾值判斷

    ? ? ? ? ? ? ? ? ? ? ? ? ? '''

    ? ? ? ? ? ? return np.where(self.net_input(X) >= 0.0 , 1 , -1)

    ? ? ? ? ? ? pass

    ? ? ? ??

    ? ? ? ? pass


    查看全部
  • 對人類智商和尊嚴進行全面的碾壓...

    查看全部
    0 采集 收起 來源:課程的開篇詞

    2018-09-24

  • 感知器數據分類算法步驟

    查看全部
  • file=""
    import?pandas?as?pd
    import?matplotlib.pyplot??as?plt
    import?numpy?as?np
    df=pd.read_cvs(flie,header=none)//文件第一行即數據第一行
    
    y=df.loc[0:100,4].values//讀取數據,將0-100行數據的第四列,作為輸出y(vector)
    y=np.where(y=="",1,-1)//將輸出字符串轉化成數字
    x=df.loc[0:100,[0,2]].values//第0列和第2列作為輸入抽取出來
    
    plt.scatter(x[:50,0],x[:50,1],color='red',marker='o',label="xxx")
    plt.scatter(x[50:100,0],x[50:100,1],color='blue',marker='x',label="yyy")
    plt.xlabel('lll')
    plt.ylabel('mmm')
    plt.legend(loc='upper?left')//設置圖例屬性
    plt.show()


    查看全部
  • 感知器算法 試用范圍:

    1. Linearly separable 線性可分割 √

    2. Not linearly separable? 線性不可分割的 ×


    查看全部
  • 閾值的更新

    ????閾值

    ????????一開始是 根據我們的經驗,設定一個值

    ????????這個值再后續中要不斷的更新。

    ????????就是 w0 的更新。沒有x0可以乘。

    θ = -w0?

    wo = w0 + dw0

    dw0 = η * e(y)



    查看全部
  • 權重更新算法:

    wj = wj + dwj

    dwj = η * (y - y^) * xj

    ? ? ? ?=?η * e(y) * xj?

    η:學習率,是[0, 1]間的一個小數。

    ????需要模型的設計者自己去設定。模型自己訓練中不斷地調整權重w的取值。然鵝,不同的學習率η,有可能會影響到最后的模型學習效果。




    查看全部
  • 步調函數 & 閾值

    z* = z - theta? (????)

    z* ><? 2* theta


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

    1. 把權重向量w初始化為0(或[0, 1]間任意小數);

    2. 把訓練樣本輸入感知器,得到分類結果(-1, 或1);

    3. 根據分類結果更新權重向量w 。


    整個機器學習的目的,就是 通過輸入的訓練樣本,反復去更新權重向量w,直到權重向量更新到一定程度之后,我們的整個模型才能有效地對未知輸入做出有效的分類和預測。


    查看全部
  • 123
    查看全部
  • 老師沒有把代碼貼出來,光看老師講映像不夠深刻,還是要自己動手。同學把自己整理的代碼貼出來給大家看看:

    使用PYTHON實現簡單的單一神經元

    查看全部

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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