实验介绍

人工神经网络是一种发展时间较早且十分常用的机器学习算法。因其模仿人类神经元工作的特点,在监督学习和非监督学习领域都给予了人工神经网络较高的期望。目前,由传统人工神经网络发展而来的卷积神经网络、循环神经网络已经成为了深度学习的基石。本次实验中,我们将从人工神经网络的原型感知机出发,介绍机器学习中人工神经网络的特点及应用。

实验知识点

  1. 感知机概念
  2. 知机原理
  3. 感知机实现方法
  • 多层感知机
  • 人工神经网络概念
  • 人工神经网络原理
  • 反向传播算法原理及推导
  • 多层人工神经网络实现
"""感知机随机梯度下降算法实现
"""
def perceptron_sgd(X, Y, alpha, epochs):
    """
    参数:
    X -- 自变量数据矩阵
    Y -- 因变量数据矩阵
    alpha -- lamda 参数
    epochs -- 迭代次数

    返回:
    w -- 权重系数
    b -- 截距项
    """
    w = np.zeros(len(X[0])) # 初始化参数为 0
    b = np.zeros(1)

    for t in range(epochs): # 迭代
        for i, x in enumerate(X):
            if ((np.dot(X[i], w)+b)*Y[i]) <= 0: # 判断条件
                w = w + alpha*X[i]*Y[i] # 更新参数
                b = b + alpha*Y[i]

    return w, b

document-uid214893labid6671timestamp1531711250538.png