Why do we need the sigmoid function in logistic regression?
If you go and define the hypothesis function as h(x) = p^T * x, and claim that y = 1 if p^T * x &gt;= 0, you are complicating the things even more.

This is due to the fact that during training time you will have to calculate the derivative of the function h(x). Now your function can lead to exploding or vanishing gradients depending on your input and initialization.

Logistic Sigmoid solves this problem and it also has a nice gradient g(x)(1 - g(x)). So rather that complicating things, sigmoid actually simplifies the calculation.