为了账号安全,请及时绑定邮箱和手机立即绑定
  • 感知器分类算法 权重和训练样本进行点积,对点积结果求和得到z值,送至激活函数,若z>0,则通过激活函数输出结果为1,若z<0,输出为-1.这样就把数据进行了分类. 当然,其中涉及到权重和阈值的更新.
    查看全部
  • countourf 给数据画分类线
    查看全部
  • meshgrid函数的作用是把构造的向量扩展成二维矩阵
    查看全部
  • 这个图好
    查看全部
  • 输入之后与每个对应的权重做点积,然后看得到的结果与真实的结果是否相同,相同则OUTPUT,不同则通过激活函数Activation function,更新权重的值,再训练反复。
    查看全部
  • 权重更新算法: 1,如果y=y',y-y'=0,&W(j)=0,W(j)=W(j)+&W(j)=W(j),就不需要更新; 2.W(j)是根据结果自动更新数值,n*是人为设置,根据自己的经验设定,不断探索出更准确的数值,这个n*会影响到最终的检测效果
    查看全部
  • if __name__ == '__main__': file = 'iris.data' df = pd.read_csv(file, header=None) # 需要第一行 y = df.loc[0:100, 4].values # 0-100行条目取出来 y = np.where(y == 'Iris-setosa', -1, 1) x = df.iloc[0:100, [0, 2]].values # 把第0列和第2列的0-100行数据抽取出来组成一个新的二维数组 # 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(u'花瓣的长度') # plt.ylabel(u'花径的长度') # plt.legend(loc='upper left') # plt.show() ppn = Perceptron(eta=0.1, n_iter=10) ppn.fit(x, y) # plt.plot(range(1, len(ppn.errors_) + 1), ppn.errors_, marker='o') # plt.xlabel(u'Epochs') # plt.ylabel(u'错误分类次数') plot_decision_regions(x, y, ppn, resolution=0.02) plt.xlabel(u'花瓣的长度') plt.ylabel(u'花径的长度') plt.legend(loc='upper left') plt.show() pass
    查看全部
  • 查看全部
  • 感知器数据分类算法步骤:

    1、把权重向量W初始化为0,或把每个分量初始化为【0,1】间任意小数

    2、把训练样本输入感知器,得到分类结果(-1或1)

    根据分类结果更新权重向量

    查看全部
  • 阈值的更新

    查看全部
  • 感知器算法试用范围

    查看全部

  • 权重更新算法

    查看全部
  • ada = AdalineGD(eta = 0.001, n_iter = 50)
    ada.fit(x, y)
    plot_decision_region(x, y, classifier = ada)
    plt.title('Adaline-Gradient decent')
    plt.xlabel('the length of huajing')
    plt.ylabel('the length of huaban')
    plt.legend(loc='upper left')
    plt.show()


    查看全部
  • 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)


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

    查看全部

举报

0/150
提交
取消
课程须知
有一定的编程基础,例如掌握C语言。
老师告诉你能学到什么?
1、机器学习的基本概念介绍 2、数据分类算法介绍 3、神经元感知器分类算法并进行实现 4、数据解析和可视化设计 5、使用数据训练神经网络 6、如何使用训练后的神经网络分类数据 7、适应性线性神经元的基本原理并实现 8、适应性线性神经元网络进行数据分类

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!