Mathematically speaking, Imagine you are a model (No! not that kind, figure 8 ones).
Bias is simply how biased you are. If you are a Nigerian, and you are asked "Which nationality have the most beautiful women" you might say Nigerian Ladies. We can say it's because you are biased. So your formula is $Y = WX + nigerian$.
So what do you understand? Biased is that pre-assumption in a model like you have.
As for weight, logically speaking, Weight is your Gradient (as in linear algebra).
What is Gradient? it's the steepness of the Linear function.
What makes the linear gradient very steep (High positive value)?
It's because little changes in X(input) causes Large differences in Y axis(output). So you (Not as a Model anymore, but a brilliant Mathematician (your alter ego)) or your Computer tries to find this gradient, which you can call weight. The difference is that you use a pencil and graph book to find this, but the black box does its electronic Magic with registers.
In the Machine Learning Process, computers, or you, try to draw many straight lines or Linear functions across the data points.
Why do you try to draw many straight lines?
Because in your graph book/Computer memory, you are trying the see the line that fit appropriately.
How do I or Computer know the line that fits appropriately?
In my secondary school, I was taught to draw a line across the data points, visually checking the line that cuts through perfectly in the middle of all the data point.(Forget those A.I hype, our brains can calculate by just staring at things). But as for the computer, it tries the standard deviation and variance of each line towards the data points. The line with the least deviation (sometimes we call it the error function) is chosen.
Cool! so and what happens
The gradient of that line is calculated, let's say the Weight of the Learning problem is Calculated.
That's Machine Learning at its basic understand and a high school student plotting graph in his/her Graphbook.