|
132 | 132 | },
|
133 | 133 | {
|
134 | 134 | "cell_type": "code",
|
135 |
| - "execution_count": 6, |
| 135 | + "execution_count": 10, |
136 | 136 | "metadata": {},
|
137 | 137 | "outputs": [
|
138 | 138 | {
|
139 | 139 | "name": "stdout",
|
140 | 140 | "output_type": "stream",
|
141 | 141 | "text": [
|
142 |
| - "0 m= 0 Cost= 187.5\n", |
143 |
| - "1 m= 0.15 Cost= 165.675\n", |
144 |
| - "2 m= 0.29100000000000004 Cost= 146.39043\n", |
145 |
| - "3 m= 0.4235400000000001 Cost= 129.350583948\n", |
146 |
| - "4 m= 0.5481276000000002 Cost= 114.29417597645278\n", |
147 |
| - "5 m= 0.6652399440000002 Cost= 100.99033389279367\n", |
148 |
| - "6 m= 0.7753255473600003 Cost= 89.23505902767249\n", |
149 |
| - "7 m= 0.8788060145184002 Cost= 78.84809815685139\n", |
150 |
| - "8 m= 0.9760776536472963 Cost= 69.67017953139388\n", |
151 |
| - "9 m= 1.0675129944284585 Cost= 61.56057063393965\n", |
152 |
| - "10 m= 1.153462214762751 Cost= 54.394920212149074\n", |
153 |
| - "11 m= 1.2342544818769858 Cost= 48.063351499454924\n", |
154 |
| - "12 m= 1.3101992129643667 Cost= 42.46877738491837\n", |
155 |
| - "13 m= 1.3815872601865047 Cost= 37.52541169731388\n", |
156 |
| - "14 m= 1.4486920245753143 Cost= 33.157453775746546\n", |
157 |
| - "15 m= 1.5117705031007955 Cost= 29.29792615624964\n", |
158 |
| - "16 m= 1.5710642729147477 Cost= 25.887647551662187\n", |
159 |
| - "17 m= 1.6268004165398628 Cost= 22.874325376648713\n", |
160 |
| - "18 m= 1.6791923915474711 Cost= 20.211753902806798\n", |
161 |
| - "19 m= 1.728440848054623 Cost= 17.859105748520083\n", |
162 |
| - "20 m= 1.7747343971713456 Cost= 15.78030583939234\n", |
163 |
| - "21 m= 1.818250333341065 Cost= 13.943478239687074\n", |
164 |
| - "22 m= 1.859155313340601 Cost= 12.320457372587502\n", |
165 |
| - "23 m= 1.8976059945401649 Cost= 10.886356134418314\n", |
166 |
| - "24 m= 1.933749634867755 Cost= 9.619184280372027\n", |
167 |
| - "25 m= 1.9677246567756896 Cost= 8.499511230136722\n", |
168 |
| - "26 m= 1.9996611773691482 Cost= 7.51016812294881\n", |
169 |
| - "27 m= 2.029681506726999 Cost= 6.635984553437574\n", |
170 |
| - "28 m= 2.057900616323379 Cost= 5.8635559514174425\n", |
171 |
| - "29 m= 2.0844265793439765 Cost= 5.1810380386724475\n" |
| 142 | + "0 beta = 0 Cost= 187.5\n", |
| 143 | + "1 beta = 0.15 Cost= 165.675\n", |
| 144 | + "2 beta = 0.29100000000000004 Cost= 146.39043\n", |
| 145 | + "3 beta = 0.4235400000000001 Cost= 129.350583948\n", |
| 146 | + "4 beta = 0.5481276000000002 Cost= 114.29417597645278\n", |
| 147 | + "5 beta = 0.6652399440000002 Cost= 100.99033389279367\n", |
| 148 | + "6 beta = 0.7753255473600003 Cost= 89.23505902767249\n", |
| 149 | + "7 beta = 0.8788060145184002 Cost= 78.84809815685139\n", |
| 150 | + "8 beta = 0.9760776536472963 Cost= 69.67017953139388\n", |
| 151 | + "9 beta = 1.0675129944284585 Cost= 61.56057063393965\n", |
| 152 | + "10 beta = 1.153462214762751 Cost= 54.394920212149074\n", |
| 153 | + "11 beta = 1.2342544818769858 Cost= 48.063351499454924\n", |
| 154 | + "12 beta = 1.3101992129643667 Cost= 42.46877738491837\n", |
| 155 | + "13 beta = 1.3815872601865047 Cost= 37.52541169731388\n", |
| 156 | + "14 beta = 1.4486920245753143 Cost= 33.157453775746546\n", |
| 157 | + "15 beta = 1.5117705031007955 Cost= 29.29792615624964\n", |
| 158 | + "16 beta = 1.5710642729147477 Cost= 25.887647551662187\n", |
| 159 | + "17 beta = 1.6268004165398628 Cost= 22.874325376648713\n", |
| 160 | + "18 beta = 1.6791923915474711 Cost= 20.211753902806798\n", |
| 161 | + "19 beta = 1.728440848054623 Cost= 17.859105748520083\n", |
| 162 | + "20 beta = 1.7747343971713456 Cost= 15.78030583939234\n", |
| 163 | + "21 beta = 1.818250333341065 Cost= 13.943478239687074\n", |
| 164 | + "22 beta = 1.859155313340601 Cost= 12.320457372587502\n", |
| 165 | + "23 beta = 1.8976059945401649 Cost= 10.886356134418314\n", |
| 166 | + "24 beta = 1.933749634867755 Cost= 9.619184280372027\n", |
| 167 | + "25 beta = 1.9677246567756896 Cost= 8.499511230136722\n", |
| 168 | + "26 beta = 1.9996611773691482 Cost= 7.51016812294881\n", |
| 169 | + "27 beta = 2.029681506726999 Cost= 6.635984553437574\n", |
| 170 | + "28 beta = 2.057900616323379 Cost= 5.8635559514174425\n", |
| 171 | + "29 beta = 2.0844265793439765 Cost= 5.1810380386724475\n", |
| 172 | + "30 beta = 2.109360984583338 Cost= 4.57796521097097\n", |
| 173 | + "31 beta = 2.132799325508338 Cost= 4.045090060413946\n", |
| 174 | + "32 beta = 2.1548313659778375 Cost= 3.574241577381767\n", |
| 175 | + "33 beta = 2.1755414840191674 Cost= 3.158199857774526\n", |
| 176 | + "34 beta = 2.1950089949780174 Cost= 2.7905853943295718\n", |
| 177 | + "35 beta = 2.2133084552793365 Cost= 2.465761254429606\n", |
| 178 | + "36 beta = 2.2305099479625765 Cost= 2.1787466444139967\n", |
| 179 | + "37 beta = 2.246679351084822 Cost= 1.9251405350042066\n", |
| 180 | + "38 beta = 2.2618785900197325 Cost= 1.701054176729719\n", |
| 181 | + "39 beta = 2.2761658746185485 Cost= 1.5030514705583815\n", |
| 182 | + "40 beta = 2.2895959221414355 Cost= 1.3280962793853863\n", |
| 183 | + "41 beta = 2.3022201668129494 Cost= 1.173505872464927\n", |
| 184 | + "42 beta = 2.3140869568041724 Cost= 1.0369097889100094\n", |
| 185 | + "43 beta = 2.325241739395922 Cost= 0.9162134894808864\n", |
| 186 | + "44 beta = 2.3357272350321665 Cost= 0.8095662393053119\n", |
| 187 | + "45 beta = 2.3455836009302367 Cost= 0.7153327290501723\n", |
| 188 | + "46 beta = 2.3548485848744223 Cost= 0.6320679993887337\n", |
| 189 | + "47 beta = 2.363557669781957 Cost= 0.5584952842598836\n", |
| 190 | + "48 beta = 2.3717442095950396 Cost= 0.49348643317203383\n", |
| 191 | + "49 beta = 2.3794395570193374 Cost= 0.4360446123508076\n", |
| 192 | + "50 beta = 2.386673183598177 Cost= 0.3852890194731736\n", |
| 193 | + "51 beta = 2.3934727925822865 Cost= 0.34044137760649684\n", |
| 194 | + "52 beta = 2.3998644250273493 Cost= 0.3008140012531004\n", |
| 195 | + "53 beta = 2.4058725595257084 Cost= 0.26579925150723877\n", |
| 196 | + "54 beta = 2.411520205954166 Cost= 0.2348602186317958\n", |
| 197 | + "55 beta = 2.416828993596916 Cost= 0.20752248918305471\n", |
| 198 | + "56 beta = 2.421819253981101 Cost= 0.1833668714421468\n", |
| 199 | + "57 beta = 2.426510098742235 Cost= 0.16202296760628054\n", |
| 200 | + "58 beta = 2.430919492817701 Cost= 0.1431634941769091\n", |
| 201 | + "59 beta = 2.435064323248639 Cost= 0.12649926345471704\n", |
| 202 | + "60 beta = 2.4389604638537206 Cost= 0.11177474918858862\n", |
| 203 | + "61 beta = 2.4426228360224975 Cost= 0.09876416838303623\n", |
| 204 | + "62 beta = 2.446065465861148 Cost= 0.08726801918325036\n", |
| 205 | + "63 beta = 2.449301537909479 Cost= 0.07711002175032013\n", |
| 206 | + "64 beta = 2.4523434456349102 Cost= 0.06813441521858266\n", |
| 207 | + "65 beta = 2.4552028388968155 Cost= 0.06020356928714\n", |
| 208 | + "66 beta = 2.4578906685630066 Cost= 0.05319587382211671\n", |
| 209 | + "67 beta = 2.4604172284492263 Cost= 0.04700387410922224\n", |
| 210 | + "68 beta = 2.462792194742273 Cost= 0.04153262316290836\n", |
| 211 | + "69 beta = 2.4650246630577364 Cost= 0.03669822582674612\n", |
| 212 | + "70 beta = 2.467123183274272 Cost= 0.032426552340512935\n", |
| 213 | + "71 beta = 2.4690957922778156 Cost= 0.02865210164807771\n", |
| 214 | + "72 beta = 2.4709500447411465 Cost= 0.025316997016241547\n", |
| 215 | + "73 beta = 2.4726930420566777 Cost= 0.02237009856355114\n", |
| 216 | + "74 beta = 2.474331459533277 Cost= 0.019766219090753746\n", |
| 217 | + "75 beta = 2.4758715719612803 Cost= 0.01746543118859023\n", |
| 218 | + "76 beta = 2.4773192776436033 Cost= 0.015432454998238695\n", |
| 219 | + "77 beta = 2.478680120984987 Cost= 0.01363611723644358\n", |
| 220 | + "78 beta = 2.479959313725888 Cost= 0.012048873190121483\n", |
| 221 | + "79 beta = 2.4811617549023346 Cost= 0.010646384350791443\n", |
| 222 | + "80 beta = 2.4822920496081946 Cost= 0.009407145212359178\n", |
| 223 | + "81 beta = 2.483354526631703 Cost= 0.008312153509640565\n", |
| 224 | + "82 beta = 2.484353255033801 Cost= 0.00734461884111842\n", |
| 225 | + "83 beta = 2.4852920597317727 Cost= 0.006489705208012267\n", |
| 226 | + "84 beta = 2.486174536147866 Cost= 0.005734303521799706\n", |
| 227 | + "85 beta = 2.4870040639789943 Cost= 0.005066830591862191\n", |
| 228 | + "86 beta = 2.4877838201402547 Cost= 0.004477051510969419\n", |
| 229 | + "87 beta = 2.4885167909318393 Cost= 0.00395592271509267\n", |
| 230 | + "88 beta = 2.489205783475929 Cost= 0.0034954533110557644\n", |
| 231 | + "89 beta = 2.4898534364673734 Cost= 0.0030885825456488103\n", |
| 232 | + "90 beta = 2.490462230279331 Cost= 0.0027290715373352223\n", |
| 233 | + "91 beta = 2.491034496462571 Cost= 0.002411407610389568\n", |
| 234 | + "92 beta = 2.491572426674817 Cost= 0.0021307197645401158\n", |
| 235 | + "93 beta = 2.492078081074328 Cost= 0.001882703983947638\n", |
| 236 | + "94 beta = 2.492553396209868 Cost= 0.0016635572402162084\n", |
| 237 | + "95 beta = 2.4930001924372758 Cost= 0.0014699191774551193\n", |
| 238 | + "96 beta = 2.493420180891039 Cost= 0.0012988205851994649\n", |
| 239 | + "97 beta = 2.4938149700375765 Cost= 0.001147637869082291\n", |
| 240 | + "98 beta = 2.4941860718353217 Cost= 0.001014052821121186\n", |
| 241 | + "99 beta = 2.4945349075252023 Cost= 0.0008960170727426972\n" |
172 | 242 | ]
|
173 | 243 | }
|
174 | 244 | ],
|
175 | 245 | "source": [
|
176 | 246 | "# Now, we do gradient descent here with a very simple numpy array \n",
|
177 | 247 | "\n",
|
178 | 248 | "learningRate = 0.01\n",
|
179 |
| - "num_iteration = 30 \n", |
180 |
| - "m_current=0\n", |
| 249 | + "num_iteration = 100\n", |
| 250 | + "beta=0\n", |
181 | 251 | "\n",
|
182 | 252 | "n = float(size)\n",
|
183 | 253 | "# print(\"Sample size\", n)\n",
|
|
186 | 256 | "for i in range(num_iteration):\n",
|
187 | 257 | " \n",
|
188 | 258 | " # Calculate the prediction with current regression coefficients. \n",
|
189 |
| - " y_prediction = m_current * x1 \n", |
| 259 | + " y_prediction = beta * x1 \n", |
190 | 260 | " \n",
|
191 | 261 | " \n",
|
192 | 262 | " # We compute costs just for monitoring \n",
|
|
196 | 266 | " m_gradient = (-1.0/n) * sum (x1 * (y - y_prediction) )\n",
|
197 | 267 | " \n",
|
198 | 268 | " \n",
|
199 |
| - " print(i , \"m=\", m_current, \" Cost=\", cost)\n", |
| 269 | + " print(i , \"beta = \", beta, \" Cost=\", cost)\n", |
200 | 270 | " \n",
|
201 | 271 | " # update the weights - Regression Coefficients \n",
|
202 |
| - " m_current = m_current - learningRate * m_gradient " |
| 272 | + " beta = beta - learningRate * m_gradient " |
203 | 273 | ]
|
204 | 274 | },
|
205 | 275 | {
|
|
0 commit comments