Mean Normalization (Feature scaling part 2)

In the feature scaling part 2 video when talking about mean normalization the first thing that was discussed was finding the average, the range giving in the example was between 300 → 2000. When I calculate the mean of this I get 1150, however in the video the number they choose to be the mean was 600.

Is finding the mean in “mean normalization” is different than finding the mathematical mean? And if it is how do you find the mean in mean normalization?

Or am I totally looking at this wrong?


After watching the video again, I think I understand whats going on 300 → 2000 is the min max range, and the feature set is in between these number so the average is not necessarily the average of the min and max number, but the numbers that in the feature vector which could be pretty much an average of any set of numbers between 200 and 2000. I’m not 100% sure that this is it, but it would make sense if it was

There are lots of different ways to normalize the data.
Min, min-max (i.e. range), mean, etc.

All of them work tolerably well.

In general, ML methods use the mean. But the lectures and examples might use any of these methods.

@rmwkwok Hello Raymond,

I think you had explained this concept very profoundly to another learner, so I am tagging you for this post.

The learner did get the concept a bit but I am not sure he got the concept 100% as I know in mean normalization is a way to implement feature scaling. What Mean normalization does is that it calculates and subtracts the mean for every feature. A common practice is also to divide this value by the range or the standard deviation.

I know you would use doodle tab to explain it well :slight_smile: so forwarding this post to you for elaborative explanation, so the post creator is satisfied and understand the concept clearly.



I think @Docterryome_Wilkins had got the idea of that lecture, and I agree with everything the learner said under the “Edit”.

No, it is not different. For example, if there are 6 samples of [300, 310, 320, 330, 340, 2000], then the min, max, and mean will be 300, 2000 and 600 respectively.


Thanks for responding and confirming what I thought, so this is how I understand it M~1 is the mean average of the feature vector and then you take x~i which is a number inside of the feature vector, subtract that by M~1 and then divide that by the max number in the vector subtracted by the minimum number in the vector. Hopefully I’m right about that.

Anyway thanks for you help, you guys are awesome!

The mean is computed on each feature. It’s the usual arithmetic mean - add up the values and divide by the count (the number of examples).


You have written some description. However, I can better verify if you carry out the calculation for my example [300, 310, 320, 330, 340, 2000]. Maybe you can normalize one to two samples from my example, and show me the steps?


Yeah Sure, from your example the Min would be 300 and the Max would be 2000. M1 = (300 + 310 + 320 + 330 + 340 + 2000) / 6 which would be reduced to (3600 / 6) which would mean that M1 = 600. I would then enter in the first number in the set as x1, which would me x1 = 300. From here I would be able to calculate the mean normalization for x1 which would be x1 = (300 - 600) / (2000 - 300) → x1 = -300 / 1700 → x1 ≈ -0.176. And we would do this for every number in the vector.

Thank you for showing the steps, and perfect, and they are the mean normalization steps presented in the first half of that video.