Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save RenSys/47b15a023d7d51c91ac8fcf8858b0bb2 to your computer and use it in GitHub Desktop.
Save RenSys/47b15a023d7d51c91ac8fcf8858b0bb2 to your computer and use it in GitHub Desktop.
Numpy - Vector Normalization - unit vectors - np.linalg.norm
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "# Vector Normalization = Vector Magnetude\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Description\nIts important to use normalization while training a neural net, \nas the gradient decent algo will take less time to optimally find the best weights i.e minimal loss (or error) \nbetween the predicted and actual (supervised) output i.e converged network."
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import numpy as np\nimport matplotlib.pyplot as plt\nimport pandas as pd\n%matplotlib inline",
"execution_count": 1,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Generate a vector of a sin wave. "
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sin_wave_ser = pd.Series(np.sin(np.linspace(0,2*np.pi,100)))\nplt.figure(figsize=(20,10))\nsin_wave_ser.plot()\n",
"execution_count": 26,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 26,
"data": {
"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x7fb43c68ad30>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x7fb3dc5bfdd8>",
"image/png": "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\nTkSuQmCC\n"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Calculate scaling factor to ensure the magnetude of the sine vector is unity "
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Numpy function for calculating the normalization scaling factor which when applied will reduce a vector's magnitude to 1 \nNote:\n\nord = 1 -> absolute sum of all values\n\nord = 2 -> Cartesian distance between between the sum of the squared vector elements "
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Order 1"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "print(f'{sin_wave_ser.abs().sum()} == {np.linalg.norm(sin_wave_ser,ord=1)}')",
"execution_count": 41,
"outputs": [
{
"output_type": "stream",
"text": "63.02006849910227 == 63.02006849910227\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Order 2"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### is square root of the sum of the squared vector elements"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "normalizing_scaling_factor = np.sqrt(sum(sin_wave_ser * sin_wave_ser))\nprint(f'scaling factor: {normalizing_scaling_factor}')\nprint(f'Numpy scaling factor: {np.linalg.norm(sin_wave_ser,ord=2)}')",
"execution_count": 43,
"outputs": [
{
"output_type": "stream",
"text": "scaling factor: 7.035623639735144\nNumpy scaling factor: 7.035623639735144\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "df = pd.DataFrame({'sin': sin_wave_ser, 'norn_sin': (sin_wave_ser/normalizing_scaling_factor)})\ndf.plot()",
"execution_count": 44,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 44,
"data": {
"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x7fb3dc4e4160>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x7fb3dc4dcd30>",
"image/png": "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\nlFJK1fP/0blLNbUv7G4AAAAASUVORK5CYII=\n"
},
"metadata": {}
}
]
}
],
"metadata": {
"kernelspec": {
"name": "py36-test",
"display_name": "py36-test",
"language": "python"
},
"hide_input": false,
"language_info": {
"name": "python",
"version": "3.6.3",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "",
"data": {
"description": "Numpy - Vector Normalization - unit vectors - np.linalg.norm",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment