神经网络的基本单位:神经元。每个神经元里面都含有一个激活函数,这个函数常用S型[0,1]或者高级点的S型[-1,1]。
给定输入,得到输出的过程被称为
前馈(feedforward)。 

 一个神经元的简单代码(用Numpy第三方库)

  • 归一化处理
  1. 首选归一化处理目的是让一些不同量纲的数据处理为无量纲的数据,也就是让他们在同一个范围内。百度解释:归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为纯量
  2. 归一化处理的方法,主要有两种,一种是线性函数的方法,也就最大最小值法,是(0,1)标准化,将数据通过找到最大最小值之后利用公式将数据转换为在0到1之间的数据,但是这个方法的缺点就是对异常数据十分敏感
  3. 第二种方法就是零均值归一化,这个方法是通过求出这一组数据的均值和标准差,之后通过公式对数据进行归一化处理,这种方法也叫Z-score标准化
  4. 什么算法需要归一化?线性回归、逻辑回归、支持向量机、神经网络都需要对数据进行归一化处理,以保证有量纲数据转为无量纲数据, 以保证数据在同一范围内
  5. 无需做归一化处理的有决策树
  • 参考链接
  1. https://blog.csdn.net/weixin_42575020/article/details/82944291
  2. https://www.cnblogs.com/chaosimple/p/3227271.html

  • 激活函数

  1. https://finance.sina.com.cn/tech/2021-02-24/doc-ikftssap8455930.shtml#:~:text=%E6%BF%80%E6%B4%BB%E5%87%BD%E6%95%B0%EF%BC%88Activation%20Function%EF%BC%89
  2. https://zhuanlan.zhihu.com/p/36763712





import numpy as np
 
def sigmoid(x):
  # Our activation function: f(x) = 1 / (1 + e^(-x))
  return 1 / (1 + np.exp(-x))
 
class Neuron:
  def __init__(self, weights, bias):
    self.weights = weights
    self.bias = bias
 
  def feedforward(self, inputs):
    # Weight inputs, add bias, then use the activation function
    total = np.dot(self.weights, inputs) + self.bias
    return sigmoid(total)
 
weights = np.array([0, 1]) # w1 = 0, w2 = 1
bias = 4                   # b = 4
n = Neuron(weights, bias)
 
x = np.array([2, 3])       # x1 = 2, x2 = 3
print(n.feedforward(x))    # 0.9990889488055994

参考链接:https://blog.csdn.net/zhuangjinhua/article/details/103532050

  • alipay_img
  • wechat_img
关注微信公众号:软件阿威
最后更新于 2021-09-03