官术网_书友最值得收藏!

  • Python Deep Learning
  • Ivan Vasilev Daniel Slater Gianmario Spacagna Peter Roelants Valentino Zocca
  • 567字
  • 2021-07-02 14:31:03

An introduction to neurons

A neuron is a mathematical function that takes one or more input values, and outputs a single numerical value:

In this diagram, we can see the different elements of the neuron

The neuron is defined as follows:

  1. First, we compute the weighted sum  of the inputs xi and the weights wi (also known as an activation value). Here, xi is either numerical values that represent the input data, or the outputs of other neurons (that is, if the neuron is part of a neural network):
    • The weights wi are numerical values that represent either the strength of the inputs or, alternatively, the strength of the connections between the neurons.
    • The weight b is a special value called bias whose input is always 1.
  1. Then, we use the result of the weighted sum as an input to the activation function f, which is also known as transfer function. There are many types of activation functions, but they all have to satisfy the requirement to be non-linear, which we'll explain later in the chapter.
You might have noticed that the neuron is very similar to remove logistic regression and the perceptron, which we discussed in Chapter 1, Machine Learni ng – an Introduction. You can think of it as a generalized version of these two algorithms. If we use the logistic function or step function as activation functions, the neuron turns into logistic regression or perceptron respectively. Additionally, if we don't use any activation function, the neuron turns into linear regression. In this case, however, we are not limited to these cases and, as you'll see later, they are rarely used in practice.

As we mentioned in Chapter 1Machine Learning – an Introduction, the activation value defined previously can be interpreted as the dot product between the vector w and the vector x: . The vector x will be perpendicular to the weight vector w, if . Therefore, all vectors x such that  define a hyperplane in the feature space Rn , where n is the dimension of x.

That sounds complicated! To better understand it, let's consider a special case where the activation function is f(x) = x and we only have a single input value, x. The output of the neuron then becomes y = wx + b, which is the linear equation. This shows that in one-dimensional input space, the neuron defines a line. If we visualize the same for two or more inputs, we'll see that the neuron defines a plane, or a hyperplane, for an arbitrary number of input dimensions.

In the following diagram, we can also see that the role of the bias, bis to allow the hyperplane to shift away from the center of the coordinate system. If we don't use bias, the neuron will have limited representation power:

The preceding diagram displays the hyperplane

We already know from Chapter 1Machine Learning – an Introduction, that the perceptron (hence the neuron) only works with linearly separable classes, and now we know that because it defines a hyperplane. To overcome this limitation, we'll need to organize the neurons in a neural network.

主站蜘蛛池模板: 平安县| 桦甸市| 平凉市| 苏尼特右旗| 克拉玛依市| 建瓯市| 获嘉县| 穆棱市| 江油市| 久治县| 太仆寺旗| 安阳市| 秀山| 万宁市| 双牌县| 天气| 凤翔县| 芜湖市| 绵阳市| 郑州市| 海兴县| 浦东新区| 杭锦后旗| 菏泽市| 壤塘县| 惠州市| 汉川市| 庄河市| 兰考县| 陆河县| 萝北县| 荆州市| 静乐县| 梁山县| 江孜县| 岳普湖县| 南皮县| 徐闻县| 通榆县| 张家口市| 赣州市|