简介 目录 评价 推荐
  • 均思维 2024-05-15

    感知器分类算法叽叽叽叽叽叽


    0赞 · 0采集
  • weixin_慕侠6048814 2023-12-16

    0赞 · 0采集
  • 爱飞的小鸟 2020-11-08

    感知器数据分类算法步骤:

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

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

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

    0赞 · 0采集
  • 慕的地7544270 2020-01-30

    阈值的更新

    截图
    0赞 · 0采集
  • 慕的地7544270 2020-01-30

    感知器算法试用范围

    截图
    0赞 · 1采集
  • 慕的地7544270 2020-01-30

    权重更新算法

    截图
    0赞 · 0采集
  • Mrsls 2019-08-07
    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()


    截图
    0赞 · 0采集
  • Mrsls 2019-08-06
    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赞 · 0采集
  • Mrsls 2019-08-06

    η是前面提到的学习率,μ=-η。

    截图
    0赞 · 0采集
  • Mrsls 2019-08-06

    倒数第三行,求和符号下面的是j,不是i。

    截图
    0赞 · 0采集
  • Mrsls 2019-08-06

    对w求偏导,会得到一条切线的斜率k,当在U形图左半部的时候,k<0,增大w的值,在在右半部的时候,k>0,减小w的值,就会找到J(w)的最小值。

    截图
    0赞 · 0采集
  • Mrsls 2019-08-06

    不断调整w0-wm,使得J(w)的值最小,对神经元的训练效果才最好。

    截图
    0赞 · 0采集
  • Mrsls 2019-08-06

    感知器的激活函数是步调函数,输入值大于给定的阈值输出1,小于输出0。自适应线性神经元激活函数是1*w0+x1*w1+... 点积求和的计算结果与正确的结果比较

    截图
    0赞 · 0采集
  • Mrsls 2019-08-03
    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))


    1赞 · 0采集
  • Mrsls 2019-07-29
    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()


    0赞 · 0采集
  • Mrsls 2019-07-28
    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)


    1赞 · 0采集
  • Mrsls 2019-07-27
    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_ = []


    2赞 · 0采集
  • Mrsls 2019-07-27

    适用范围:预测的数据是可以进行线性分割的

    感知器的隐含层是点积求和函数

    截图
    0赞 · 0采集
  • Mrsls 2019-07-27
    阈值也是需要更新的
    截图
    0赞 · 0采集
  • Mrsls 2019-07-26

    权重更新算法

    学习率是训练者人为设置的

    截图
    0赞 · 0采集
  • Mrsls 2019-07-26

    右侧的关于z的函数就是感知器

    截图
    0赞 · 0采集
  • Mrsls 2019-07-26

    感知器数据分类算法步骤


    截图
    0赞 · 0采集
  • Mrsls 2019-07-26

    分类算法大致有两种类型:感知器;适应性的线性神经元。

    0赞 · 0采集
  • 孤雁西风 2019-05-13

    算法步骤

    截图
    0赞 · 0采集
  • 孤雁西风 2019-05-13

    神经网络数学概念

    截图
    0赞 · 0采集
  • 孤雁西风 2019-05-13

    人工神经元

    截图
    0赞 · 0采集
  • 柒月9142761 2019-03-27
    自适应神经元
    截图
    0赞 · 0采集
  • qq_青年_9 2019-02-19

    x(j)电信号

    当感知器计算出错误的分类,才需要调整权重W(j)

    W(j)模型自动改进

    η需要使用者根据具体的使用场景,基于经验来调整

    截图
    1赞 · 0采集
  • qq_青年_9 2019-02-19

    步调函数(激活)与阈值

    截图
    1赞 · 0采集
  • qq_青年_9 2019-02-19

    感知器数据分类算法步骤


    截图
    1赞 · 0采集
数据加载中...
开始学习 免费