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

  • 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.

主站蜘蛛池模板: 湛江市| 济南市| 冀州市| 潜江市| 文昌市| 中方县| 邹平县| 乌拉特前旗| 万年县| 天津市| 岗巴县| 聊城市| 通渭县| 永修县| 泾源县| 黄梅县| 渝北区| 玉田县| 县级市| 南涧| 江西省| 芦山县| 黑龙江省| 平果县| 祁连县| 香河县| 青浦区| 伊春市| 柳江县| 龙里县| 札达县| 罗源县| 宁陵县| 恩施市| 鲁山县| 新泰市| 津市市| 阿坝县| 长宁县| 远安县| 万载县|