91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 9KB
    文件類型: .py
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-06-18
  • 語言: Python
  • 標簽: neural??learni??mlp??

資源簡介

機器學(xué)習(xí),神經(jīng)網(wǎng)絡(luò)多層感知器實現(xiàn),稍事修改即可實現(xiàn)手寫數(shù)字識別,鳶尾花識別實驗等

資源截圖

代碼片段和文件信息

import?math
import?random
import?matplotlib.pyplot?as?plt
import?numpy?as?np

class?moon_data_class(object):
????def?__init__(self?N?d?r?w):???#?總數(shù)??距離?半徑?寬度
????????self.N?=?N
????????self.w?=?w
????????self.d?=?d
????????self.r?=?r

????def?dbmoon(self):
????????N1?=?10?*?self.N
????????N?=?self.N
????????r?=?self.r
????????w2?=?self.w?/?2
????????d?=?self.d
????????done?=?True
????????data?=?np.empty(0)??#創(chuàng)建空的數(shù)組
????????while?done:
????????????#?generate?Rectangular?data
????????????tmp_x?=?2?*?(r?+?w2)?*?(np.random.random([N1?1])?-?0.5)
????????????tmp_y?=?(r?+?w2)?*?np.random.random([N1?1])
????????????tmp?=?np.concatenate((tmp_x?tmp_y)?axis=1)
????????????tmp_ds?=?np.sqrt(tmp_x?*?tmp_x?+?tmp_y?*?tmp_y)
????????????#?generate?double?moon?data?---upper
????????????idx?=?np.logical_and(tmp_ds?>?(r?-?w2)?tmp_ds?????????????idx?=?(idx.nonzero())[0]

????????????if?data.shape[0]?==?0:
????????????????data?=?tmp.take(idx?axis=0)
????????????else:
????????????????data?=?np.concatenate((data?tmp.take(idx?axis=0))?axis=0)
????????????if?data.shape[0]?>=?N:
????????????????done?=?False
????????#?print?(data)
????????db_moon?=?data[0:N?:]
????????#?print?(db_moon)
????????#?generate?double?moon?data?----down
????????data_t?=?np.empty([N?2])
????????data_t[:?0]?=?data[0:N?0]?+?r
????????data_t[:?1]?=?-data[0:N?1]?-?d
????????db_moon?=?np.concatenate((db_moon?data_t)?axis=0)
????????return?db_moon


def?rand(a?b):
????return?(b?-?a)?*?random.random()?+?a??#隨機數(shù)


def?sigmoid(x):??#?定義激活函數(shù)?sigmoid函數(shù)??logistics函數(shù)?邏輯斯弟
????return?1.0?/?(1.0?+?math.exp(-x))


def?sigmoid_derivate(x):?#?定義激活函數(shù)的導(dǎo)數(shù)
????return?x?*?(1?-?x)??#?sigmoid函數(shù)的導(dǎo)數(shù)


class?BP_NET(object):??#?定義神經(jīng)網(wǎng)絡(luò)
????def?__init__(self):
????????self.input_n?=?0???????????#輸入層+偏置項?三維??1,xy
????????self.hidden_n?=?0??????????#隱藏層數(shù)量?5
????????self.output_n?=?0??????????#輸出層數(shù)量?1
????????self.input_cells?=?[]??????#矩陣化?輸入層輸出??隱藏層輸入
????????self.bias_input_n?=?[]
????????self.bias_output?=?[]
????????self.hidden_cells?=?[]?????#隱藏層激活函數(shù)值,及隱藏層輸出
????????self.output_cells?=?[]?????#?輸出層輸出
????????self.input_weights?=?[]
????????self.output_weights?=?[]

????????self.input_correction?=?[]
????????self.output_correction?=?[]

????def?setup(self?ni?nh?no):???#初始化神經(jīng)網(wǎng)絡(luò):輸入層,隱藏層,輸出層元素個數(shù)
????????self.input_n?=?ni?+?1??#?輸入層+偏置項?3
????????self.hidden_n?=?nh?????#隱藏層數(shù)量?5
????????self.output_n?=?no?????#輸出層數(shù)量?1
????????self.input_cells?=?[1.0]?*?self.input_n???#矩陣化
????????self.hidden_cells?=?[1.0]?*?self.hidden_n
????????self.output_cells?=?[1.0]?*?self.output_n

????????self.input_weights?=?np.zeros((self.input_nself.hidden_n))???#隱藏層?權(quán)值?3*5
????????self.output_weights?=?np.zeros((self.hidden_nself.output_n))?#輸出層?權(quán)值?5*1

????????for?i?in?range(self.input_n):???#?3*5
????????????for?h?in?range(self.hidden_n):
????????????????self.input_weights[i][h]?=?rand(-0.2?0.2)???#?隱藏層?權(quán)值?5*3?賦值隨機數(shù)

??????

評論

共有 條評論