Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
lazy-programmer-courses
/
linear-regression
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
b0bf61dc
authored
Aug 01, 2018
by
Paktalin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
class 28 is done
parent
a9130a70
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
165 additions
and
0 deletions
8_l2_regularization.ipynb
8_l2_regularization.ipynb
0 → 100644
View file @
b0bf61dc
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# 50 evenly distributed samples from 0 to 10\n",
"N = 50\n",
"X = np.linspace(0, 10, N)\n",
"Y = 0.5*X + np.random.randn(N)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# set outliers\n",
"Y[-1] += 30\n",
"Y[-2] += 30"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X, Y, edgecolors='k')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# concatenate ones and existing X\n",
"X = np.vstack([np.ones(N), X]).T"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"# maximum likelyhood solution\n",
"w_ml = np.linalg.solve(X.T.dot(X), X.T.dot(Y))\n",
"Yhat_ml = X.dot(w_ml)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X[:,1], Y, edgecolors='k')\n",
"plt.plot(X[:,1], Yhat_ml, color='red')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"# lambda * |w|2\n",
"l2 = 1000.0\n",
"w_map = np.linalg.solve(l2*np.eye(2) + X.T.dot(X), X.T.dot(Y))\n",
"Yhat_map = X.dot(w_map)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X[:,1], Y, edgecolors='k')\n",
"plt.plot(X[:,1], Yhat_ml, color='red', label='maximum likelyhood')\n",
"plt.plot(X[:,1], Yhat_map, color='green', label='map')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment