I'm a math guy and I know most people aren't so I'll spare the gritty details unless someone actually wants to see a proof.
Suppose you have a die of size \$X\$ (a d\$X\$ , if you will). Great Weapon Fighting will increase the average roll on your die by \$1-\frac{2}X)\$. So the bigger the die, the more your average damage increases, although this increase can never be larger than 1.
In general, suppose you have a die of size \$X\$ and you get to re-roll it once whenever it lands on any of the \$Y\$ lowest numbers (for Great Weapon Fighting \$Y\$ would be 2, for the Halfling's Lucky racial feature \$Y\$ would be 1, etc.). Then the increase in the average roll on your die is equal to \$\frac{Y}{2} \cdot \left[1-\frac{Y}{X}\right]\$. Note that this formula only makes sense if \$Y\$ is less than \$X\$.
Below is a short proof which is not technically correct but is much easier to follow than a complete proof. Again, if anyone would like a more detailed proof just let me know.
Short proof
If you want to find the average roll on a die, you add up the values on each of its faces and divide by the total number of faces. It's a known mathematical formula that the sum of numbers from 1 to \$X\$ is equal to \$(X^2 + X)/2\$. So the average roll on a d\$X\$ is \$\left[(X^2 + X)/2\right]/X = (X + 1)/2\$.
With Great Weapon Fighting you are allowed to re-roll all 1s and 2s on a damage die. This is equivalent to replacing the "1" and "2" on the die with the value of its average roll (for a d6, for example, using GWF would be equivalent to rolling a 6 sided die where the faces were labeled "3.5", "3.5", "3", "4", "5", "6").
Suppose we had such a die (the modified one described in the previous paragraph), and we wanted to find out the difference between its average value and the average value of the original d\$X\$. How would we proceed? We would do this by:
Subtracting 1 and 2 from the sum of the numbers on the faces of the original d\$X\$.
Adding the average value on the original d\$X\$ two times.
Dividing this number by \$X\$.
Putting this together, the number we are looking for (the difference between the original d\$X\$ average and our modified GWF die average) is equal to
\begin{eqnarray}
&\left.\left[-1 -2 + \frac{X + 1}{2} + \frac{X + 1}{2}\right]\right/X\\
=&\frac{-3 + (X + 1)}{X}\\
=&\frac{X - 2}{X}\\
=&1 - \frac{2}{X}
\end{eqnarray}
General case (short proof)
Let us suppose that a d\$X\$ is to be rolled and, if the die comes up showing any of the \$Y\$ lowest values, then the die is re-rerolled exactly one time. What is the expected value for such a die? As above, we proceed as follows:
Subtract the values "1" through \$Y\$ from the sum of the numbers on the faces of the original die. This value (the value of the numbers we are subtracting) is equal to \$(Y^2 + Y)/2\$.
Add the average value of the original die roll \$Y\$ times. This is equivalent to adding \$Y \cdot (X + 1) / 2\$ to the sum of the numbers on the original die.
Divide this number by \$X\$.
Putting this together, the number we are looking for (the difference between the average for the original d\$X\$ and the average for the modified d\$X\$ [the one where we re-roll if the first roll turns up any of the \$Y\$ lowest values]) is equal to:
\begin{eqnarray}
&\left.\left[-\frac{Y^2+Y}{2}+Y \frac{X+1}{2}\right]\right/X\\
=&\frac{Y}{2} \cdot \frac{-(Y+1)+(X+1)}{X}\\
=&\frac{Y}{2} \cdot \frac{X-Y}{X}\\
=&\frac{Y}{2} \cdot \left(1-\frac{Y}{X}\right)
\end{eqnarray}