![]() |
#1
|
|||
|
|||
![]()
The perceptron learning algo is very cool in its simplicity, but, although it was introduced in the course as sort of obviously linear, that was immediately apparen to me. Just wondering what made it obvious to others if it was. Is it the formula on page 6 (w-sub1*x-sub1 + w-sub2*x-sub2 + b = 0)? That seems similar to the old line equation of y=mx+b but not exactly same. However, after playing on paper with different choices of w's and b, I think I see that regardless of what values I choose for the weights and threshold that a line is formed. But how is that obvious theoretically that the shape is a line, without trying various values like i did?
|
#2
|
||||
|
||||
![]()
It is not obvious at all, and for this reason I would recommend Problem 1.2 in the text in case anyone is having similar doubts.
The classification function: ![]() First, the classification function is not a line. The classification function is given by the formula above which assigns +1 to some regions of the space and -1 to others. What corresponds to the line is the boundary between the region where the hypothesis is +1 and the region where the hypothesis is -1. It is the separator that is a line. Fix ![]() ![]() ![]() Lets consider the case in 2-dim. Then ![]() ![]() ![]() Rearrange a little and you have the following equation: ![]() that must be satisfied by any point ![]() ![]() Quote:
__________________
Have faith in probability |
#3
|
|||
|
|||
![]()
Thanks Dr. Magdon-Ismail, that was very helpful. I'm glad it wasn't obvious! Just to ensure I understand it correctly, the way I'm conceptualizing it is slightly differently, but I hope is still correct. I see the function being in 3-d space, with y (the output) as the vertical axis, and
![]() ![]() ![]() ![]() ![]() ![]() If you imagine looking straight down on this tilted plane (so it does not appear tilted anymore), the points where y=0 would form a straight line. Is this a correct way of conceptualizing it? Also, since this process reminded me of multiple regression, it occurred to me that you could get a curved boundary if you included interaction terms in the equation; however this would require another weight/parameter, and I doubt the PLA algorithm would still work, since it depends on the angle between straight lines. Finally, just to confirm another suspicion, since there are 3 unknowns in your explication above, it is impossible to derive the 3 weights from just being given the boundary line (e.g. two points in the ![]() |
#4
|
|||
|
|||
![]()
May I add a technical point to the answer: for maximum generality, it is necessary to deal with all possible cases of the weight parameters.
The case where parameter w2 is non-zero was dealt with by magdon. The case where w1 is non-zero is similarly shown to a straight line separator in the plane. But if both w1 and w2 are zero, there is no separation: the perceptron function is a constant for all points (1, x1, x2). This does not cause any problems with the operation of the algorithm, as one step of the algorithm stops this being so. To be maximally pedantic, in the case where the input data set consists of the one point (1, x1, x2)=(1, 0, 0) with y either +1 or -1, and we start with w1=w2=0, the perceptron algorithm still works (in one step) but it never gives a line in the plane. |
![]() |
Thread Tools | |
Display Modes | |
|
|