[{"data":1,"prerenderedAt":33678},["ShallowReactive",2],{"lang-switch-post-\u002Fplaylists\u002Fmachine-learning-specialization":3,"playlist-pt-machine-learning-specialization":4,"playlist-posts-pt-machine-learning-specialization":39},null,{"id":5,"title":6,"body":7,"cover":3,"description":29,"extension":30,"meta":31,"navigation":32,"order":33,"path":34,"seo":35,"status":36,"stem":37,"__hash__":38},"playlists\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Findex.md","Machine Learning Specialization (Andrew Ng)",{"type":8,"value":9,"toc":25},"minimark",[10,19,22],[11,12,13,14,18],"p",{},"Essa playlist é o meu caderno de anotações público enquanto estudo a ",[15,16,17],"strong",{},"Machine Learning Specialization",", do Andrew Ng (DeepLearning.AI \u002F Stanford), provavelmente o curso mais recomendado pra quem tá começando em ML.",[11,20,21],{},"A ideia aqui não é só \"resolver o notebook e seguir\". Cada lab do curso vira um post onde eu reconto o que entendi, com metáfora, exemplo do dia a dia, e claro, o nome técnico certo, porque isso você vai precisar quando for procurar mais coisa sobre o assunto depois.",[11,23,24],{},"Começamos pelo começo: representar o modelo mais simples que existe, a regressão linear com uma variável.",{"title":26,"searchDepth":27,"depth":27,"links":28},"",2,[],"Meus estudos passo a passo pela especialização de Machine Learning do Andrew Ng (DeepLearning.AI \u002F Stanford), curso por curso, lab por lab.","md",{},true,1,"\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization",{"title":6,"description":29},"published","pt\u002Fplaylists\u002Fmachine-learning-specialization\u002Findex","E9Okc28mL6OITzVoZv3DkKW9sSyof7S1q6TRo9ovEso",[40,6751,10009,14439,16193,18278,26785,30067],{"id":41,"title":42,"body":43,"cover":3,"date":6739,"description":6740,"extension":30,"meta":6741,"navigation":32,"order":33,"path":6742,"playlist":6743,"seo":6744,"status":36,"stem":6745,"tags":6746,"__hash__":6750},"posts\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Flab02-model-representation.md","Lab Opcional: Representação do Modelo",{"type":8,"value":44,"toc":6715},[45,54,61,69,72,288,293,493,508,512,515,1205,1208,1614,1618,1637,1640,1852,2296,2360,2370,2375,2452,2467,2482,2501,2533,2576,2647,2651,2658,2985,3014,3023,3104,3108,3111,3119,3122,3126,3373,3387,3539,3646,3764,3840,3844,3854,3950,3960,3964,4032,4143,4146,4353,4360,5234,5298,5483,5487,5593,5648,5839,5845,5887,5896,5957,5961,6273,6276,6361,6481,6485,6495,6499,6536,6555,6561,6565,6568,6571,6574,6635,6638,6641,6648,6652,6699,6708,6711],[46,47,48],"blockquote",{},[11,49,50,51,53],{},"Baseado no Lab Opcional 02 (Semana 1, Curso 1) da ",[15,52,17],{},", do Andrew Ng (DeepLearning.AI \u002F Stanford). Mas esquece o notebook por um segundo, bora entender o que tá rolando de verdade.",[11,55,56],{},[57,58],"img",{"alt":59,"src":60},"Meme \"IQ bell curve\" comparando regressão linear e deep learning: tanto quem tem pouco conhecimento quanto quem manja muito preferem regressão linear, só quem tá no meio do caminho acha deep learning mais chique","\u002Fimages\u002Fposts\u002Fmachine-learning-specialization\u002Flab02-model-representation\u002Fmeme-regressao-linear.jpg",[11,62,63,64,68],{},"Cola aqui: todo mundo que começa em ML ouve falar de rede neural, transformer, LLM, essas coisas todas cheias de hype. E aí abre o primeiro lab do curso mais recomendado da área e encontra... uma reta. ",[65,66,67],"code",{},"y = ax + b"," do ensino médio, só que com nome trocado.",[11,70,71],{},"Isso não é o curso \"enrolando\" antes de chegar no assunto de verdade. É o assunto de verdade. Regressão linear é o Lego básico: todo modelo mais chique que você for estudar depois (rede neural, regressão logística, sei lá o que vier) é, no fundo, um monte desses Legos empilhados. Entender esse aqui até o osso me ensinou muito mais do que decorar fórmula de rede neural sem saber de onde ela vem.",[11,73,74],{},[75,76,79,144],"span",{"className":77},[78],"katex",[75,80,83],{"className":81},[82],"katex-mathml",[84,85,87],"math",{"xmlns":86},"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML",[88,89,90,139],"semantics",{},[91,92,93,113,117,120,123,126,128,132,134,137],"mrow",{},[94,95,96,100],"msub",{},[97,98,99],"mi",{},"f",[91,101,102,105,110],{},[97,103,104],{},"w",[106,107,109],"mo",{"separator":108},"true",",",[97,111,112],{},"b",[106,114,116],{"stretchy":115},"false","(",[97,118,119],{},"x",[106,121,122],{"stretchy":115},")",[106,124,125],{},"=",[97,127,104],{},[129,130,131],"mtext",{}," ",[97,133,119],{},[106,135,136],{},"+",[97,138,112],{},[140,141,143],"annotation",{"encoding":142},"application\u002Fx-tex","f_{w,b}(x) = w\\,x + b",[75,145,148,250,278],{"className":146,"ariaHidden":108},[147],"katex-html",[75,149,152,157,227,231,234,238,243,247],{"className":150},[151],"base",[75,153],{"className":154,"style":156},[155],"strut","height:1.0361em;vertical-align:-0.2861em;",[75,158,161,166],{"className":159},[160],"mord",[75,162,99],{"className":163,"style":165},[160,164],"mathnormal","margin-right:0.1076em;",[75,167,170],{"className":168},[169],"msupsub",[75,171,175,218],{"className":172},[173,174],"vlist-t","vlist-t2",[75,176,179,213],{"className":177},[178],"vlist-r",[75,180,184],{"className":181,"style":183},[182],"vlist","height:0.3361em;",[75,185,187,192],{"style":186},"top:-2.55em;margin-left:-0.1076em;margin-right:0.05em;",[75,188],{"className":189,"style":191},[190],"pstrut","height:2.7em;",[75,193,199],{"className":194},[195,196,197,198],"sizing","reset-size6","size3","mtight",[75,200,202,206,210],{"className":201},[160,198],[75,203,104],{"className":204,"style":205},[160,164,198],"margin-right:0.0269em;",[75,207,109],{"className":208},[209,198],"mpunct",[75,211,112],{"className":212},[160,164,198],[75,214,217],{"className":215},[216],"vlist-s","​",[75,219,221],{"className":220},[178],[75,222,225],{"className":223,"style":224},[182],"height:0.2861em;",[75,226],{},[75,228,116],{"className":229},[230],"mopen",[75,232,119],{"className":233},[160,164],[75,235,122],{"className":236},[237],"mclose",[75,239],{"className":240,"style":242},[241],"mspace","margin-right:0.2778em;",[75,244,125],{"className":245},[246],"mrel",[75,248],{"className":249,"style":242},[241],[75,251,253,257,260,264,267,271,275],{"className":252},[151],[75,254],{"className":255,"style":256},[155],"height:0.6667em;vertical-align:-0.0833em;",[75,258,104],{"className":259,"style":205},[160,164],[75,261],{"className":262,"style":263},[241],"margin-right:0.1667em;",[75,265,119],{"className":266},[160,164],[75,268],{"className":269,"style":270},[241],"margin-right:0.2222em;",[75,272,136],{"className":273},[274],"mbin",[75,276],{"className":277,"style":270},[241],[75,279,281,285],{"className":280},[151],[75,282],{"className":283,"style":284},[155],"height:0.6944em;",[75,286,112],{"className":287},[160,164],[289,290,292],"h2",{"id":291},"o-que-você-vai-sair-sabendo-daqui","O que você vai sair sabendo daqui",[294,295,296,300,334,337,490],"ol",{},[297,298,299],"li",{},"Por que a gente representa dado de treino como array NumPy, e não lista Python.",[297,301,302,303,333],{},"Contar quantos exemplos de treino você tem (",[75,304,306,320],{"className":305},[78],[75,307,309],{"className":308},[82],[84,310,311],{"xmlns":86},[88,312,313,318],{},[91,314,315],{},[97,316,317],{},"m",[140,319,317],{"encoding":142},[75,321,323],{"className":322,"ariaHidden":108},[147],[75,324,326,330],{"className":325},[151],[75,327],{"className":328,"style":329},[155],"height:0.4306em;",[75,331,317],{"className":332},[160,164],") e pescar um exemplo específico.",[297,335,336],{},"Olhar pros dados antes de sair modelando (isso não é enrolação, é regra de ouro).",[297,338,339,340,489],{},"Montar o modelo ",[75,341,343,383],{"className":342},[78],[75,344,346],{"className":345},[82],[84,347,348],{"xmlns":86},[88,349,350,380],{},[91,351,352,364,366,368,370,372,374,376,378],{},[94,353,354,356],{},[97,355,99],{},[91,357,358,360,362],{},[97,359,104],{},[106,361,109],{"separator":108},[97,363,112],{},[106,365,116],{"stretchy":115},[97,367,119],{},[106,369,122],{"stretchy":115},[106,371,125],{},[97,373,104],{},[97,375,119],{},[106,377,136],{},[97,379,112],{},[140,381,382],{"encoding":142},"f_{w,b}(x) = wx + b",[75,384,386,459,480],{"className":385,"ariaHidden":108},[147],[75,387,389,392,441,444,447,450,453,456],{"className":388},[151],[75,390],{"className":391,"style":156},[155],[75,393,395,398],{"className":394},[160],[75,396,99],{"className":397,"style":165},[160,164],[75,399,401],{"className":400},[169],[75,402,404,433],{"className":403},[173,174],[75,405,407,430],{"className":406},[178],[75,408,410],{"className":409,"style":183},[182],[75,411,412,415],{"style":186},[75,413],{"className":414,"style":191},[190],[75,416,418],{"className":417},[195,196,197,198],[75,419,421,424,427],{"className":420},[160,198],[75,422,104],{"className":423,"style":205},[160,164,198],[75,425,109],{"className":426},[209,198],[75,428,112],{"className":429},[160,164,198],[75,431,217],{"className":432},[216],[75,434,436],{"className":435},[178],[75,437,439],{"className":438,"style":224},[182],[75,440],{},[75,442,116],{"className":443},[230],[75,445,119],{"className":446},[160,164],[75,448,122],{"className":449},[237],[75,451],{"className":452,"style":242},[241],[75,454,125],{"className":455},[246],[75,457],{"className":458,"style":242},[241],[75,460,462,465,468,471,474,477],{"className":461},[151],[75,463],{"className":464,"style":256},[155],[75,466,104],{"className":467,"style":205},[160,164],[75,469,119],{"className":470},[160,164],[75,472],{"className":473,"style":270},[241],[75,475,136],{"className":476},[274],[75,478],{"className":479,"style":270},[241],[75,481,483,486],{"className":482},[151],[75,484],{"className":485,"style":284},[155],[75,487,112],{"className":488},[160,164]," em código.",[297,491,492],{},"Brincar com os parâmetros até achar o ajuste perfeito, na mão, sem fórmula mágica, e sentir na pele por que isso não escala.",[11,494,495,496,499,500,503,504,507],{},"Todo modelo supervisionado tem três peças: ",[15,497,498],{},"os dados",", ",[15,501,502],{},"a função do modelo"," e ",[15,505,506],{},"os parâmetros",". Esse post monta as três peças na versão mais simples que existe. Guarda essa estrutura: ela reaparece, só que maior, em praticamente tudo que vem depois no curso.",[289,509,511],{"id":510},"o-dicionário-da-área","O dicionário da área",[11,513,514],{},"ML tem um vício chato: adora inventar símbolo pra coisa simples. Aqui vai o \"dicionário\" que o curso usa, porque ele reaparece do início ao fim:",[516,517,518,535],"table",{},[519,520,521],"thead",{},[522,523,524,529,532],"tr",{},[525,526,528],"th",{"align":527},"left","Notação",[525,530,531],{"align":527},"O que é",[525,533,534],{"align":527},"Em Python",[536,537,538,578,619,660,704,902,941,980,1019],"tbody",{},[522,539,540,572,575],{},[541,542,543],"td",{"align":527},[75,544,546,560],{"className":545},[78],[75,547,549],{"className":548},[82],[84,550,551],{"xmlns":86},[88,552,553,558],{},[91,554,555],{},[97,556,557],{},"a",[140,559,557],{"encoding":142},[75,561,563],{"className":562,"ariaHidden":108},[147],[75,564,566,569],{"className":565},[151],[75,567],{"className":568,"style":329},[155],[75,570,557],{"className":571},[160,164],[541,573,574],{"align":527},"um número solto (escalar)",[541,576,577],{"align":527},"-",[522,579,580,614,617],{},[541,581,582],{"align":527},[75,583,585,600],{"className":584},[78],[75,586,588],{"className":587},[82],[84,589,590],{"xmlns":86},[88,591,592,597],{},[91,593,594],{},[97,595,557],{"mathvariant":596},"bold",[140,598,599],{"encoding":142},"\\mathbf{a}",[75,601,603],{"className":602,"ariaHidden":108},[147],[75,604,606,610],{"className":605},[151],[75,607],{"className":608,"style":609},[155],"height:0.4444em;",[75,611,557],{"className":612},[160,613],"mathbf",[541,615,616],{"align":527},"uma lista de números (vetor, letra em negrito)",[541,618,577],{"align":527},[522,620,621,652,655],{},[541,622,623],{"align":527},[75,624,626,640],{"className":625},[78],[75,627,629],{"className":628},[82],[84,630,631],{"xmlns":86},[88,632,633,637],{},[91,634,635],{},[97,636,119],{"mathvariant":596},[140,638,639],{"encoding":142},"\\mathbf{x}",[75,641,643],{"className":642,"ariaHidden":108},[147],[75,644,646,649],{"className":645},[151],[75,647],{"className":648,"style":609},[155],[75,650,119],{"className":651},[160,613],[541,653,654],{"align":527},"os valores de entrada de todos os exemplos de treino",[541,656,657],{"align":527},[65,658,659],{},"x_train",[522,661,662,696,699],{},[541,663,664],{"align":527},[75,665,667,682],{"className":666},[78],[75,668,670],{"className":669},[82],[84,671,672],{"xmlns":86},[88,673,674,679],{},[91,675,676],{},[97,677,678],{"mathvariant":596},"y",[140,680,681],{"encoding":142},"\\mathbf{y}",[75,683,685],{"className":684,"ariaHidden":108},[147],[75,686,688,692],{"className":687},[151],[75,689],{"className":690,"style":691},[155],"height:0.6389em;vertical-align:-0.1944em;",[75,693,678],{"className":694,"style":695},[160,613],"margin-right:0.016em;",[541,697,698],{"align":527},"os valores que a gente quer prever, de todos os exemplos",[541,700,701],{"align":527},[65,702,703],{},"y_train",[522,705,706,862,894],{},[541,707,708,499,786],{"align":527},[75,709,711,737],{"className":710},[78],[75,712,714],{"className":713},[82],[84,715,716],{"xmlns":86},[88,717,718,734],{},[91,719,720],{},[721,722,723,725],"msup",{},[97,724,119],{},[91,726,727,729,732],{},[106,728,116],{"stretchy":115},[97,730,731],{},"i",[106,733,122],{"stretchy":115},[140,735,736],{"encoding":142},"x^{(i)}",[75,738,740],{"className":739,"ariaHidden":108},[147],[75,741,743,747],{"className":742},[151],[75,744],{"className":745,"style":746},[155],"height:0.888em;",[75,748,750,753],{"className":749},[160],[75,751,119],{"className":752},[160,164],[75,754,756],{"className":755},[169],[75,757,759],{"className":758},[173],[75,760,762],{"className":761},[178],[75,763,765],{"className":764,"style":746},[182],[75,766,768,771],{"style":767},"top:-3.063em;margin-right:0.05em;",[75,769],{"className":770,"style":191},[190],[75,772,774],{"className":773},[195,196,197,198],[75,775,777,780,783],{"className":776},[160,198],[75,778,116],{"className":779},[230,198],[75,781,731],{"className":782},[160,164,198],[75,784,122],{"className":785},[237,198],[75,787,789,813],{"className":788},[78],[75,790,792],{"className":791},[82],[84,793,794],{"xmlns":86},[88,795,796,810],{},[91,797,798],{},[721,799,800,802],{},[97,801,678],{},[91,803,804,806,808],{},[106,805,116],{"stretchy":115},[97,807,731],{},[106,809,122],{"stretchy":115},[140,811,812],{"encoding":142},"y^{(i)}",[75,814,816],{"className":815,"ariaHidden":108},[147],[75,817,819,823],{"className":818},[151],[75,820],{"className":821,"style":822},[155],"height:1.0824em;vertical-align:-0.1944em;",[75,824,826,830],{"className":825},[160],[75,827,678],{"className":828,"style":829},[160,164],"margin-right:0.0359em;",[75,831,833],{"className":832},[169],[75,834,836],{"className":835},[173],[75,837,839],{"className":838},[178],[75,840,842],{"className":841,"style":746},[182],[75,843,844,847],{"style":767},[75,845],{"className":846,"style":191},[190],[75,848,850],{"className":849},[195,196,197,198],[75,851,853,856,859],{"className":852},[160,198],[75,854,116],{"className":855},[230,198],[75,857,731],{"className":858},[160,164,198],[75,860,122],{"className":861},[237,198],[541,863,864,865],{"align":527},"o par de valores do exemplo número ",[75,866,868,881],{"className":867},[78],[75,869,871],{"className":870},[82],[84,872,873],{"xmlns":86},[88,874,875,879],{},[91,876,877],{},[97,878,731],{},[140,880,731],{"encoding":142},[75,882,884],{"className":883,"ariaHidden":108},[147],[75,885,887,891],{"className":886},[151],[75,888],{"className":889,"style":890},[155],"height:0.6595em;",[75,892,731],{"className":893},[160,164],[541,895,896,499,899],{"align":527},[65,897,898],{},"x_i",[65,900,901],{},"y_i",[522,903,904,934,937],{},[541,905,906],{"align":527},[75,907,909,922],{"className":908},[78],[75,910,912],{"className":911},[82],[84,913,914],{"xmlns":86},[88,915,916,920],{},[91,917,918],{},[97,919,317],{},[140,921,317],{"encoding":142},[75,923,925],{"className":924,"ariaHidden":108},[147],[75,926,928,931],{"className":927},[151],[75,929],{"className":930,"style":329},[155],[75,932,317],{"className":933},[160,164],[541,935,936],{"align":527},"quantos exemplos de treino você tem",[541,938,939],{"align":527},[65,940,317],{},[522,942,943,973,976],{},[541,944,945],{"align":527},[75,946,948,961],{"className":947},[78],[75,949,951],{"className":950},[82],[84,952,953],{"xmlns":86},[88,954,955,959],{},[91,956,957],{},[97,958,104],{},[140,960,104],{"encoding":142},[75,962,964],{"className":963,"ariaHidden":108},[147],[75,965,967,970],{"className":966},[151],[75,968],{"className":969,"style":329},[155],[75,971,104],{"className":972,"style":205},[160,164],[541,974,975],{"align":527},"peso (a inclinação da reta)",[541,977,978],{"align":527},[65,979,104],{},[522,981,982,1012,1015],{},[541,983,984],{"align":527},[75,985,987,1000],{"className":986},[78],[75,988,990],{"className":989},[82],[84,991,992],{"xmlns":86},[88,993,994,998],{},[91,995,996],{},[97,997,112],{},[140,999,112],{"encoding":142},[75,1001,1003],{"className":1002,"ariaHidden":108},[147],[75,1004,1006,1009],{"className":1005},[151],[75,1007],{"className":1008,"style":284},[155],[75,1010,112],{"className":1011},[160,164],[541,1013,1014],{"align":527},"viés (o ponto de partida da reta)",[541,1016,1017],{"align":527},[65,1018,112],{},[522,1020,1021,1169,1200],{},[541,1022,1023],{"align":527},[75,1024,1026,1066],{"className":1025},[78],[75,1027,1029],{"className":1028},[82],[84,1030,1031],{"xmlns":86},[88,1032,1033,1063],{},[91,1034,1035,1047,1049,1061],{},[94,1036,1037,1039],{},[97,1038,99],{},[91,1040,1041,1043,1045],{},[97,1042,104],{},[106,1044,109],{"separator":108},[97,1046,112],{},[106,1048,116],{"stretchy":115},[721,1050,1051,1053],{},[97,1052,119],{},[91,1054,1055,1057,1059],{},[106,1056,116],{"stretchy":115},[97,1058,731],{},[106,1060,122],{"stretchy":115},[106,1062,122],{"stretchy":115},[140,1064,1065],{"encoding":142},"f_{w,b}(x^{(i)})",[75,1067,1069],{"className":1068,"ariaHidden":108},[147],[75,1070,1072,1076,1125,1128,1166],{"className":1071},[151],[75,1073],{"className":1074,"style":1075},[155],"height:1.1741em;vertical-align:-0.2861em;",[75,1077,1079,1082],{"className":1078},[160],[75,1080,99],{"className":1081,"style":165},[160,164],[75,1083,1085],{"className":1084},[169],[75,1086,1088,1117],{"className":1087},[173,174],[75,1089,1091,1114],{"className":1090},[178],[75,1092,1094],{"className":1093,"style":183},[182],[75,1095,1096,1099],{"style":186},[75,1097],{"className":1098,"style":191},[190],[75,1100,1102],{"className":1101},[195,196,197,198],[75,1103,1105,1108,1111],{"className":1104},[160,198],[75,1106,104],{"className":1107,"style":205},[160,164,198],[75,1109,109],{"className":1110},[209,198],[75,1112,112],{"className":1113},[160,164,198],[75,1115,217],{"className":1116},[216],[75,1118,1120],{"className":1119},[178],[75,1121,1123],{"className":1122,"style":224},[182],[75,1124],{},[75,1126,116],{"className":1127},[230],[75,1129,1131,1134],{"className":1130},[160],[75,1132,119],{"className":1133},[160,164],[75,1135,1137],{"className":1136},[169],[75,1138,1140],{"className":1139},[173],[75,1141,1143],{"className":1142},[178],[75,1144,1146],{"className":1145,"style":746},[182],[75,1147,1148,1151],{"style":767},[75,1149],{"className":1150,"style":191},[190],[75,1152,1154],{"className":1153},[195,196,197,198],[75,1155,1157,1160,1163],{"className":1156},[160,198],[75,1158,116],{"className":1159},[230,198],[75,1161,731],{"className":1162},[160,164,198],[75,1164,122],{"className":1165},[237,198],[75,1167,122],{"className":1168},[237],[541,1170,1171,1172],{"align":527},"o que o modelo prevê pro exemplo ",[75,1173,1175,1188],{"className":1174},[78],[75,1176,1178],{"className":1177},[82],[84,1179,1180],{"xmlns":86},[88,1181,1182,1186],{},[91,1183,1184],{},[97,1185,731],{},[140,1187,731],{"encoding":142},[75,1189,1191],{"className":1190,"ariaHidden":108},[147],[75,1192,1194,1197],{"className":1193},[151],[75,1195],{"className":1196,"style":890},[155],[75,1198,731],{"className":1199},[160,164],[541,1201,1202],{"align":527},[65,1203,1204],{},"f_wb",[11,1206,1207],{},"Duas pegadinhas que confundem todo iniciante:",[1209,1210,1211,1433],"ul",{},[297,1212,1213,1286,1287,1290,1291,1294,1295,1371,1372,1432],{},[75,1214,1216,1239],{"className":1215},[78],[75,1217,1219],{"className":1218},[82],[84,1220,1221],{"xmlns":86},[88,1222,1223,1237],{},[91,1224,1225],{},[721,1226,1227,1229],{},[97,1228,119],{},[91,1230,1231,1233,1235],{},[106,1232,116],{"stretchy":115},[97,1234,731],{},[106,1236,122],{"stretchy":115},[140,1238,736],{"encoding":142},[75,1240,1242],{"className":1241,"ariaHidden":108},[147],[75,1243,1245,1248],{"className":1244},[151],[75,1246],{"className":1247,"style":746},[155],[75,1249,1251,1254],{"className":1250},[160],[75,1252,119],{"className":1253},[160,164],[75,1255,1257],{"className":1256},[169],[75,1258,1260],{"className":1259},[173],[75,1261,1263],{"className":1262},[178],[75,1264,1266],{"className":1265,"style":746},[182],[75,1267,1268,1271],{"style":767},[75,1269],{"className":1270,"style":191},[190],[75,1272,1274],{"className":1273},[195,196,197,198],[75,1275,1277,1280,1283],{"className":1276},[160,198],[75,1278,116],{"className":1279},[230,198],[75,1281,731],{"className":1282},[160,164,198],[75,1284,122],{"className":1285},[237,198]," ",[15,1288,1289],{},"não é"," potência. O ",[65,1292,1293],{},"(i)"," entre parênteses é só \"qual exemplo da tabela\", tipo o número da linha. ",[75,1296,1298,1324],{"className":1297},[78],[75,1299,1301],{"className":1300},[82],[84,1302,1303],{"xmlns":86},[88,1304,1305,1321],{},[91,1306,1307],{},[721,1308,1309,1311],{},[97,1310,119],{},[91,1312,1313,1315,1319],{},[106,1314,116],{"stretchy":115},[1316,1317,1318],"mn",{},"2",[106,1320,122],{"stretchy":115},[140,1322,1323],{"encoding":142},"x^{(2)}",[75,1325,1327],{"className":1326,"ariaHidden":108},[147],[75,1328,1330,1333],{"className":1329},[151],[75,1331],{"className":1332,"style":746},[155],[75,1334,1336,1339],{"className":1335},[160],[75,1337,119],{"className":1338},[160,164],[75,1340,1342],{"className":1341},[169],[75,1343,1345],{"className":1344},[173],[75,1346,1348],{"className":1347},[178],[75,1349,1351],{"className":1350,"style":746},[182],[75,1352,1353,1356],{"style":767},[75,1354],{"className":1355,"style":191},[190],[75,1357,1359],{"className":1358},[195,196,197,198],[75,1360,1362,1365,1368],{"className":1361},[160,198],[75,1363,116],{"className":1364},[230,198],[75,1366,1318],{"className":1367},[160,198],[75,1369,122],{"className":1370},[237,198]," é o terceiro exemplo (lembra, começa do zero), enquanto ",[75,1373,1375,1393],{"className":1374},[78],[75,1376,1378],{"className":1377},[82],[84,1379,1380],{"xmlns":86},[88,1381,1382,1390],{},[91,1383,1384],{},[721,1385,1386,1388],{},[97,1387,119],{},[1316,1389,1318],{},[140,1391,1392],{"encoding":142},"x^2",[75,1394,1396],{"className":1395,"ariaHidden":108},[147],[75,1397,1399,1403],{"className":1398},[151],[75,1400],{"className":1401,"style":1402},[155],"height:0.8141em;",[75,1404,1406,1409],{"className":1405},[160],[75,1407,119],{"className":1408},[160,164],[75,1410,1412],{"className":1411},[169],[75,1413,1415],{"className":1414},[173],[75,1416,1418],{"className":1417},[178],[75,1419,1421],{"className":1420,"style":1402},[182],[75,1422,1423,1426],{"style":767},[75,1424],{"className":1425,"style":191},[190],[75,1427,1429],{"className":1428},[195,196,197,198],[75,1430,1318],{"className":1431},[160,198]," seria \"x ao quadrado\", coisa bem diferente.",[297,1434,1435,1463,1464,1467,1468,1497,1498,1501,1502,1530,1531,1559,1560,1613],{},[75,1436,1438,1451],{"className":1437},[78],[75,1439,1441],{"className":1440},[82],[84,1442,1443],{"xmlns":86},[88,1444,1445,1449],{},[91,1446,1447],{},[97,1448,317],{},[140,1450,317],{"encoding":142},[75,1452,1454],{"className":1453,"ariaHidden":108},[147],[75,1455,1457,1460],{"className":1456},[151],[75,1458],{"className":1459,"style":329},[155],[75,1461,317],{"className":1462},[160,164]," é número de ",[15,1465,1466],{},"linhas"," (exemplos). Mais pra frente aparece ",[75,1469,1471,1485],{"className":1470},[78],[75,1472,1474],{"className":1473},[82],[84,1475,1476],{"xmlns":86},[88,1477,1478,1483],{},[91,1479,1480],{},[97,1481,1482],{},"n",[140,1484,1482],{"encoding":142},[75,1486,1488],{"className":1487,"ariaHidden":108},[147],[75,1489,1491,1494],{"className":1490},[151],[75,1492],{"className":1493,"style":329},[155],[75,1495,1482],{"className":1496},[160,164],", número de ",[15,1499,1500],{},"colunas"," (features\u002Fatributos). Pensa numa planilha de Excel: ",[75,1503,1505,1518],{"className":1504},[78],[75,1506,1508],{"className":1507},[82],[84,1509,1510],{"xmlns":86},[88,1511,1512,1516],{},[91,1513,1514],{},[97,1515,317],{},[140,1517,317],{"encoding":142},[75,1519,1521],{"className":1520,"ariaHidden":108},[147],[75,1522,1524,1527],{"className":1523},[151],[75,1525],{"className":1526,"style":329},[155],[75,1528,317],{"className":1529},[160,164]," é quantas casas você tem cadastradas, ",[75,1532,1534,1547],{"className":1533},[78],[75,1535,1537],{"className":1536},[82],[84,1538,1539],{"xmlns":86},[88,1540,1541,1545],{},[91,1542,1543],{},[97,1544,1482],{},[140,1546,1482],{"encoding":142},[75,1548,1550],{"className":1549,"ariaHidden":108},[147],[75,1551,1553,1556],{"className":1552},[151],[75,1554],{"className":1555,"style":329},[155],[75,1557,1482],{"className":1558},[160,164]," é quantas colunas de informação você anotou sobre cada uma (tamanho, número de quartos, bairro...). Aqui a gente só tem uma coluna, então ",[75,1561,1563,1582],{"className":1562},[78],[75,1564,1566],{"className":1565},[82],[84,1567,1568],{"xmlns":86},[88,1569,1570,1579],{},[91,1571,1572,1574,1576],{},[97,1573,1482],{},[106,1575,125],{},[1316,1577,1578],{},"1",[140,1580,1581],{"encoding":142},"n = 1",[75,1583,1585,1603],{"className":1584,"ariaHidden":108},[147],[75,1586,1588,1591,1594,1597,1600],{"className":1587},[151],[75,1589],{"className":1590,"style":329},[155],[75,1592,1482],{"className":1593},[160,164],[75,1595],{"className":1596,"style":242},[241],[75,1598,125],{"className":1599},[246],[75,1601],{"className":1602,"style":242},[241],[75,1604,1606,1610],{"className":1605},[151],[75,1607],{"className":1608,"style":1609},[155],"height:0.6444em;",[75,1611,1578],{"className":1612},[160],".",[289,1615,1617],{"id":1616},"o-problema-quanto-vale-essa-casa-aí","O problema: quanto vale essa casa aí?",[11,1619,1620,1621,1624,1625,1628,1629,1632,1633,1636],{},"Cenário: você é corretor e só fechou duas vendas até agora. Uma casa de ",[15,1622,1623],{},"1000 pés²"," foi vendida por ",[15,1626,1627],{},"300 mil dólares",", e uma de ",[15,1630,1631],{},"2000 pés²",", por ",[15,1634,1635],{},"500 mil",". Aparece um cliente com uma casa de 1200 pés² perguntando quanto ela vale. Você não tem bola de cristal, mas tem dois pontos de referência, e foi surpreendente quanto eu consegui tirar disso.",[11,1638,1639],{},"Pra não ficar escrevendo zero pra caramba, tamanho vira \"milhares de pés²\" e preço vira \"milhares de dólares\":",[516,1641,1642,1829],{},[519,1643,1644],{},[522,1645,1646,1677,1753],{},[525,1647,1649],{"align":1648},"center",[75,1650,1652,1665],{"className":1651},[78],[75,1653,1655],{"className":1654},[82],[84,1656,1657],{"xmlns":86},[88,1658,1659,1663],{},[91,1660,1661],{},[97,1662,731],{},[140,1664,731],{"encoding":142},[75,1666,1668],{"className":1667,"ariaHidden":108},[147],[75,1669,1671,1674],{"className":1670},[151],[75,1672],{"className":1673,"style":890},[155],[75,1675,731],{"className":1676},[160,164],[525,1678,1679,1680],{"align":1648},"Tamanho (1000 pés²) → ",[75,1681,1683,1706],{"className":1682},[78],[75,1684,1686],{"className":1685},[82],[84,1687,1688],{"xmlns":86},[88,1689,1690,1704],{},[91,1691,1692],{},[721,1693,1694,1696],{},[97,1695,119],{},[91,1697,1698,1700,1702],{},[106,1699,116],{"stretchy":115},[97,1701,731],{},[106,1703,122],{"stretchy":115},[140,1705,736],{"encoding":142},[75,1707,1709],{"className":1708,"ariaHidden":108},[147],[75,1710,1712,1715],{"className":1711},[151],[75,1713],{"className":1714,"style":746},[155],[75,1716,1718,1721],{"className":1717},[160],[75,1719,119],{"className":1720},[160,164],[75,1722,1724],{"className":1723},[169],[75,1725,1727],{"className":1726},[173],[75,1728,1730],{"className":1729},[178],[75,1731,1733],{"className":1732,"style":746},[182],[75,1734,1735,1738],{"style":767},[75,1736],{"className":1737,"style":191},[190],[75,1739,1741],{"className":1740},[195,196,197,198],[75,1742,1744,1747,1750],{"className":1743},[160,198],[75,1745,116],{"className":1746},[230,198],[75,1748,731],{"className":1749},[160,164,198],[75,1751,122],{"className":1752},[237,198],[525,1754,1755,1756],{"align":1648},"Preço (1000 dólares) → ",[75,1757,1759,1782],{"className":1758},[78],[75,1760,1762],{"className":1761},[82],[84,1763,1764],{"xmlns":86},[88,1765,1766,1780],{},[91,1767,1768],{},[721,1769,1770,1772],{},[97,1771,678],{},[91,1773,1774,1776,1778],{},[106,1775,116],{"stretchy":115},[97,1777,731],{},[106,1779,122],{"stretchy":115},[140,1781,812],{"encoding":142},[75,1783,1785],{"className":1784,"ariaHidden":108},[147],[75,1786,1788,1791],{"className":1787},[151],[75,1789],{"className":1790,"style":822},[155],[75,1792,1794,1797],{"className":1793},[160],[75,1795,678],{"className":1796,"style":829},[160,164],[75,1798,1800],{"className":1799},[169],[75,1801,1803],{"className":1802},[173],[75,1804,1806],{"className":1805},[178],[75,1807,1809],{"className":1808,"style":746},[182],[75,1810,1811,1814],{"style":767},[75,1812],{"className":1813,"style":191},[190],[75,1815,1817],{"className":1816},[195,196,197,198],[75,1818,1820,1823,1826],{"className":1819},[160,198],[75,1821,116],{"className":1822},[230,198],[75,1824,731],{"className":1825},[160,164,198],[75,1827,122],{"className":1828},[237,198],[536,1830,1831,1842],{},[522,1832,1833,1836,1839],{},[541,1834,1835],{"align":1648},"0",[541,1837,1838],{"align":1648},"1.0",[541,1840,1841],{"align":1648},"300",[522,1843,1844,1846,1849],{},[541,1845,1578],{"align":1648},[541,1847,1848],{"align":1648},"2.0",[541,1850,1851],{"align":1648},"500",[11,1853,1854,1855,1906,1907,503,2103,1613],{},"Ou seja: ",[75,1856,1858,1876],{"className":1857},[78],[75,1859,1861],{"className":1860},[82],[84,1862,1863],{"xmlns":86},[88,1864,1865,1873],{},[91,1866,1867,1869,1871],{},[97,1868,317],{},[106,1870,125],{},[1316,1872,1318],{},[140,1874,1875],{"encoding":142},"m = 2",[75,1877,1879,1897],{"className":1878,"ariaHidden":108},[147],[75,1880,1882,1885,1888,1891,1894],{"className":1881},[151],[75,1883],{"className":1884,"style":329},[155],[75,1886,317],{"className":1887},[160,164],[75,1889],{"className":1890,"style":242},[241],[75,1892,125],{"className":1893},[246],[75,1895],{"className":1896,"style":242},[241],[75,1898,1900,1903],{"className":1899},[151],[75,1901],{"className":1902,"style":1609},[155],[75,1904,1318],{"className":1905},[160]," exemplos, ",[75,1908,1910,1968],{"className":1909},[78],[75,1911,1913],{"className":1912},[82],[84,1914,1915],{"xmlns":86},[88,1916,1917,1965],{},[91,1918,1919,1921,1933,1935,1947,1949,1951,1953,1955,1957,1960,1963],{},[106,1920,116],{"stretchy":115},[721,1922,1923,1925],{},[97,1924,119],{},[91,1926,1927,1929,1931],{},[106,1928,116],{"stretchy":115},[1316,1930,1835],{},[106,1932,122],{"stretchy":115},[106,1934,109],{"separator":108},[721,1936,1937,1939],{},[97,1938,678],{},[91,1940,1941,1943,1945],{},[106,1942,116],{"stretchy":115},[1316,1944,1835],{},[106,1946,122],{"stretchy":115},[106,1948,122],{"stretchy":115},[106,1950,125],{},[106,1952,116],{"stretchy":115},[1316,1954,1838],{},[106,1956,109],{"separator":108},[129,1958,1959],{}," ",[1316,1961,1962],{},"300.0",[106,1964,122],{"stretchy":115},[140,1966,1967],{"encoding":142},"(x^{(0)}, y^{(0)}) = (1.0,\\ 300.0)",[75,1969,1971,2075],{"className":1970,"ariaHidden":108},[147],[75,1972,1974,1978,1981,2019,2022,2025,2063,2066,2069,2072],{"className":1973},[151],[75,1975],{"className":1976,"style":1977},[155],"height:1.138em;vertical-align:-0.25em;",[75,1979,116],{"className":1980},[230],[75,1982,1984,1987],{"className":1983},[160],[75,1985,119],{"className":1986},[160,164],[75,1988,1990],{"className":1989},[169],[75,1991,1993],{"className":1992},[173],[75,1994,1996],{"className":1995},[178],[75,1997,1999],{"className":1998,"style":746},[182],[75,2000,2001,2004],{"style":767},[75,2002],{"className":2003,"style":191},[190],[75,2005,2007],{"className":2006},[195,196,197,198],[75,2008,2010,2013,2016],{"className":2009},[160,198],[75,2011,116],{"className":2012},[230,198],[75,2014,1835],{"className":2015},[160,198],[75,2017,122],{"className":2018},[237,198],[75,2020,109],{"className":2021},[209],[75,2023],{"className":2024,"style":263},[241],[75,2026,2028,2031],{"className":2027},[160],[75,2029,678],{"className":2030,"style":829},[160,164],[75,2032,2034],{"className":2033},[169],[75,2035,2037],{"className":2036},[173],[75,2038,2040],{"className":2039},[178],[75,2041,2043],{"className":2042,"style":746},[182],[75,2044,2045,2048],{"style":767},[75,2046],{"className":2047,"style":191},[190],[75,2049,2051],{"className":2050},[195,196,197,198],[75,2052,2054,2057,2060],{"className":2053},[160,198],[75,2055,116],{"className":2056},[230,198],[75,2058,1835],{"className":2059},[160,198],[75,2061,122],{"className":2062},[237,198],[75,2064,122],{"className":2065},[237],[75,2067],{"className":2068,"style":242},[241],[75,2070,125],{"className":2071},[246],[75,2073],{"className":2074,"style":242},[241],[75,2076,2078,2082,2085,2088,2091,2094,2097,2100],{"className":2077},[151],[75,2079],{"className":2080,"style":2081},[155],"height:1em;vertical-align:-0.25em;",[75,2083,116],{"className":2084},[230],[75,2086,1838],{"className":2087},[160],[75,2089,109],{"className":2090},[209],[75,2092,1959],{"className":2093},[241],[75,2095],{"className":2096,"style":263},[241],[75,2098,1962],{"className":2099},[160],[75,2101,122],{"className":2102},[237],[75,2104,2106,2163],{"className":2105},[78],[75,2107,2109],{"className":2108},[82],[84,2110,2111],{"xmlns":86},[88,2112,2113,2160],{},[91,2114,2115,2117,2129,2131,2143,2145,2147,2149,2151,2153,2155,2158],{},[106,2116,116],{"stretchy":115},[721,2118,2119,2121],{},[97,2120,119],{},[91,2122,2123,2125,2127],{},[106,2124,116],{"stretchy":115},[1316,2126,1578],{},[106,2128,122],{"stretchy":115},[106,2130,109],{"separator":108},[721,2132,2133,2135],{},[97,2134,678],{},[91,2136,2137,2139,2141],{},[106,2138,116],{"stretchy":115},[1316,2140,1578],{},[106,2142,122],{"stretchy":115},[106,2144,122],{"stretchy":115},[106,2146,125],{},[106,2148,116],{"stretchy":115},[1316,2150,1848],{},[106,2152,109],{"separator":108},[129,2154,1959],{},[1316,2156,2157],{},"500.0",[106,2159,122],{"stretchy":115},[140,2161,2162],{"encoding":142},"(x^{(1)}, y^{(1)}) = (2.0,\\ 500.0)",[75,2164,2166,2269],{"className":2165,"ariaHidden":108},[147],[75,2167,2169,2172,2175,2213,2216,2219,2257,2260,2263,2266],{"className":2168},[151],[75,2170],{"className":2171,"style":1977},[155],[75,2173,116],{"className":2174},[230],[75,2176,2178,2181],{"className":2177},[160],[75,2179,119],{"className":2180},[160,164],[75,2182,2184],{"className":2183},[169],[75,2185,2187],{"className":2186},[173],[75,2188,2190],{"className":2189},[178],[75,2191,2193],{"className":2192,"style":746},[182],[75,2194,2195,2198],{"style":767},[75,2196],{"className":2197,"style":191},[190],[75,2199,2201],{"className":2200},[195,196,197,198],[75,2202,2204,2207,2210],{"className":2203},[160,198],[75,2205,116],{"className":2206},[230,198],[75,2208,1578],{"className":2209},[160,198],[75,2211,122],{"className":2212},[237,198],[75,2214,109],{"className":2215},[209],[75,2217],{"className":2218,"style":263},[241],[75,2220,2222,2225],{"className":2221},[160],[75,2223,678],{"className":2224,"style":829},[160,164],[75,2226,2228],{"className":2227},[169],[75,2229,2231],{"className":2230},[173],[75,2232,2234],{"className":2233},[178],[75,2235,2237],{"className":2236,"style":746},[182],[75,2238,2239,2242],{"style":767},[75,2240],{"className":2241,"style":191},[190],[75,2243,2245],{"className":2244},[195,196,197,198],[75,2246,2248,2251,2254],{"className":2247},[160,198],[75,2249,116],{"className":2250},[230,198],[75,2252,1578],{"className":2253},[160,198],[75,2255,122],{"className":2256},[237,198],[75,2258,122],{"className":2259},[237],[75,2261],{"className":2262,"style":242},[241],[75,2264,125],{"className":2265},[246],[75,2267],{"className":2268,"style":242},[241],[75,2270,2272,2275,2278,2281,2284,2287,2290,2293],{"className":2271},[151],[75,2273],{"className":2274,"style":2081},[155],[75,2276,116],{"className":2277},[230],[75,2279,1848],{"className":2280},[160],[75,2282,109],{"className":2283},[209],[75,2285,1959],{"className":2286},[241],[75,2288],{"className":2289,"style":263},[241],[75,2291,2157],{"className":2292},[160],[75,2294,122],{"className":2295},[237],[11,2297,2298,2299,503,2327,2355,2356,2359],{},"Meu plano era achar uma reta que passasse (ou chegasse perto) desses pontos. Achando essa reta (ou seja, achando ",[75,2300,2302,2315],{"className":2301},[78],[75,2303,2305],{"className":2304},[82],[84,2306,2307],{"xmlns":86},[88,2308,2309,2313],{},[91,2310,2311],{},[97,2312,104],{},[140,2314,104],{"encoding":142},[75,2316,2318],{"className":2317,"ariaHidden":108},[147],[75,2319,2321,2324],{"className":2320},[151],[75,2322],{"className":2323,"style":329},[155],[75,2325,104],{"className":2326,"style":205},[160,164],[75,2328,2330,2343],{"className":2329},[78],[75,2331,2333],{"className":2332},[82],[84,2334,2335],{"xmlns":86},[88,2336,2337,2341],{},[91,2338,2339],{},[97,2340,112],{},[140,2342,112],{"encoding":142},[75,2344,2346],{"className":2345,"ariaHidden":108},[147],[75,2347,2349,2352],{"className":2348},[151],[75,2350],{"className":2351,"style":284},[155],[75,2353,112],{"className":2354},[160,164],") eu consigo estimar o preço de ",[15,2357,2358],{},"qualquer"," casa nova, incluindo uma que a gente nunca viu, tipo a de 1200 pés².",[46,2361,2362],{},[11,2363,2364,2365,2369],{},"Escala menor é hábito, não frescura: mais pra frente no curso, quando os números ficarem grandes de verdade (preço de casa em SP, tipo), normalizar as escalas (",[2366,2367,2368],"em",{},"feature scaling",") vai ser essencial pro treino nem travar nem enlouquecer. Já vai acostumando o olho.",[2371,2372,2374],"h3",{"id":2373},"bota-isso-num-array","Bota isso num array",[2376,2377,2381],"pre",{"className":2378,"code":2379,"language":2380,"meta":26,"style":26},"language-python shiki shiki-themes github-light github-dark","# =====================================================================\n# DADOS DE TREINO\n# =====================================================================\n# x_train -> variável de ENTRADA (feature): tamanho da casa, em milhares de pés²\n# y_train -> variável ALVO (target):        preço da casa, em milhares de dólares\n# A ordem importa: x_train[0] e y_train[0] descrevem a MESMA casa.\n\nx_train = np.array([1.0, 2.0])       # Cria um array NumPy 1-D com os dois tamanhos.\ny_train = np.array([300.0, 500.0])   # Cria um array NumPy 1-D com os dois preços correspondentes.\n\nprint(f\"x_train = {x_train}\")\nprint(f\"y_train = {y_train}\")\n","python",[65,2382,2383,2389,2394,2399,2405,2411,2417,2423,2429,2435,2440,2446],{"__ignoreMap":26},[75,2384,2386],{"class":2385,"line":33},"line",[75,2387,2388],{},"# =====================================================================\n",[75,2390,2391],{"class":2385,"line":27},[75,2392,2393],{},"# DADOS DE TREINO\n",[75,2395,2397],{"class":2385,"line":2396},3,[75,2398,2388],{},[75,2400,2402],{"class":2385,"line":2401},4,[75,2403,2404],{},"# x_train -> variável de ENTRADA (feature): tamanho da casa, em milhares de pés²\n",[75,2406,2408],{"class":2385,"line":2407},5,[75,2409,2410],{},"# y_train -> variável ALVO (target):        preço da casa, em milhares de dólares\n",[75,2412,2414],{"class":2385,"line":2413},6,[75,2415,2416],{},"# A ordem importa: x_train[0] e y_train[0] descrevem a MESMA casa.\n",[75,2418,2420],{"class":2385,"line":2419},7,[75,2421,2422],{"emptyLinePlaceholder":32},"\n",[75,2424,2426],{"class":2385,"line":2425},8,[75,2427,2428],{},"x_train = np.array([1.0, 2.0])       # Cria um array NumPy 1-D com os dois tamanhos.\n",[75,2430,2432],{"class":2385,"line":2431},9,[75,2433,2434],{},"y_train = np.array([300.0, 500.0])   # Cria um array NumPy 1-D com os dois preços correspondentes.\n",[75,2436,2438],{"class":2385,"line":2437},10,[75,2439,2422],{"emptyLinePlaceholder":32},[75,2441,2443],{"class":2385,"line":2442},11,[75,2444,2445],{},"print(f\"x_train = {x_train}\")\n",[75,2447,2449],{"class":2385,"line":2448},12,[75,2450,2451],{},"print(f\"y_train = {y_train}\")\n",[46,2453,2454,2459],{},[11,2455,2456],{},[15,2457,2458],{},"Saída:",[2376,2460,2465],{"className":2461,"code":2463,"language":2464},[2462],"language-text","x_train = [1. 2.]\ny_train = [300. 500.]\n","text",[65,2466,2463],{"__ignoreMap":26},[11,2468,2469,2470,2473,2474,2477,2478,2481],{},"Repara que usei ",[65,2471,2472],{},"np.array",", não uma lista Python normal (",[65,2475,2476],{},"[1.0, 2.0]"," puro). Não é frescura de biblioteca chique: array NumPy guarda os números \"grudados\" na memória e faz conta em cima de todo mundo de uma vez (isso chama ",[15,2479,2480],{},"vetorização","), em vez de percorrer item por item como uma lista faria. Com 2 números não faz diferença nenhuma, mas com 2 milhões é a diferença entre rodar em segundos ou travar sua máquina. Todo o curso, e praticamente todo código sério de ML, parte do NumPy por causa disso.",[46,2483,2484],{},[11,2485,2486,2489,2490,2492,2493,2496,2497,2500],{},[15,2487,2488],{},"Sobre f-strings:"," o ",[65,2491,99],{}," antes das aspas é Python avaliando o que tá dentro de ",[65,2494,2495],{},"{ }"," e enfiando no texto. ",[65,2498,2499],{},"{valor:.2f}"," formata com 2 casas decimais. Vai aparecer o tempo todo daqui pra frente.",[2371,2502,2504,2505,122],{"id":2503},"quantos-exemplos-eu-tenho-mmm","Quantos exemplos eu tenho? (",[75,2506,2508,2521],{"className":2507},[78],[75,2509,2511],{"className":2510},[82],[84,2512,2513],{"xmlns":86},[88,2514,2515,2519],{},[91,2516,2517],{},[97,2518,317],{},[140,2520,317],{"encoding":142},[75,2522,2524],{"className":2523,"ariaHidden":108},[147],[75,2525,2527,2530],{"className":2526},[151],[75,2528],{"className":2529,"style":329},[155],[75,2531,317],{"className":2532},[160,164],[2376,2534,2536],{"className":2378,"code":2535,"language":2380,"meta":26,"style":26},"# Via .shape -- devolve uma TUPLA com o tamanho de cada dimensão.\nprint(f\"x_train.shape: {x_train.shape}\")   # (2,) para um vetor 1-D com 2 elementos.\nm = x_train.shape[0]\nprint(f\"Número de exemplos de treino é: {m}\")\n\n# Via len() -- funciona em arrays NumPy como funciona em listas.\nm = len(x_train)\nprint(f\"Número de exemplos de treino é: {m}\")\n",[65,2537,2538,2543,2548,2553,2558,2562,2567,2572],{"__ignoreMap":26},[75,2539,2540],{"class":2385,"line":33},[75,2541,2542],{},"# Via .shape -- devolve uma TUPLA com o tamanho de cada dimensão.\n",[75,2544,2545],{"class":2385,"line":27},[75,2546,2547],{},"print(f\"x_train.shape: {x_train.shape}\")   # (2,) para um vetor 1-D com 2 elementos.\n",[75,2549,2550],{"class":2385,"line":2396},[75,2551,2552],{},"m = x_train.shape[0]\n",[75,2554,2555],{"class":2385,"line":2401},[75,2556,2557],{},"print(f\"Número de exemplos de treino é: {m}\")\n",[75,2559,2560],{"class":2385,"line":2407},[75,2561,2422],{"emptyLinePlaceholder":32},[75,2563,2564],{"class":2385,"line":2413},[75,2565,2566],{},"# Via len() -- funciona em arrays NumPy como funciona em listas.\n",[75,2568,2569],{"class":2385,"line":2419},[75,2570,2571],{},"m = len(x_train)\n",[75,2573,2574],{"class":2385,"line":2425},[75,2575,2557],{},[11,2577,2578,2579,2582,2583,2635,2636,2638,2639,2642,2643,2646],{},"As duas dão o mesmo resultado aqui, mas eu peguei o hábito de usar ",[65,2580,2581],{},".shape"," cedo, e vale a pena você pegar também: quando seus dados tiverem várias colunas (aquele ",[75,2584,2586,2605],{"className":2585},[78],[75,2587,2589],{"className":2588},[82],[84,2590,2591],{"xmlns":86},[88,2592,2593,2602],{},[91,2594,2595,2597,2600],{},[97,2596,317],{},[106,2598,2599],{},"×",[97,2601,1482],{},[140,2603,2604],{"encoding":142},"m \\times n",[75,2606,2608,2626],{"className":2607,"ariaHidden":108},[147],[75,2609,2611,2614,2617,2620,2623],{"className":2610},[151],[75,2612],{"className":2613,"style":256},[155],[75,2615,317],{"className":2616},[160,164],[75,2618],{"className":2619,"style":270},[241],[75,2621,2599],{"className":2622},[274],[75,2624],{"className":2625,"style":270},[241],[75,2627,2629,2632],{"className":2628},[151],[75,2630],{"className":2631,"style":329},[155],[75,2633,1482],{"className":2634},[160,164]," que falei ali em cima), ",[65,2637,2581],{}," te conta linhas ",[2366,2640,2641],{},"e"," colunas de cara, enquanto ",[65,2644,2645],{},"len()"," só te dá o número de linhas e te deixa no escuro sobre o resto.",[2371,2648,2650],{"id":2649},"pescando-um-exemplo-específico","Pescando um exemplo específico",[11,2652,2653,2654,2657],{},"Python conta a partir do ",[15,2655,2656],{},"zero",", sempre:",[516,2659,2660,2841],{},[519,2661,2662],{},[522,2663,2664,2695,2839],{},[525,2665,2666,2667],{"align":1648},"Índice ",[75,2668,2670,2683],{"className":2669},[78],[75,2671,2673],{"className":2672},[82],[84,2674,2675],{"xmlns":86},[88,2676,2677,2681],{},[91,2678,2679],{},[97,2680,731],{},[140,2682,731],{"encoding":142},[75,2684,2686],{"className":2685,"ariaHidden":108},[147],[75,2687,2689,2692],{"className":2688},[151],[75,2690],{"className":2691,"style":890},[155],[75,2693,731],{"className":2694},[160,164],[525,2696,2697],{"align":1648},[75,2698,2700,2742],{"className":2699},[78],[75,2701,2703],{"className":2702},[82],[84,2704,2705],{"xmlns":86},[88,2706,2707,2739],{},[91,2708,2709,2711,2723,2725,2737],{},[106,2710,116],{"stretchy":115},[721,2712,2713,2715],{},[97,2714,119],{},[91,2716,2717,2719,2721],{},[106,2718,116],{"stretchy":115},[97,2720,731],{},[106,2722,122],{"stretchy":115},[106,2724,109],{"separator":108},[721,2726,2727,2729],{},[97,2728,678],{},[91,2730,2731,2733,2735],{},[106,2732,116],{"stretchy":115},[97,2734,731],{},[106,2736,122],{"stretchy":115},[106,2738,122],{"stretchy":115},[140,2740,2741],{"encoding":142},"(x^{(i)}, y^{(i)})",[75,2743,2745],{"className":2744,"ariaHidden":108},[147],[75,2746,2748,2751,2754,2792,2795,2798,2836],{"className":2747},[151],[75,2749],{"className":2750,"style":1977},[155],[75,2752,116],{"className":2753},[230],[75,2755,2757,2760],{"className":2756},[160],[75,2758,119],{"className":2759},[160,164],[75,2761,2763],{"className":2762},[169],[75,2764,2766],{"className":2765},[173],[75,2767,2769],{"className":2768},[178],[75,2770,2772],{"className":2771,"style":746},[182],[75,2773,2774,2777],{"style":767},[75,2775],{"className":2776,"style":191},[190],[75,2778,2780],{"className":2779},[195,196,197,198],[75,2781,2783,2786,2789],{"className":2782},[160,198],[75,2784,116],{"className":2785},[230,198],[75,2787,731],{"className":2788},[160,164,198],[75,2790,122],{"className":2791},[237,198],[75,2793,109],{"className":2794},[209],[75,2796],{"className":2797,"style":263},[241],[75,2799,2801,2804],{"className":2800},[160],[75,2802,678],{"className":2803,"style":829},[160,164],[75,2805,2807],{"className":2806},[169],[75,2808,2810],{"className":2809},[173],[75,2811,2813],{"className":2812},[178],[75,2814,2816],{"className":2815,"style":746},[182],[75,2817,2818,2821],{"style":767},[75,2819],{"className":2820,"style":191},[190],[75,2822,2824],{"className":2823},[195,196,197,198],[75,2825,2827,2830,2833],{"className":2826},[160,198],[75,2828,116],{"className":2829},[230,198],[75,2831,731],{"className":2832},[160,164,198],[75,2834,122],{"className":2835},[237,198],[75,2837,122],{"className":2838},[237],[525,2840,534],{"align":527},[536,2842,2843,2914],{},[522,2844,2845,2847,2906],{},[541,2846,1835],{"align":1648},[541,2848,2849],{"align":1648},[75,2850,2852,2876],{"className":2851},[78],[75,2853,2855],{"className":2854},[82],[84,2856,2857],{"xmlns":86},[88,2858,2859,2873],{},[91,2860,2861,2863,2865,2867,2869,2871],{},[106,2862,116],{"stretchy":115},[1316,2864,1838],{},[106,2866,109],{"separator":108},[129,2868,1959],{},[1316,2870,1962],{},[106,2872,122],{"stretchy":115},[140,2874,2875],{"encoding":142},"(1.0,\\ 300.0)",[75,2877,2879],{"className":2878,"ariaHidden":108},[147],[75,2880,2882,2885,2888,2891,2894,2897,2900,2903],{"className":2881},[151],[75,2883],{"className":2884,"style":2081},[155],[75,2886,116],{"className":2887},[230],[75,2889,1838],{"className":2890},[160],[75,2892,109],{"className":2893},[209],[75,2895,1959],{"className":2896},[241],[75,2898],{"className":2899,"style":263},[241],[75,2901,1962],{"className":2902},[160],[75,2904,122],{"className":2905},[237],[541,2907,2908,499,2911],{"align":527},[65,2909,2910],{},"x_train[0]",[65,2912,2913],{},"y_train[0]",[522,2915,2916,2918,2977],{},[541,2917,1578],{"align":1648},[541,2919,2920],{"align":1648},[75,2921,2923,2947],{"className":2922},[78],[75,2924,2926],{"className":2925},[82],[84,2927,2928],{"xmlns":86},[88,2929,2930,2944],{},[91,2931,2932,2934,2936,2938,2940,2942],{},[106,2933,116],{"stretchy":115},[1316,2935,1848],{},[106,2937,109],{"separator":108},[129,2939,1959],{},[1316,2941,2157],{},[106,2943,122],{"stretchy":115},[140,2945,2946],{"encoding":142},"(2.0,\\ 500.0)",[75,2948,2950],{"className":2949,"ariaHidden":108},[147],[75,2951,2953,2956,2959,2962,2965,2968,2971,2974],{"className":2952},[151],[75,2954],{"className":2955,"style":2081},[155],[75,2957,116],{"className":2958},[230],[75,2960,1848],{"className":2961},[160],[75,2963,109],{"className":2964},[209],[75,2966,1959],{"className":2967},[241],[75,2969],{"className":2970,"style":263},[241],[75,2972,2157],{"className":2973},[160],[75,2975,122],{"className":2976},[237],[541,2978,2979,499,2982],{"align":527},[65,2980,2981],{},"x_train[1]",[65,2983,2984],{},"y_train[1]",[2376,2986,2988],{"className":2378,"code":2987,"language":2380,"meta":26,"style":26},"i = 0                    # Índice do exemplo que queremos inspecionar.\nx_i = x_train[i]\ny_i = y_train[i]\n\nprint(f\"(x^({i}), y^({i})) = ({x_i}, {y_i})\")\n",[65,2989,2990,2995,3000,3005,3009],{"__ignoreMap":26},[75,2991,2992],{"class":2385,"line":33},[75,2993,2994],{},"i = 0                    # Índice do exemplo que queremos inspecionar.\n",[75,2996,2997],{"class":2385,"line":27},[75,2998,2999],{},"x_i = x_train[i]\n",[75,3001,3002],{"class":2385,"line":2396},[75,3003,3004],{},"y_i = y_train[i]\n",[75,3006,3007],{"class":2385,"line":2401},[75,3008,2422],{"emptyLinePlaceholder":32},[75,3010,3011],{"class":2385,"line":2407},[75,3012,3013],{},"print(f\"(x^({i}), y^({i})) = ({x_i}, {y_i})\")\n",[46,3015,3016],{},[11,3017,3018,1286,3020],{},[15,3019,2458],{},[65,3021,3022],{},"(x^(0), y^(0)) = (1.0, 300.0)",[11,3024,3025,3026,3100,3101,3103],{},"Detalhe chato que pega gente boa: nas aulas às vezes o Andrew Ng conta a partir de 1 (",[75,3027,3029,3053],{"className":3028},[78],[75,3030,3032],{"className":3031},[82],[84,3033,3034],{"xmlns":86},[88,3035,3036,3050],{},[91,3037,3038],{},[721,3039,3040,3042],{},[97,3041,119],{},[91,3043,3044,3046,3048],{},[106,3045,116],{"stretchy":115},[1316,3047,1578],{},[106,3049,122],{"stretchy":115},[140,3051,3052],{"encoding":142},"x^{(1)}",[75,3054,3056],{"className":3055,"ariaHidden":108},[147],[75,3057,3059,3062],{"className":3058},[151],[75,3060],{"className":3061,"style":746},[155],[75,3063,3065,3068],{"className":3064},[160],[75,3066,119],{"className":3067},[160,164],[75,3069,3071],{"className":3070},[169],[75,3072,3074],{"className":3073},[173],[75,3075,3077],{"className":3076},[178],[75,3078,3080],{"className":3079,"style":746},[182],[75,3081,3082,3085],{"style":767},[75,3083],{"className":3084,"style":191},[190],[75,3086,3088],{"className":3087},[195,196,197,198],[75,3089,3091,3094,3097],{"className":3090},[160,198],[75,3092,116],{"className":3093},[230,198],[75,3095,1578],{"className":3096},[160,198],[75,3098,122],{"className":3099},[237,198]," sendo o primeiro exemplo). No código, o primeiro é sempre ",[65,3102,2910],{},". É a mesma casa, só muda a régua de contagem. Não é bug seu se der um \"off-by-one\" na cabeça, é padrão da área mesmo.",[289,3105,3107],{"id":3106},"olha-pros-dados-antes-de-sair-modelando","Olha pros dados antes de sair modelando",[11,3109,3110],{},"Isso não é conselho de \"boa prática\" genérico, é regra de sobrevivência. Se você sair direto ajustando reta sem olhar o formato dos dados, você não vai perceber quando a relação não é nem de longe linear (e aí regressão linear seria a ferramenta errada pro trabalho). Um gráfico de dispersão resolve isso em 2 segundos de olhada. Passa o mouse nos pontos:",[3112,3113],"model-prediction-chart",{":x-train":3114,":y-train":3115,"dataLabel":3116,"x-label":3117,"y-label":3118},"[1, 2]","[300, 500]","Dados de treino","Tamanho (1000 pés²)","Preço (1000 dólares)",[11,3120,3121],{},"Com só 2 pontos, \"linear ou não\" é meio óbvio, mas o hábito de olhar antes é o que importa aqui, porque com 200 ou 2000 pontos ele vai te salvar de horas perdidas tentando ajustar o modelo errado.",[289,3123,3125],{"id":3124},"a-função-do-modelo-o-que-w-e-b-realmente-significam","A função do modelo: o que w e b realmente significam",[11,3127,3128],{},[75,3129,3131,3193],{"className":3130},[78],[75,3132,3134],{"className":3133},[82],[84,3135,3136],{"xmlns":86},[88,3137,3138,3190],{},[91,3139,3140,3152,3154,3166,3168,3170,3172,3174,3186,3188],{},[94,3141,3142,3144],{},[97,3143,99],{},[91,3145,3146,3148,3150],{},[97,3147,104],{},[106,3149,109],{"separator":108},[97,3151,112],{},[106,3153,116],{"stretchy":115},[721,3155,3156,3158],{},[97,3157,119],{},[91,3159,3160,3162,3164],{},[106,3161,116],{"stretchy":115},[97,3163,731],{},[106,3165,122],{"stretchy":115},[106,3167,122],{"stretchy":115},[106,3169,125],{},[97,3171,104],{},[129,3173,131],{},[721,3175,3176,3178],{},[97,3177,119],{},[91,3179,3180,3182,3184],{},[106,3181,116],{"stretchy":115},[97,3183,731],{},[106,3185,122],{"stretchy":115},[106,3187,136],{},[97,3189,112],{},[140,3191,3192],{"encoding":142},"f_{w,b}(x^{(i)}) = w\\,x^{(i)} + b",[75,3194,3196,3304,3364],{"className":3195,"ariaHidden":108},[147],[75,3197,3199,3202,3251,3254,3292,3295,3298,3301],{"className":3198},[151],[75,3200],{"className":3201,"style":1075},[155],[75,3203,3205,3208],{"className":3204},[160],[75,3206,99],{"className":3207,"style":165},[160,164],[75,3209,3211],{"className":3210},[169],[75,3212,3214,3243],{"className":3213},[173,174],[75,3215,3217,3240],{"className":3216},[178],[75,3218,3220],{"className":3219,"style":183},[182],[75,3221,3222,3225],{"style":186},[75,3223],{"className":3224,"style":191},[190],[75,3226,3228],{"className":3227},[195,196,197,198],[75,3229,3231,3234,3237],{"className":3230},[160,198],[75,3232,104],{"className":3233,"style":205},[160,164,198],[75,3235,109],{"className":3236},[209,198],[75,3238,112],{"className":3239},[160,164,198],[75,3241,217],{"className":3242},[216],[75,3244,3246],{"className":3245},[178],[75,3247,3249],{"className":3248,"style":224},[182],[75,3250],{},[75,3252,116],{"className":3253},[230],[75,3255,3257,3260],{"className":3256},[160],[75,3258,119],{"className":3259},[160,164],[75,3261,3263],{"className":3262},[169],[75,3264,3266],{"className":3265},[173],[75,3267,3269],{"className":3268},[178],[75,3270,3272],{"className":3271,"style":746},[182],[75,3273,3274,3277],{"style":767},[75,3275],{"className":3276,"style":191},[190],[75,3278,3280],{"className":3279},[195,196,197,198],[75,3281,3283,3286,3289],{"className":3282},[160,198],[75,3284,116],{"className":3285},[230,198],[75,3287,731],{"className":3288},[160,164,198],[75,3290,122],{"className":3291},[237,198],[75,3293,122],{"className":3294},[237],[75,3296],{"className":3297,"style":242},[241],[75,3299,125],{"className":3300},[246],[75,3302],{"className":3303,"style":242},[241],[75,3305,3307,3311,3314,3317,3355,3358,3361],{"className":3306},[151],[75,3308],{"className":3309,"style":3310},[155],"height:0.9713em;vertical-align:-0.0833em;",[75,3312,104],{"className":3313,"style":205},[160,164],[75,3315],{"className":3316,"style":263},[241],[75,3318,3320,3323],{"className":3319},[160],[75,3321,119],{"className":3322},[160,164],[75,3324,3326],{"className":3325},[169],[75,3327,3329],{"className":3328},[173],[75,3330,3332],{"className":3331},[178],[75,3333,3335],{"className":3334,"style":746},[182],[75,3336,3337,3340],{"style":767},[75,3338],{"className":3339,"style":191},[190],[75,3341,3343],{"className":3342},[195,196,197,198],[75,3344,3346,3349,3352],{"className":3345},[160,198],[75,3347,116],{"className":3348},[230,198],[75,3350,731],{"className":3351},[160,164,198],[75,3353,122],{"className":3354},[237,198],[75,3356],{"className":3357,"style":270},[241],[75,3359,136],{"className":3360},[274],[75,3362],{"className":3363,"style":270},[241],[75,3365,3367,3370],{"className":3366},[151],[75,3368],{"className":3369,"style":284},[155],[75,3371,112],{"className":3372},[160,164],[11,3374,3375,3376,3379,3380,3383,3384,1613],{},"Beleza, é a equação de uma reta. Mas \"inclinação\" e \"intercepto\" são termos meio secos, deixa eu te dar uma imagem melhor: pensa num aplicativo de corrida tipo Uber. Toda corrida tem uma ",[15,3377,3378],{},"taxa fixa de embarque"," (você paga isso só por entrar no carro, não importa a distância) e um ",[15,3381,3382],{},"valor por quilômetro rodado",". O preço final é ",[65,3385,3386],{},"taxa_fixa + valor_por_km * distância",[11,3388,3389,3390,3538],{},"Bate exatamente com ",[75,3391,3393,3432],{"className":3392},[78],[75,3394,3396],{"className":3395},[82],[84,3397,3398],{"xmlns":86},[88,3399,3400,3430],{},[91,3401,3402,3414,3416,3418,3420,3422,3424,3426,3428],{},[94,3403,3404,3406],{},[97,3405,99],{},[91,3407,3408,3410,3412],{},[97,3409,104],{},[106,3411,109],{"separator":108},[97,3413,112],{},[106,3415,116],{"stretchy":115},[97,3417,119],{},[106,3419,122],{"stretchy":115},[106,3421,125],{},[97,3423,104],{},[97,3425,119],{},[106,3427,136],{},[97,3429,112],{},[140,3431,382],{"encoding":142},[75,3433,3435,3508,3529],{"className":3434,"ariaHidden":108},[147],[75,3436,3438,3441,3490,3493,3496,3499,3502,3505],{"className":3437},[151],[75,3439],{"className":3440,"style":156},[155],[75,3442,3444,3447],{"className":3443},[160],[75,3445,99],{"className":3446,"style":165},[160,164],[75,3448,3450],{"className":3449},[169],[75,3451,3453,3482],{"className":3452},[173,174],[75,3454,3456,3479],{"className":3455},[178],[75,3457,3459],{"className":3458,"style":183},[182],[75,3460,3461,3464],{"style":186},[75,3462],{"className":3463,"style":191},[190],[75,3465,3467],{"className":3466},[195,196,197,198],[75,3468,3470,3473,3476],{"className":3469},[160,198],[75,3471,104],{"className":3472,"style":205},[160,164,198],[75,3474,109],{"className":3475},[209,198],[75,3477,112],{"className":3478},[160,164,198],[75,3480,217],{"className":3481},[216],[75,3483,3485],{"className":3484},[178],[75,3486,3488],{"className":3487,"style":224},[182],[75,3489],{},[75,3491,116],{"className":3492},[230],[75,3494,119],{"className":3495},[160,164],[75,3497,122],{"className":3498},[237],[75,3500],{"className":3501,"style":242},[241],[75,3503,125],{"className":3504},[246],[75,3506],{"className":3507,"style":242},[241],[75,3509,3511,3514,3517,3520,3523,3526],{"className":3510},[151],[75,3512],{"className":3513,"style":256},[155],[75,3515,104],{"className":3516,"style":205},[160,164],[75,3518,119],{"className":3519},[160,164],[75,3521],{"className":3522,"style":270},[241],[75,3524,136],{"className":3525},[274],[75,3527],{"className":3528,"style":270},[241],[75,3530,3532,3535],{"className":3531},[151],[75,3533],{"className":3534,"style":284},[155],[75,3536,112],{"className":3537},[160,164],":",[516,3540,3541,3557],{},[519,3542,3543],{},[522,3544,3545,3548,3551,3554],{},[525,3546,3547],{"align":1648},"Parâmetro",[525,3549,3550],{"align":527},"No Uber",[525,3552,3553],{"align":527},"Aqui",[525,3555,3556],{"align":527},"Significado geométrico",[536,3558,3559,3603],{},[522,3560,3561,3591,3594,3597],{},[541,3562,3563],{"align":1648},[75,3564,3566,3579],{"className":3565},[78],[75,3567,3569],{"className":3568},[82],[84,3570,3571],{"xmlns":86},[88,3572,3573,3577],{},[91,3574,3575],{},[97,3576,104],{},[140,3578,104],{"encoding":142},[75,3580,3582],{"className":3581,"ariaHidden":108},[147],[75,3583,3585,3588],{"className":3584},[151],[75,3586],{"className":3587,"style":329},[155],[75,3589,104],{"className":3590,"style":205},[160,164],[541,3592,3593],{"align":527},"valor por km rodado",[541,3595,3596],{"align":527},"quanto o preço sobe por 1000 pés² a mais",[541,3598,3599,3602],{"align":527},[15,3600,3601],{},"inclinação"," da reta",[522,3604,3605,3635,3637,3640],{},[541,3606,3607],{"align":1648},[75,3608,3610,3623],{"className":3609},[78],[75,3611,3613],{"className":3612},[82],[84,3614,3615],{"xmlns":86},[88,3616,3617,3621],{},[91,3618,3619],{},[97,3620,112],{},[140,3622,112],{"encoding":142},[75,3624,3626],{"className":3625,"ariaHidden":108},[147],[75,3627,3629,3632],{"className":3628},[151],[75,3630],{"className":3631,"style":284},[155],[75,3633,112],{"className":3634},[160,164],[541,3636,3378],{"align":527},[541,3638,3639],{"align":527},"preço-base, quando o tamanho é zero",[541,3641,3642,3645],{"align":527},[15,3643,3644],{},"intercepto"," (onde a reta cruza o eixo vertical)",[11,3647,3648,3649,3677,3678,3706,3707,503,3735,3763],{},"Se ",[75,3650,3652,3665],{"className":3651},[78],[75,3653,3655],{"className":3654},[82],[84,3656,3657],{"xmlns":86},[88,3658,3659,3663],{},[91,3660,3661],{},[97,3662,104],{},[140,3664,104],{"encoding":142},[75,3666,3668],{"className":3667,"ariaHidden":108},[147],[75,3669,3671,3674],{"className":3670},[151],[75,3672],{"className":3673,"style":329},[155],[75,3675,104],{"className":3676,"style":205},[160,164]," é grande, cada km (ou cada 1000 pés²) pesa mais no preço final: a reta sobe rápido. Se ",[75,3679,3681,3694],{"className":3680},[78],[75,3682,3684],{"className":3683},[82],[84,3685,3686],{"xmlns":86},[88,3687,3688,3692],{},[91,3689,3690],{},[97,3691,112],{},[140,3693,112],{"encoding":142},[75,3695,3697],{"className":3696,"ariaHidden":108},[147],[75,3698,3700,3703],{"className":3699},[151],[75,3701],{"className":3702,"style":284},[155],[75,3704,112],{"className":3705},[160,164]," é grande, você já começa \"pagando caro\" antes de andar um metro, e a reta nasce mais alto no eixo vertical. Combinações diferentes de ",[75,3708,3710,3723],{"className":3709},[78],[75,3711,3713],{"className":3712},[82],[84,3714,3715],{"xmlns":86},[88,3716,3717,3721],{},[91,3718,3719],{},[97,3720,104],{},[140,3722,104],{"encoding":142},[75,3724,3726],{"className":3725,"ariaHidden":108},[147],[75,3727,3729,3732],{"className":3728},[151],[75,3730],{"className":3731,"style":329},[155],[75,3733,104],{"className":3734,"style":205},[160,164],[75,3736,3738,3751],{"className":3737},[78],[75,3739,3741],{"className":3740},[82],[84,3742,3743],{"xmlns":86},[88,3744,3745,3749],{},[91,3746,3747],{},[97,3748,112],{},[140,3750,112],{"encoding":142},[75,3752,3754],{"className":3753,"ariaHidden":108},[147],[75,3755,3757,3760],{"className":3756},[151],[75,3758],{"className":3759,"style":284},[155],[75,3761,112],{"className":3762},[160,164]," desenham retas completamente diferentes.",[11,3765,3766,3822,3823,3826,3827,503,3831,3835,3836,3839],{},[15,3767,3768,3769,3821],{},"Foi aí que eu entendi: treinar o modelo é justamente achar o par ",[75,3770,3772,3794],{"className":3771},[78],[75,3773,3775],{"className":3774},[82],[84,3776,3777],{"xmlns":86},[88,3778,3779,3791],{},[91,3780,3781,3783,3785,3787,3789],{},[106,3782,116],{"stretchy":115},[97,3784,104],{},[106,3786,109],{"separator":108},[97,3788,112],{},[106,3790,122],{"stretchy":115},[140,3792,3793],{"encoding":142},"(w, b)",[75,3795,3797],{"className":3796,"ariaHidden":108},[147],[75,3798,3800,3803,3806,3809,3812,3815,3818],{"className":3799},[151],[75,3801],{"className":3802,"style":2081},[155],[75,3804,116],{"className":3805},[230],[75,3807,104],{"className":3808,"style":205},[160,164],[75,3810,109],{"className":3811},[209],[75,3813],{"className":3814,"style":263},[241],[75,3816,112],{"className":3817},[160,164],[75,3819,122],{"className":3820},[237]," que melhor descreve os dados que você tem."," Só que a gente ainda não viu ",[2366,3824,3825],{},"como"," automatizar essa busca (isso é assunto dos próximos dois posts: ",[557,3828,3830],{"href":3829},"\u002Fplaylists\u002Fmachine-learning-specialization\u002Flab03-cost-function","função de custo",[557,3832,3834],{"href":3833},"\u002Fplaylists\u002Fmachine-learning-specialization\u002Flab04-gradient-descent","gradiente descendente","). Por enquanto, vamos fazer isso ",[15,3837,3838],{},"na mão mesmo",", chutando valores, pra você sentir na pele o problema que esses próximos posts resolvem.",[2371,3841,3843],{"id":3842},"transformando-a-fórmula-em-função","Transformando a fórmula em função",[11,3845,3846,3847,503,3850,3853],{},"Com 2 pontos, eu conseguia calcular ",[65,3848,3849],{},"w * x[0] + b",[65,3851,3852],{},"w * x[1] + b"," na mão. Com mil pontos isso vira trabalho braçal inútil, e é exatamente esse tipo de repetição chata que a gente empacota numa função:",[2376,3855,3857],{"className":2378,"code":3856,"language":2380,"meta":26,"style":26},"def compute_model_output(x, w, b):\n    \"\"\"\n    Calcula a previsão de um modelo linear f_wb(x) = w*x + b.\n\n    Args:\n      x (ndarray (m,)) : dados de entrada, m exemplos (a feature)\n      w, b (scalar)    : parâmetros do modelo (peso e viés)\n\n    Returns:\n      f_wb (ndarray (m,)) : previsão do modelo para cada exemplo de x\n    \"\"\"\n    m = x.shape[0]              # 1) Quantos exemplos existem no array de entrada.\n    f_wb = np.zeros(m)          # 2) Recipiente de saída: array de m zeros.\n\n    for i in range(m):          # 3) Percorre i = 0, 1, ..., m-1.\n        f_wb[i] = w * x[i] + b  #    Aplica a equação da reta ao exemplo i.\n\n    return f_wb                 # Devolve o array completo de previsões.\n",[65,3858,3859,3864,3869,3874,3878,3883,3888,3893,3897,3902,3907,3911,3916,3922,3927,3933,3939,3944],{"__ignoreMap":26},[75,3860,3861],{"class":2385,"line":33},[75,3862,3863],{},"def compute_model_output(x, w, b):\n",[75,3865,3866],{"class":2385,"line":27},[75,3867,3868],{},"    \"\"\"\n",[75,3870,3871],{"class":2385,"line":2396},[75,3872,3873],{},"    Calcula a previsão de um modelo linear f_wb(x) = w*x + b.\n",[75,3875,3876],{"class":2385,"line":2401},[75,3877,2422],{"emptyLinePlaceholder":32},[75,3879,3880],{"class":2385,"line":2407},[75,3881,3882],{},"    Args:\n",[75,3884,3885],{"class":2385,"line":2413},[75,3886,3887],{},"      x (ndarray (m,)) : dados de entrada, m exemplos (a feature)\n",[75,3889,3890],{"class":2385,"line":2419},[75,3891,3892],{},"      w, b (scalar)    : parâmetros do modelo (peso e viés)\n",[75,3894,3895],{"class":2385,"line":2425},[75,3896,2422],{"emptyLinePlaceholder":32},[75,3898,3899],{"class":2385,"line":2431},[75,3900,3901],{},"    Returns:\n",[75,3903,3904],{"class":2385,"line":2437},[75,3905,3906],{},"      f_wb (ndarray (m,)) : previsão do modelo para cada exemplo de x\n",[75,3908,3909],{"class":2385,"line":2442},[75,3910,3868],{},[75,3912,3913],{"class":2385,"line":2448},[75,3914,3915],{},"    m = x.shape[0]              # 1) Quantos exemplos existem no array de entrada.\n",[75,3917,3919],{"class":2385,"line":3918},13,[75,3920,3921],{},"    f_wb = np.zeros(m)          # 2) Recipiente de saída: array de m zeros.\n",[75,3923,3925],{"class":2385,"line":3924},14,[75,3926,2422],{"emptyLinePlaceholder":32},[75,3928,3930],{"class":2385,"line":3929},15,[75,3931,3932],{},"    for i in range(m):          # 3) Percorre i = 0, 1, ..., m-1.\n",[75,3934,3936],{"class":2385,"line":3935},16,[75,3937,3938],{},"        f_wb[i] = w * x[i] + b  #    Aplica a equação da reta ao exemplo i.\n",[75,3940,3942],{"class":2385,"line":3941},17,[75,3943,2422],{"emptyLinePlaceholder":32},[75,3945,3947],{"class":2385,"line":3946},18,[75,3948,3949],{},"    return f_wb                 # Devolve o array completo de previsões.\n",[11,3951,3952,3953,499,3955,499,3957,3959],{},"Guardei isso numa função com contrato claro (entra ",[65,3954,119],{},[65,3956,104],{},[65,3958,112],{},", sai um array de previsões), e isso significa que ela funciona pra 2 exemplos, 2 mil ou 2 milhões, sem você reescrever nada. É um detalhe chato de engenharia, mas é esse tipo de detalhe que separa \"script que roda uma vez\" de \"código que aguenta um sistema de verdade\".",[289,3961,3963],{"id":3962},"agora-é-a-sua-vez-acha-o-ajuste-perfeito","Agora é a sua vez: acha o ajuste perfeito",[11,3965,3966,3967,3970,3971,503,3999,4027,4028,4031],{},"Aqui embaixo tem um gráfico ",[2366,3968,3969],{},"de verdade"," interativo: arraste os sliders de ",[75,3972,3974,3987],{"className":3973},[78],[75,3975,3977],{"className":3976},[82],[84,3978,3979],{"xmlns":86},[88,3980,3981,3985],{},[91,3982,3983],{},[97,3984,104],{},[140,3986,104],{"encoding":142},[75,3988,3990],{"className":3989,"ariaHidden":108},[147],[75,3991,3993,3996],{"className":3992},[151],[75,3994],{"className":3995,"style":329},[155],[75,3997,104],{"className":3998,"style":205},[160,164],[75,4000,4002,4015],{"className":4001},[78],[75,4003,4005],{"className":4004},[82],[84,4006,4007],{"xmlns":86},[88,4008,4009,4013],{},[91,4010,4011],{},[97,4012,112],{},[140,4014,112],{"encoding":142},[75,4016,4018],{"className":4017,"ariaHidden":108},[147],[75,4019,4021,4024],{"className":4020},[151],[75,4022],{"className":4023,"style":284},[155],[75,4025,112],{"className":4026},[160,164]," e observa três coisas ao mesmo tempo: a linha azul (a previsão do seu modelo), as linhas pontilhadas cinzas (a distância entre cada previsão e o valor real, isso é o ",[15,4029,4030],{},"erro"," de cada exemplo) e o número de \"Erro total\" embaixo do gráfico.",[11,4033,4034,4035,499,4087,4138,4139,4142],{},"Começa em ",[75,4036,4038,4057],{"className":4037},[78],[75,4039,4041],{"className":4040},[82],[84,4042,4043],{"xmlns":86},[88,4044,4045,4054],{},[91,4046,4047,4049,4051],{},[97,4048,104],{},[106,4050,125],{},[1316,4052,4053],{},"100",[140,4055,4056],{"encoding":142},"w=100",[75,4058,4060,4078],{"className":4059,"ariaHidden":108},[147],[75,4061,4063,4066,4069,4072,4075],{"className":4062},[151],[75,4064],{"className":4065,"style":329},[155],[75,4067,104],{"className":4068,"style":205},[160,164],[75,4070],{"className":4071,"style":242},[241],[75,4073,125],{"className":4074},[246],[75,4076],{"className":4077,"style":242},[241],[75,4079,4081,4084],{"className":4080},[151],[75,4082],{"className":4083,"style":1609},[155],[75,4085,4053],{"className":4086},[160],[75,4088,4090,4108],{"className":4089},[78],[75,4091,4093],{"className":4092},[82],[84,4094,4095],{"xmlns":86},[88,4096,4097,4105],{},[91,4098,4099,4101,4103],{},[97,4100,112],{},[106,4102,125],{},[1316,4104,4053],{},[140,4106,4107],{"encoding":142},"b=100",[75,4109,4111,4129],{"className":4110,"ariaHidden":108},[147],[75,4112,4114,4117,4120,4123,4126],{"className":4113},[151],[75,4115],{"className":4116,"style":284},[155],[75,4118,112],{"className":4119},[160,164],[75,4121],{"className":4122,"style":242},[241],[75,4124,125],{"className":4125},[246],[75,4127],{"className":4128,"style":242},[241],[75,4130,4132,4135],{"className":4131},[151],[75,4133],{"className":4134,"style":1609},[155],[75,4136,4053],{"className":4137},[160]," (o primeiro chute do notebook original), repara como a linha fica longe dos losangos vermelhos, e o erro total é grande. ",[15,4140,4141],{},"Seu desafio:"," mexe nos sliders até o erro total zerar.",[11,4144,4145],{},"Duas dicas, se quiser pensar antes de sair arrastando no chute:",[294,4147,4148,4182],{},[297,4149,4150,4181],{},[15,4151,4152,4153],{},"A inclinação ",[75,4154,4156,4169],{"className":4155},[78],[75,4157,4159],{"className":4158},[82],[84,4160,4161],{"xmlns":86},[88,4162,4163,4167],{},[91,4164,4165],{},[97,4166,104],{},[140,4168,104],{"encoding":142},[75,4170,4172],{"className":4171,"ariaHidden":108},[147],[75,4173,4175,4178],{"className":4174},[151],[75,4176],{"className":4177,"style":329},[155],[75,4179,104],{"className":4180,"style":205},[160,164],": o preço sobe de 300 pra 500 (subiu 200) enquanto o tamanho sobe de 1.0 pra 2.0 (andou 1.0). Inclinação é \"quanto subiu dividido por quanto andou\".",[297,4183,4184,4215,4216,4244,4245,4324,4325,1613],{},[15,4185,4186,4187],{},"O intercepto ",[75,4188,4190,4203],{"className":4189},[78],[75,4191,4193],{"className":4192},[82],[84,4194,4195],{"xmlns":86},[88,4196,4197,4201],{},[91,4198,4199],{},[97,4200,112],{},[140,4202,112],{"encoding":142},[75,4204,4206],{"className":4205,"ariaHidden":108},[147],[75,4207,4209,4212],{"className":4208},[151],[75,4210],{"className":4211,"style":284},[155],[75,4213,112],{"className":4214},[160,164],": já sabendo ",[75,4217,4219,4232],{"className":4218},[78],[75,4220,4222],{"className":4221},[82],[84,4223,4224],{"xmlns":86},[88,4225,4226,4230],{},[91,4227,4228],{},[97,4229,104],{},[140,4231,104],{"encoding":142},[75,4233,4235],{"className":4234,"ariaHidden":108},[147],[75,4236,4238,4241],{"className":4237},[151],[75,4239],{"className":4240,"style":329},[155],[75,4242,104],{"className":4243,"style":205},[160,164],", pega um dos pontos, joga na equação ",[75,4246,4248,4272],{"className":4247},[78],[75,4249,4251],{"className":4250},[82],[84,4252,4253],{"xmlns":86},[88,4254,4255,4269],{},[91,4256,4257,4259,4261,4263,4265,4267],{},[97,4258,678],{},[106,4260,125],{},[97,4262,104],{},[97,4264,119],{},[106,4266,136],{},[97,4268,112],{},[140,4270,4271],{"encoding":142},"y = wx + b",[75,4273,4275,4294,4315],{"className":4274,"ariaHidden":108},[147],[75,4276,4278,4282,4285,4288,4291],{"className":4277},[151],[75,4279],{"className":4280,"style":4281},[155],"height:0.625em;vertical-align:-0.1944em;",[75,4283,678],{"className":4284,"style":829},[160,164],[75,4286],{"className":4287,"style":242},[241],[75,4289,125],{"className":4290},[246],[75,4292],{"className":4293,"style":242},[241],[75,4295,4297,4300,4303,4306,4309,4312],{"className":4296},[151],[75,4298],{"className":4299,"style":256},[155],[75,4301,104],{"className":4302,"style":205},[160,164],[75,4304,119],{"className":4305},[160,164],[75,4307],{"className":4308,"style":270},[241],[75,4310,136],{"className":4311},[274],[75,4313],{"className":4314,"style":270},[241],[75,4316,4318,4321],{"className":4317},[151],[75,4319],{"className":4320,"style":284},[155],[75,4322,112],{"className":4323},[160,164]," e isola o ",[75,4326,4328,4341],{"className":4327},[78],[75,4329,4331],{"className":4330},[82],[84,4332,4333],{"xmlns":86},[88,4334,4335,4339],{},[91,4336,4337],{},[97,4338,112],{},[140,4340,112],{"encoding":142},[75,4342,4344],{"className":4343,"ariaHidden":108},[147],[75,4345,4347,4350],{"className":4346},[151],[75,4348],{"className":4349,"style":284},[155],[75,4351,112],{"className":4352},[160,164],[4354,4355],"model-playground",{":initial-b":4053,":initial-w":4053,":x-train":3114,":y-train":3115,"dataLabel":4356,"error-label":4357,"prediction-label":4358,"success-message":4359,"x-label":3117,"y-label":3118},"Valores reais","Erro total","Sua previsão","Boa! Erro zero, essa reta passa exatamente pelos dois pontos.",[4361,4362,4363,4370,4373,4861,4864,5128],"details",{},[4364,4365,4366,4369],"summary",{},[112,4367,4368],{},"Travou? Aqui vai a conta"," (clique pra revelar)",[11,4371,4372],{},"Inclinação:",[11,4374,4375],{},[75,4376,4378,4479],{"className":4377},[78],[75,4379,4381],{"className":4380},[82],[84,4382,4383],{"xmlns":86},[88,4384,4385,4476],{},[91,4386,4387,4389,4391,4451,4453,4471,4473],{},[97,4388,104],{},[106,4390,125],{},[4392,4393,4394,4423],"mfrac",{},[91,4395,4396,4408,4411],{},[721,4397,4398,4400],{},[97,4399,678],{},[91,4401,4402,4404,4406],{},[106,4403,116],{"stretchy":115},[1316,4405,1578],{},[106,4407,122],{"stretchy":115},[106,4409,4410],{},"−",[721,4412,4413,4415],{},[97,4414,678],{},[91,4416,4417,4419,4421],{},[106,4418,116],{"stretchy":115},[1316,4420,1835],{},[106,4422,122],{"stretchy":115},[91,4424,4425,4437,4439],{},[721,4426,4427,4429],{},[97,4428,119],{},[91,4430,4431,4433,4435],{},[106,4432,116],{"stretchy":115},[1316,4434,1578],{},[106,4436,122],{"stretchy":115},[106,4438,4410],{},[721,4440,4441,4443],{},[97,4442,119],{},[91,4444,4445,4447,4449],{},[106,4446,116],{"stretchy":115},[1316,4448,1835],{},[106,4450,122],{"stretchy":115},[106,4452,125],{},[4392,4454,4455,4463],{},[91,4456,4457,4459,4461],{},[1316,4458,1851],{},[106,4460,4410],{},[1316,4462,1841],{},[91,4464,4465,4467,4469],{},[1316,4466,1848],{},[106,4468,4410],{},[1316,4470,1838],{},[106,4472,125],{},[1316,4474,4475],{},"200",[140,4477,4478],{"encoding":142},"w = \\frac{y^{(1)} - y^{(0)}}{x^{(1)} - x^{(0)}} = \\frac{500 - 300}{2.0 - 1.0} = 200",[75,4480,4482,4500,4752,4852],{"className":4481,"ariaHidden":108},[147],[75,4483,4485,4488,4491,4494,4497],{"className":4484},[151],[75,4486],{"className":4487,"style":329},[155],[75,4489,104],{"className":4490,"style":205},[160,164],[75,4492],{"className":4493,"style":242},[241],[75,4495,125],{"className":4496},[246],[75,4498],{"className":4499,"style":242},[241],[75,4501,4503,4507,4743,4746,4749],{"className":4502},[151],[75,4504],{"className":4505,"style":4506},[155],"height:1.5666em;vertical-align:-0.4438em;",[75,4508,4510,4514,4740],{"className":4509},[160],[75,4511],{"className":4512},[230,4513],"nulldelimiter",[75,4515,4517],{"className":4516},[4392],[75,4518,4520,4731],{"className":4519},[173,174],[75,4521,4523,4728],{"className":4522},[178],[75,4524,4527,4624,4635],{"className":4525,"style":4526},[182],"height:1.1228em;",[75,4528,4530,4534],{"style":4529},"top:-2.6146em;",[75,4531],{"className":4532,"style":4533},[190],"height:3em;",[75,4535,4537],{"className":4536},[195,196,197,198],[75,4538,4540,4583,4586],{"className":4539},[160,198],[75,4541,4543,4546],{"className":4542},[160,198],[75,4544,119],{"className":4545},[160,164,198],[75,4547,4549],{"className":4548},[169],[75,4550,4552],{"className":4551},[173],[75,4553,4555],{"className":4554},[178],[75,4556,4559],{"className":4557,"style":4558},[182],"height:0.822em;",[75,4560,4562,4566],{"style":4561},"top:-2.822em;margin-right:0.0714em;",[75,4563],{"className":4564,"style":4565},[190],"height:2.5357em;",[75,4567,4571],{"className":4568},[195,4569,4570,198],"reset-size3","size1",[75,4572,4574,4577,4580],{"className":4573},[160,198],[75,4575,116],{"className":4576},[230,198],[75,4578,1578],{"className":4579},[160,198],[75,4581,122],{"className":4582},[237,198],[75,4584,4410],{"className":4585},[274,198],[75,4587,4589,4592],{"className":4588},[160,198],[75,4590,119],{"className":4591},[160,164,198],[75,4593,4595],{"className":4594},[169],[75,4596,4598],{"className":4597},[173],[75,4599,4601],{"className":4600},[178],[75,4602,4604],{"className":4603,"style":4558},[182],[75,4605,4606,4609],{"style":4561},[75,4607],{"className":4608,"style":4565},[190],[75,4610,4612],{"className":4611},[195,4569,4570,198],[75,4613,4615,4618,4621],{"className":4614},[160,198],[75,4616,116],{"className":4617},[230,198],[75,4619,1835],{"className":4620},[160,198],[75,4622,122],{"className":4623},[237,198],[75,4625,4627,4630],{"style":4626},"top:-3.23em;",[75,4628],{"className":4629,"style":4533},[190],[75,4631],{"className":4632,"style":4634},[4633],"frac-line","border-bottom-width:0.04em;",[75,4636,4638,4641],{"style":4637},"top:-3.4461em;",[75,4639],{"className":4640,"style":4533},[190],[75,4642,4644],{"className":4643},[195,196,197,198],[75,4645,4647,4687,4690],{"className":4646},[160,198],[75,4648,4650,4653],{"className":4649},[160,198],[75,4651,678],{"className":4652,"style":829},[160,164,198],[75,4654,4656],{"className":4655},[169],[75,4657,4659],{"className":4658},[173],[75,4660,4662],{"className":4661},[178],[75,4663,4666],{"className":4664,"style":4665},[182],"height:0.9667em;",[75,4667,4669,4672],{"style":4668},"top:-2.9667em;margin-right:0.0714em;",[75,4670],{"className":4671,"style":4565},[190],[75,4673,4675],{"className":4674},[195,4569,4570,198],[75,4676,4678,4681,4684],{"className":4677},[160,198],[75,4679,116],{"className":4680},[230,198],[75,4682,1578],{"className":4683},[160,198],[75,4685,122],{"className":4686},[237,198],[75,4688,4410],{"className":4689},[274,198],[75,4691,4693,4696],{"className":4692},[160,198],[75,4694,678],{"className":4695,"style":829},[160,164,198],[75,4697,4699],{"className":4698},[169],[75,4700,4702],{"className":4701},[173],[75,4703,4705],{"className":4704},[178],[75,4706,4708],{"className":4707,"style":4665},[182],[75,4709,4710,4713],{"style":4668},[75,4711],{"className":4712,"style":4565},[190],[75,4714,4716],{"className":4715},[195,4569,4570,198],[75,4717,4719,4722,4725],{"className":4718},[160,198],[75,4720,116],{"className":4721},[230,198],[75,4723,1835],{"className":4724},[160,198],[75,4726,122],{"className":4727},[237,198],[75,4729,217],{"className":4730},[216],[75,4732,4734],{"className":4733},[178],[75,4735,4738],{"className":4736,"style":4737},[182],"height:0.4438em;",[75,4739],{},[75,4741],{"className":4742},[237,4513],[75,4744],{"className":4745,"style":242},[241],[75,4747,125],{"className":4748},[246],[75,4750],{"className":4751,"style":242},[241],[75,4753,4755,4759,4843,4846,4849],{"className":4754},[151],[75,4756],{"className":4757,"style":4758},[155],"height:1.2484em;vertical-align:-0.4033em;",[75,4760,4762,4765,4840],{"className":4761},[160],[75,4763],{"className":4764},[230,4513],[75,4766,4768],{"className":4767},[4392],[75,4769,4771,4831],{"className":4770},[173,174],[75,4772,4774,4828],{"className":4773},[178],[75,4775,4778,4799,4807],{"className":4776,"style":4777},[182],"height:0.8451em;",[75,4779,4781,4784],{"style":4780},"top:-2.655em;",[75,4782],{"className":4783,"style":4533},[190],[75,4785,4787],{"className":4786},[195,196,197,198],[75,4788,4790,4793,4796],{"className":4789},[160,198],[75,4791,1848],{"className":4792},[160,198],[75,4794,4410],{"className":4795},[274,198],[75,4797,1838],{"className":4798},[160,198],[75,4800,4801,4804],{"style":4626},[75,4802],{"className":4803,"style":4533},[190],[75,4805],{"className":4806,"style":4634},[4633],[75,4808,4810,4813],{"style":4809},"top:-3.394em;",[75,4811],{"className":4812,"style":4533},[190],[75,4814,4816],{"className":4815},[195,196,197,198],[75,4817,4819,4822,4825],{"className":4818},[160,198],[75,4820,1851],{"className":4821},[160,198],[75,4823,4410],{"className":4824},[274,198],[75,4826,1841],{"className":4827},[160,198],[75,4829,217],{"className":4830},[216],[75,4832,4834],{"className":4833},[178],[75,4835,4838],{"className":4836,"style":4837},[182],"height:0.4033em;",[75,4839],{},[75,4841],{"className":4842},[237,4513],[75,4844],{"className":4845,"style":242},[241],[75,4847,125],{"className":4848},[246],[75,4850],{"className":4851,"style":242},[241],[75,4853,4855,4858],{"className":4854},[151],[75,4856],{"className":4857,"style":1609},[155],[75,4859,4475],{"className":4860},[160],[11,4862,4863],{},"Intercepto, usando o primeiro ponto:",[11,4865,4866],{},[75,4867,4869,4931],{"className":4868},[78],[75,4870,4872],{"className":4871},[82],[84,4873,4874],{"xmlns":86},[88,4875,4876,4928],{},[91,4877,4878,4880,4882,4894,4896,4898,4900,4912,4914,4916,4918,4920,4922,4924,4926],{},[97,4879,112],{},[106,4881,125],{},[721,4883,4884,4886],{},[97,4885,678],{},[91,4887,4888,4890,4892],{},[106,4889,116],{"stretchy":115},[1316,4891,1835],{},[106,4893,122],{"stretchy":115},[106,4895,4410],{},[97,4897,104],{},[129,4899,131],{},[721,4901,4902,4904],{},[97,4903,119],{},[91,4905,4906,4908,4910],{},[106,4907,116],{"stretchy":115},[1316,4909,1835],{},[106,4911,122],{"stretchy":115},[106,4913,125],{},[1316,4915,1841],{},[106,4917,4410],{},[1316,4919,4475],{},[106,4921,2599],{},[1316,4923,1838],{},[106,4925,125],{},[1316,4927,4053],{},[140,4929,4930],{"encoding":142},"b = y^{(0)} - w\\,x^{(0)} = 300 - 200 \\times 1.0 = 100",[75,4932,4934,4952,5005,5064,5083,5101,5119],{"className":4933,"ariaHidden":108},[147],[75,4935,4937,4940,4943,4946,4949],{"className":4936},[151],[75,4938],{"className":4939,"style":284},[155],[75,4941,112],{"className":4942},[160,164],[75,4944],{"className":4945,"style":242},[241],[75,4947,125],{"className":4948},[246],[75,4950],{"className":4951,"style":242},[241],[75,4953,4955,4958,4996,4999,5002],{"className":4954},[151],[75,4956],{"className":4957,"style":822},[155],[75,4959,4961,4964],{"className":4960},[160],[75,4962,678],{"className":4963,"style":829},[160,164],[75,4965,4967],{"className":4966},[169],[75,4968,4970],{"className":4969},[173],[75,4971,4973],{"className":4972},[178],[75,4974,4976],{"className":4975,"style":746},[182],[75,4977,4978,4981],{"style":767},[75,4979],{"className":4980,"style":191},[190],[75,4982,4984],{"className":4983},[195,196,197,198],[75,4985,4987,4990,4993],{"className":4986},[160,198],[75,4988,116],{"className":4989},[230,198],[75,4991,1835],{"className":4992},[160,198],[75,4994,122],{"className":4995},[237,198],[75,4997],{"className":4998,"style":270},[241],[75,5000,4410],{"className":5001},[274],[75,5003],{"className":5004,"style":270},[241],[75,5006,5008,5011,5014,5017,5055,5058,5061],{"className":5007},[151],[75,5009],{"className":5010,"style":746},[155],[75,5012,104],{"className":5013,"style":205},[160,164],[75,5015],{"className":5016,"style":263},[241],[75,5018,5020,5023],{"className":5019},[160],[75,5021,119],{"className":5022},[160,164],[75,5024,5026],{"className":5025},[169],[75,5027,5029],{"className":5028},[173],[75,5030,5032],{"className":5031},[178],[75,5033,5035],{"className":5034,"style":746},[182],[75,5036,5037,5040],{"style":767},[75,5038],{"className":5039,"style":191},[190],[75,5041,5043],{"className":5042},[195,196,197,198],[75,5044,5046,5049,5052],{"className":5045},[160,198],[75,5047,116],{"className":5048},[230,198],[75,5050,1835],{"className":5051},[160,198],[75,5053,122],{"className":5054},[237,198],[75,5056],{"className":5057,"style":242},[241],[75,5059,125],{"className":5060},[246],[75,5062],{"className":5063,"style":242},[241],[75,5065,5067,5071,5074,5077,5080],{"className":5066},[151],[75,5068],{"className":5069,"style":5070},[155],"height:0.7278em;vertical-align:-0.0833em;",[75,5072,1841],{"className":5073},[160],[75,5075],{"className":5076,"style":270},[241],[75,5078,4410],{"className":5079},[274],[75,5081],{"className":5082,"style":270},[241],[75,5084,5086,5089,5092,5095,5098],{"className":5085},[151],[75,5087],{"className":5088,"style":5070},[155],[75,5090,4475],{"className":5091},[160],[75,5093],{"className":5094,"style":270},[241],[75,5096,2599],{"className":5097},[274],[75,5099],{"className":5100,"style":270},[241],[75,5102,5104,5107,5110,5113,5116],{"className":5103},[151],[75,5105],{"className":5106,"style":1609},[155],[75,5108,1838],{"className":5109},[160],[75,5111],{"className":5112,"style":242},[241],[75,5114,125],{"className":5115},[246],[75,5117],{"className":5118,"style":242},[241],[75,5120,5122,5125],{"className":5121},[151],[75,5123],{"className":5124,"style":1609},[155],[75,5126,4053],{"className":5127},[160],[11,5129,5130,5131,499,5182,5233],{},"Então: ",[75,5132,5134,5152],{"className":5133},[78],[75,5135,5137],{"className":5136},[82],[84,5138,5139],{"xmlns":86},[88,5140,5141,5149],{},[91,5142,5143,5145,5147],{},[97,5144,104],{},[106,5146,125],{},[1316,5148,4475],{},[140,5150,5151],{"encoding":142},"w = 200",[75,5153,5155,5173],{"className":5154,"ariaHidden":108},[147],[75,5156,5158,5161,5164,5167,5170],{"className":5157},[151],[75,5159],{"className":5160,"style":329},[155],[75,5162,104],{"className":5163,"style":205},[160,164],[75,5165],{"className":5166,"style":242},[241],[75,5168,125],{"className":5169},[246],[75,5171],{"className":5172,"style":242},[241],[75,5174,5176,5179],{"className":5175},[151],[75,5177],{"className":5178,"style":1609},[155],[75,5180,4475],{"className":5181},[160],[75,5183,5185,5203],{"className":5184},[78],[75,5186,5188],{"className":5187},[82],[84,5189,5190],{"xmlns":86},[88,5191,5192,5200],{},[91,5193,5194,5196,5198],{},[97,5195,112],{},[106,5197,125],{},[1316,5199,4053],{},[140,5201,5202],{"encoding":142},"b = 100",[75,5204,5206,5224],{"className":5205,"ariaHidden":108},[147],[75,5207,5209,5212,5215,5218,5221],{"className":5208},[151],[75,5210],{"className":5211,"style":284},[155],[75,5213,112],{"className":5214},[160,164],[75,5216],{"className":5217,"style":242},[241],[75,5219,125],{"className":5220},[246],[75,5222],{"className":5223,"style":242},[241],[75,5225,5227,5230],{"className":5226},[151],[75,5228],{"className":5229,"style":1609},[155],[75,5231,4053],{"className":5232},[160],". Bota isso nos sliders lá em cima e confere o erro zerando.",[11,5235,5236,5237,503,5265,5293,5294,5297],{},"Beleza, você achou ",[75,5238,5240,5253],{"className":5239},[78],[75,5241,5243],{"className":5242},[82],[84,5244,5245],{"xmlns":86},[88,5246,5247,5251],{},[91,5248,5249],{},[97,5250,104],{},[140,5252,104],{"encoding":142},[75,5254,5256],{"className":5255,"ariaHidden":108},[147],[75,5257,5259,5262],{"className":5258},[151],[75,5260],{"className":5261,"style":329},[155],[75,5263,104],{"className":5264,"style":205},[160,164],[75,5266,5268,5281],{"className":5267},[78],[75,5269,5271],{"className":5270},[82],[84,5272,5273],{"xmlns":86},[88,5274,5275,5279],{},[91,5276,5277],{},[97,5278,112],{},[140,5280,112],{"encoding":142},[75,5282,5284],{"className":5283,"ariaHidden":108},[147],[75,5285,5287,5290],{"className":5286},[151],[75,5288],{"className":5289,"style":284},[155],[75,5291,112],{"className":5292},[160,164]," na mão, mas repara: você só conseguiu porque tinha ",[15,5295,5296],{},"exatamente 2 pontos e 2 parâmetros pra ajustar",", então dava pra resolver com álgebra de ensino médio. Bota mais dados reais (com ruído, tipo casas parecidas vendendo por preços um pouco diferentes) e nenhuma reta única vai passar por todo mundo, não vai ter \"erro zero\" possível.",[11,5299,5300,5301,5304,5305,5357,5358,499,5360,5419,5420,5423,5424,5475,5476,5478,5479,5482],{},"Aí surge uma pergunta nova: ",[15,5302,5303],{},"qual reta é a \"menos errada\"?"," Eu precisei de um jeito de medir \"o quão errada\" uma reta é, de forma numérica, comparável entre diferentes ",[75,5306,5308,5330],{"className":5307},[78],[75,5309,5311],{"className":5310},[82],[84,5312,5313],{"xmlns":86},[88,5314,5315,5327],{},[91,5316,5317,5319,5321,5323,5325],{},[106,5318,116],{"stretchy":115},[97,5320,104],{},[106,5322,109],{"separator":108},[97,5324,112],{},[106,5326,122],{"stretchy":115},[140,5328,5329],{"encoding":142},"(w,b)",[75,5331,5333],{"className":5332,"ariaHidden":108},[147],[75,5334,5336,5339,5342,5345,5348,5351,5354],{"className":5335},[151],[75,5337],{"className":5338,"style":2081},[155],[75,5340,116],{"className":5341},[230],[75,5343,104],{"className":5344,"style":205},[160,164],[75,5346,109],{"className":5347},[209],[75,5349],{"className":5350,"style":263},[241],[75,5352,112],{"className":5353},[160,164],[75,5355,122],{"className":5356},[237],". Isso é a ",[15,5359,3830],{},[75,5361,5363,5388],{"className":5362},[78],[75,5364,5366],{"className":5365},[82],[84,5367,5368],{"xmlns":86},[88,5369,5370,5385],{},[91,5371,5372,5375,5377,5379,5381,5383],{},[97,5373,5374],{},"J",[106,5376,116],{"stretchy":115},[97,5378,104],{},[106,5380,109],{"separator":108},[97,5382,112],{},[106,5384,122],{"stretchy":115},[140,5386,5387],{"encoding":142},"J(w,b)",[75,5389,5391],{"className":5390,"ariaHidden":108},[147],[75,5392,5394,5397,5401,5404,5407,5410,5413,5416],{"className":5393},[151],[75,5395],{"className":5396,"style":2081},[155],[75,5398,5374],{"className":5399,"style":5400},[160,164],"margin-right:0.0962em;",[75,5402,116],{"className":5403},[230],[75,5405,104],{"className":5406,"style":205},[160,164],[75,5408,109],{"className":5409},[209],[75,5411],{"className":5412,"style":263},[241],[75,5414,112],{"className":5415},[160,164],[75,5417,122],{"className":5418},[237]," (o \"Erro total\" que você viu no playground é uma versão simplificada dela). E eu precisei de um jeito de ",[2366,5421,5422],{},"buscar"," automaticamente o ",[75,5425,5427,5448],{"className":5426},[78],[75,5428,5430],{"className":5429},[82],[84,5431,5432],{"xmlns":86},[88,5433,5434,5446],{},[91,5435,5436,5438,5440,5442,5444],{},[106,5437,116],{"stretchy":115},[97,5439,104],{},[106,5441,109],{"separator":108},[97,5443,112],{},[106,5445,122],{"stretchy":115},[140,5447,5329],{"encoding":142},[75,5449,5451],{"className":5450,"ariaHidden":108},[147],[75,5452,5454,5457,5460,5463,5466,5469,5472],{"className":5453},[151],[75,5455],{"className":5456,"style":2081},[155],[75,5458,116],{"className":5459},[230],[75,5461,104],{"className":5462,"style":205},[160,164],[75,5464,109],{"className":5465},[209],[75,5467],{"className":5468,"style":263},[241],[75,5470,112],{"className":5471},[160,164],[75,5473,122],{"className":5474},[237]," que minimiza esse erro, sem você ficar arrastando slider a vida inteira. Isso é o ",[15,5477,3834],{},": imagina que você tá vendado no topo de uma ladeira e seu único jeito de descer é sentir com o pé qual direção desce mais rápido e dar um passo. Repete isso um monte de vezes e, se tudo der certo, você chega lá embaixo, no ponto de menor erro. É basicamente isso que o ",[557,5480,5481],{"href":3833},"próximo post"," vai destrinchar.",[289,5484,5486],{"id":5485},"fazendo-a-previsão-que-a-gente-queria-desde-o-início","Fazendo a previsão que a gente queria desde o início",[11,5488,5489,499,5539,5589,5590],{},[75,5490,5492,5509],{"className":5491},[78],[75,5493,5495],{"className":5494},[82],[84,5496,5497],{"xmlns":86},[88,5498,5499,5507],{},[91,5500,5501,5503,5505],{},[97,5502,104],{},[106,5504,125],{},[1316,5506,4475],{},[140,5508,5151],{"encoding":142},[75,5510,5512,5530],{"className":5511,"ariaHidden":108},[147],[75,5513,5515,5518,5521,5524,5527],{"className":5514},[151],[75,5516],{"className":5517,"style":329},[155],[75,5519,104],{"className":5520,"style":205},[160,164],[75,5522],{"className":5523,"style":242},[241],[75,5525,125],{"className":5526},[246],[75,5528],{"className":5529,"style":242},[241],[75,5531,5533,5536],{"className":5532},[151],[75,5534],{"className":5535,"style":1609},[155],[75,5537,4475],{"className":5538},[160],[75,5540,5542,5559],{"className":5541},[78],[75,5543,5545],{"className":5544},[82],[84,5546,5547],{"xmlns":86},[88,5548,5549,5557],{},[91,5550,5551,5553,5555],{},[97,5552,112],{},[106,5554,125],{},[1316,5556,4053],{},[140,5558,5202],{"encoding":142},[75,5560,5562,5580],{"className":5561,"ariaHidden":108},[147],[75,5563,5565,5568,5571,5574,5577],{"className":5564},[151],[75,5566],{"className":5567,"style":284},[155],[75,5569,112],{"className":5570},[160,164],[75,5572],{"className":5573,"style":242},[241],[75,5575,125],{"className":5576},[246],[75,5578],{"className":5579,"style":242},[241],[75,5581,5583,5586],{"className":5582},[151],[75,5584],{"className":5585,"style":1609},[155],[75,5587,4053],{"className":5588},[160]," ajustados. Agora sim: ",[15,5591,5592],{},"quanto vale a casa de 1200 pés²?",[11,5594,5595,5596,1613],{},"Lembrando a escala: 1200 pés² é ",[75,5597,5599,5618],{"className":5598},[78],[75,5600,5602],{"className":5601},[82],[84,5603,5604],{"xmlns":86},[88,5605,5606,5615],{},[91,5607,5608,5610,5612],{},[97,5609,119],{},[106,5611,125],{},[1316,5613,5614],{},"1.2",[140,5616,5617],{"encoding":142},"x = 1.2",[75,5619,5621,5639],{"className":5620,"ariaHidden":108},[147],[75,5622,5624,5627,5630,5633,5636],{"className":5623},[151],[75,5625],{"className":5626,"style":329},[155],[75,5628,119],{"className":5629},[160,164],[75,5631],{"className":5632,"style":242},[241],[75,5634,125],{"className":5635},[246],[75,5637],{"className":5638,"style":242},[241],[75,5640,5642,5645],{"className":5641},[151],[75,5643],{"className":5644,"style":1609},[155],[75,5646,5614],{"className":5647},[160],[11,5649,5650],{},[75,5651,5653,5700],{"className":5652},[78],[75,5654,5656],{"className":5655},[82],[84,5657,5658],{"xmlns":86},[88,5659,5660,5697],{},[91,5661,5662,5674,5676,5678,5680,5682,5684,5686,5688,5690,5692,5694],{},[94,5663,5664,5666],{},[97,5665,99],{},[91,5667,5668,5670,5672],{},[97,5669,104],{},[106,5671,109],{"separator":108},[97,5673,112],{},[106,5675,116],{"stretchy":115},[1316,5677,5614],{},[106,5679,122],{"stretchy":115},[106,5681,125],{},[1316,5683,4475],{},[106,5685,2599],{},[1316,5687,5614],{},[106,5689,136],{},[1316,5691,4053],{},[106,5693,125],{},[1316,5695,5696],{},"340",[140,5698,5699],{"encoding":142},"f_{w,b}(1.2) = 200 \\times 1.2 + 100 = 340",[75,5701,5703,5776,5794,5812,5830],{"className":5702,"ariaHidden":108},[147],[75,5704,5706,5709,5758,5761,5764,5767,5770,5773],{"className":5705},[151],[75,5707],{"className":5708,"style":156},[155],[75,5710,5712,5715],{"className":5711},[160],[75,5713,99],{"className":5714,"style":165},[160,164],[75,5716,5718],{"className":5717},[169],[75,5719,5721,5750],{"className":5720},[173,174],[75,5722,5724,5747],{"className":5723},[178],[75,5725,5727],{"className":5726,"style":183},[182],[75,5728,5729,5732],{"style":186},[75,5730],{"className":5731,"style":191},[190],[75,5733,5735],{"className":5734},[195,196,197,198],[75,5736,5738,5741,5744],{"className":5737},[160,198],[75,5739,104],{"className":5740,"style":205},[160,164,198],[75,5742,109],{"className":5743},[209,198],[75,5745,112],{"className":5746},[160,164,198],[75,5748,217],{"className":5749},[216],[75,5751,5753],{"className":5752},[178],[75,5754,5756],{"className":5755,"style":224},[182],[75,5757],{},[75,5759,116],{"className":5760},[230],[75,5762,5614],{"className":5763},[160],[75,5765,122],{"className":5766},[237],[75,5768],{"className":5769,"style":242},[241],[75,5771,125],{"className":5772},[246],[75,5774],{"className":5775,"style":242},[241],[75,5777,5779,5782,5785,5788,5791],{"className":5778},[151],[75,5780],{"className":5781,"style":5070},[155],[75,5783,4475],{"className":5784},[160],[75,5786],{"className":5787,"style":270},[241],[75,5789,2599],{"className":5790},[274],[75,5792],{"className":5793,"style":270},[241],[75,5795,5797,5800,5803,5806,5809],{"className":5796},[151],[75,5798],{"className":5799,"style":5070},[155],[75,5801,5614],{"className":5802},[160],[75,5804],{"className":5805,"style":270},[241],[75,5807,136],{"className":5808},[274],[75,5810],{"className":5811,"style":270},[241],[75,5813,5815,5818,5821,5824,5827],{"className":5814},[151],[75,5816],{"className":5817,"style":1609},[155],[75,5819,4053],{"className":5820},[160],[75,5822],{"className":5823,"style":242},[241],[75,5825,125],{"className":5826},[246],[75,5828],{"className":5829,"style":242},[241],[75,5831,5833,5836],{"className":5832},[151],[75,5834],{"className":5835,"style":1609},[155],[75,5837,5696],{"className":5838},[160],[11,5840,5841,5842,1613],{},"340, na escala do problema, é ",[15,5843,5844],{},"340 mil dólares",[2376,5846,5848],{"className":2378,"code":5847,"language":2380,"meta":26,"style":26},"w = 200      # Peso ajustado (achado no desafio).\nb = 100      # Viés ajustado (achado no desafio).\n\nx_i = 1.2    # Entrada nova: 1200 pés² = 1.2, porque x está em milhares de pés².\n\ncost_1200sqft = w * x_i + b     # Aplica o modelo. Não confundir com \"função de custo\", nome parecido, coisa diferente.\n\nprint(f\"${cost_1200sqft:.0f} mil dólares\")\n",[65,5849,5850,5855,5860,5864,5869,5873,5878,5882],{"__ignoreMap":26},[75,5851,5852],{"class":2385,"line":33},[75,5853,5854],{},"w = 200      # Peso ajustado (achado no desafio).\n",[75,5856,5857],{"class":2385,"line":27},[75,5858,5859],{},"b = 100      # Viés ajustado (achado no desafio).\n",[75,5861,5862],{"class":2385,"line":2396},[75,5863,2422],{"emptyLinePlaceholder":32},[75,5865,5866],{"class":2385,"line":2401},[75,5867,5868],{},"x_i = 1.2    # Entrada nova: 1200 pés² = 1.2, porque x está em milhares de pés².\n",[75,5870,5871],{"class":2385,"line":2407},[75,5872,2422],{"emptyLinePlaceholder":32},[75,5874,5875],{"class":2385,"line":2413},[75,5876,5877],{},"cost_1200sqft = w * x_i + b     # Aplica o modelo. Não confundir com \"função de custo\", nome parecido, coisa diferente.\n",[75,5879,5880],{"class":2385,"line":2419},[75,5881,2422],{"emptyLinePlaceholder":32},[75,5883,5884],{"class":2385,"line":2425},[75,5885,5886],{},"print(f\"${cost_1200sqft:.0f} mil dólares\")\n",[46,5888,5889],{},[11,5890,5891,1286,5893],{},[15,5892,2458],{},[65,5894,5895],{},"$340 mil dólares",[11,5897,5898,5899,1286,5949,5952,5953,5956],{},"Presta atenção no que rolou aqui: ",[75,5900,5902,5919],{"className":5901},[78],[75,5903,5905],{"className":5904},[82],[84,5906,5907],{"xmlns":86},[88,5908,5909,5917],{},[91,5910,5911,5913,5915],{},[97,5912,119],{},[106,5914,125],{},[1316,5916,5614],{},[140,5918,5617],{"encoding":142},[75,5920,5922,5940],{"className":5921,"ariaHidden":108},[147],[75,5923,5925,5928,5931,5934,5937],{"className":5924},[151],[75,5926],{"className":5927,"style":329},[155],[75,5929,119],{"className":5930},[160,164],[75,5932],{"className":5933,"style":242},[241],[75,5935,125],{"className":5936},[246],[75,5938],{"className":5939,"style":242},[241],[75,5941,5943,5946],{"className":5942},[151],[75,5944],{"className":5945,"style":1609},[155],[75,5947,5614],{"className":5948},[160],[15,5950,5951],{},"nunca apareceu"," nos dados de treino. A gente só tinha casas de 1.0 e 2.0. O modelo generalizou pra um caso que ele nunca viu, e é exatamente por isso que a gente treina modelo, não é pra decorar os 2 pontos que já sabíamos (isso qualquer print de tabela faz). É pra prever o que a gente ",[15,5954,5955],{},"não"," sabe.",[289,5958,5960],{"id":5959},"fechando","Fechando",[516,5962,5963,5976],{},[519,5964,5965],{},[522,5966,5967,5970,5973],{},[525,5968,5969],{"align":527},"Etapa",[525,5971,5972],{"align":527},"O que rolou",[525,5974,5975],{"align":527},"Código-chave",[536,5977,5978,5993,6011,6024,6188,6258],{},[522,5979,5980,5985,5988],{},[541,5981,5982],{"align":527},[15,5983,5984],{},"1. Dados",[541,5986,5987],{"align":527},"representar os exemplos como arrays NumPy",[541,5989,5990],{"align":527},[65,5991,5992],{},"np.array([...])",[522,5994,5995,6000,6003],{},[541,5996,5997],{"align":527},[15,5998,5999],{},"2. Inspeção",[541,6001,6002],{"align":527},"contar exemplos e pescar um exemplo específico",[541,6004,6005,499,6008],{"align":527},[65,6006,6007],{},".shape[0]",[65,6009,6010],{},"x_train[i]",[522,6012,6013,6018,6021],{},[541,6014,6015],{"align":527},[15,6016,6017],{},"3. Visualização",[541,6019,6020],{"align":527},"olhar os dados antes de modelar",[541,6022,6023],{"align":527},"gráfico interativo",[522,6025,6026,6031,6183],{},[541,6027,6028],{"align":527},[15,6029,6030],{},"4. Modelo",[541,6032,6033,6034,6182],{"align":527},"definir ",[75,6035,6037,6076],{"className":6036},[78],[75,6038,6040],{"className":6039},[82],[84,6041,6042],{"xmlns":86},[88,6043,6044,6074],{},[91,6045,6046,6058,6060,6062,6064,6066,6068,6070,6072],{},[94,6047,6048,6050],{},[97,6049,99],{},[91,6051,6052,6054,6056],{},[97,6053,104],{},[106,6055,109],{"separator":108},[97,6057,112],{},[106,6059,116],{"stretchy":115},[97,6061,119],{},[106,6063,122],{"stretchy":115},[106,6065,125],{},[97,6067,104],{},[97,6069,119],{},[106,6071,136],{},[97,6073,112],{},[140,6075,382],{"encoding":142},[75,6077,6079,6152,6173],{"className":6078,"ariaHidden":108},[147],[75,6080,6082,6085,6134,6137,6140,6143,6146,6149],{"className":6081},[151],[75,6083],{"className":6084,"style":156},[155],[75,6086,6088,6091],{"className":6087},[160],[75,6089,99],{"className":6090,"style":165},[160,164],[75,6092,6094],{"className":6093},[169],[75,6095,6097,6126],{"className":6096},[173,174],[75,6098,6100,6123],{"className":6099},[178],[75,6101,6103],{"className":6102,"style":183},[182],[75,6104,6105,6108],{"style":186},[75,6106],{"className":6107,"style":191},[190],[75,6109,6111],{"className":6110},[195,196,197,198],[75,6112,6114,6117,6120],{"className":6113},[160,198],[75,6115,104],{"className":6116,"style":205},[160,164,198],[75,6118,109],{"className":6119},[209,198],[75,6121,112],{"className":6122},[160,164,198],[75,6124,217],{"className":6125},[216],[75,6127,6129],{"className":6128},[178],[75,6130,6132],{"className":6131,"style":224},[182],[75,6133],{},[75,6135,116],{"className":6136},[230],[75,6138,119],{"className":6139},[160,164],[75,6141,122],{"className":6142},[237],[75,6144],{"className":6145,"style":242},[241],[75,6147,125],{"className":6148},[246],[75,6150],{"className":6151,"style":242},[241],[75,6153,6155,6158,6161,6164,6167,6170],{"className":6154},[151],[75,6156],{"className":6157,"style":256},[155],[75,6159,104],{"className":6160,"style":205},[160,164],[75,6162,119],{"className":6163},[160,164],[75,6165],{"className":6166,"style":270},[241],[75,6168,136],{"className":6169},[274],[75,6171],{"className":6172,"style":270},[241],[75,6174,6176,6179],{"className":6175},[151],[75,6177],{"className":6178,"style":284},[155],[75,6180,112],{"className":6181},[160,164]," e implementar",[541,6184,6185],{"align":527},[65,6186,6187],{},"compute_model_output()",[522,6189,6190,6195,6255],{},[541,6191,6192],{"align":527},[15,6193,6194],{},"5. Parâmetros",[541,6196,6197,6198,503,6226,6254],{"align":527},"achar ",[75,6199,6201,6214],{"className":6200},[78],[75,6202,6204],{"className":6203},[82],[84,6205,6206],{"xmlns":86},[88,6207,6208,6212],{},[91,6209,6210],{},[97,6211,104],{},[140,6213,104],{"encoding":142},[75,6215,6217],{"className":6216,"ariaHidden":108},[147],[75,6218,6220,6223],{"className":6219},[151],[75,6221],{"className":6222,"style":329},[155],[75,6224,104],{"className":6225,"style":205},[160,164],[75,6227,6229,6242],{"className":6228},[78],[75,6230,6232],{"className":6231},[82],[84,6233,6234],{"xmlns":86},[88,6235,6236,6240],{},[91,6237,6238],{},[97,6239,112],{},[140,6241,112],{"encoding":142},[75,6243,6245],{"className":6244,"ariaHidden":108},[147],[75,6246,6248,6251],{"className":6247},[151],[75,6249],{"className":6250,"style":284},[155],[75,6252,112],{"className":6253},[160,164]," na mão, mexendo até o erro zerar",[541,6256,6257],{"align":527},"playground interativo",[522,6259,6260,6265,6268],{},[541,6261,6262],{"align":527},[15,6263,6264],{},"6. Previsão",[541,6266,6267],{"align":527},"aplicar o modelo pra um dado novo",[541,6269,6270],{"align":527},[65,6271,6272],{},"w * x_i + b",[11,6274,6275],{},"Três ideias pra levar:",[294,6277,6278,6292,6355],{},[297,6279,6280,6283,6284,6287,6288,6291],{},[15,6281,6282],{},"Regressão linear modela uma relação"," entre uma entrada (",[2366,6285,6286],{},"feature",") e uma saída (",[2366,6289,6290],{},"target","). Aqui: tamanho → preço. Amanhã pode ser qualquer outra coisa: km rodado → preço da corrida, tamanho do arquivo → tempo de processamento, sei lá.",[297,6293,6294,6297,6298,503,6326,6354],{},[15,6295,6296],{},"O modelo só tem dois botões",": ",[75,6299,6301,6314],{"className":6300},[78],[75,6302,6304],{"className":6303},[82],[84,6305,6306],{"xmlns":86},[88,6307,6308,6312],{},[91,6309,6310],{},[97,6311,104],{},[140,6313,104],{"encoding":142},[75,6315,6317],{"className":6316,"ariaHidden":108},[147],[75,6318,6320,6323],{"className":6319},[151],[75,6321],{"className":6322,"style":329},[155],[75,6324,104],{"className":6325,"style":205},[160,164],[75,6327,6329,6342],{"className":6328},[78],[75,6330,6332],{"className":6331},[82],[84,6333,6334],{"xmlns":86},[88,6335,6336,6340],{},[91,6337,6338],{},[97,6339,112],{},[140,6341,112],{"encoding":142},[75,6343,6345],{"className":6344,"ariaHidden":108},[147],[75,6346,6348,6351],{"className":6347},[151],[75,6349],{"className":6350,"style":284},[155],[75,6352,112],{"className":6353},[160,164],". É só isso que muda quando o modelo \"aprende\". Não tem mágica escondida.",[297,6356,6357,6360],{},[15,6358,6359],{},"O ponto todo é generalizar",": prever coisa que o modelo nunca viu. Se ele só reproduzisse os dados de treino, seria uma tabela disfarçada, não um modelo.",[11,6362,6363,6368,6369,6420,6421,6477,6478,6480],{},[15,6364,6365,3538],{},[557,6366,6367],{"href":3829},"No próximo post"," você achou ",[75,6370,6372,6393],{"className":6371},[78],[75,6373,6375],{"className":6374},[82],[84,6376,6377],{"xmlns":86},[88,6378,6379,6391],{},[91,6380,6381,6383,6385,6387,6389],{},[106,6382,116],{"stretchy":115},[97,6384,104],{},[106,6386,109],{"separator":108},[97,6388,112],{},[106,6390,122],{"stretchy":115},[140,6392,5329],{"encoding":142},[75,6394,6396],{"className":6395,"ariaHidden":108},[147],[75,6397,6399,6402,6405,6408,6411,6414,6417],{"className":6398},[151],[75,6400],{"className":6401,"style":2081},[155],[75,6403,116],{"className":6404},[230],[75,6406,104],{"className":6407,"style":205},[160,164],[75,6409,109],{"className":6410},[209],[75,6412],{"className":6413,"style":263},[241],[75,6415,112],{"className":6416},[160,164],[75,6418,122],{"className":6419},[237]," arrastando slider porque tinha só 2 pontos. Isso não escala pra dados de verdade. A gente formaliza a função de custo ",[75,6422,6424,6447],{"className":6423},[78],[75,6425,6427],{"className":6426},[82],[84,6428,6429],{"xmlns":86},[88,6430,6431,6445],{},[91,6432,6433,6435,6437,6439,6441,6443],{},[97,6434,5374],{},[106,6436,116],{"stretchy":115},[97,6438,104],{},[106,6440,109],{"separator":108},[97,6442,112],{},[106,6444,122],{"stretchy":115},[140,6446,5387],{"encoding":142},[75,6448,6450],{"className":6449,"ariaHidden":108},[147],[75,6451,6453,6456,6459,6462,6465,6468,6471,6474],{"className":6452},[151],[75,6454],{"className":6455,"style":2081},[155],[75,6457,5374],{"className":6458,"style":5400},[160,164],[75,6460,116],{"className":6461},[230],[75,6463,104],{"className":6464,"style":205},[160,164],[75,6466,109],{"className":6467},[209],[75,6469],{"className":6470,"style":263},[241],[75,6472,112],{"className":6473},[160,164],[75,6475,122],{"className":6476},[237],", a \"nota\" que mede o quão ruim uma reta é, e começa a preparar o terreno pro ",[557,6479,3834],{"href":3833},", que é quem vai fazer essa busca por você, automaticamente, em dados que não cabem mais numa conta de cabeça.",[289,6482,6484],{"id":6483},"aplicação-prática","Aplicação prática",[11,6486,6487,6488,6494],{},"Chega de dado de brinquedo. Vamos aplicar exatamente o que você aprendeu aqui num dataset real de imóveis: 500 casas, com tamanho, número de quartos, distância do centro e preço de verdade (",[557,6489,6493],{"href":6490,"rel":6491},"https:\u002F\u002Fwww.kaggle.com\u002Fdatasets\u002Fdenkuznetz\u002Fhousing-prices-regression",[6492],"nofollow","Housing Prices Regression, Kaggle","). Sem conceito novo, só o que esse post já ensinou, agora em cima de dado com ruído de verdade.",[2371,6496,6498],{"id":6497},"explorando-as-features","Explorando as features",[2376,6500,6502],{"className":2378,"code":6501,"language":2380,"meta":26,"style":26},"import pandas as pd\n\ndf = pd.read_csv(\"real_estate_dataset.csv\")\n\nprint(df[[\"Square_Feet\", \"Num_Bedrooms\", \"Location_Score\", \"Distance_to_Center\", \"Price\"]].describe())\n\nprint(df.corr(numeric_only=True)[\"Price\"].sort_values(ascending=False))\n",[65,6503,6504,6509,6513,6518,6522,6527,6531],{"__ignoreMap":26},[75,6505,6506],{"class":2385,"line":33},[75,6507,6508],{},"import pandas as pd\n",[75,6510,6511],{"class":2385,"line":27},[75,6512,2422],{"emptyLinePlaceholder":32},[75,6514,6515],{"class":2385,"line":2396},[75,6516,6517],{},"df = pd.read_csv(\"real_estate_dataset.csv\")\n",[75,6519,6520],{"class":2385,"line":2401},[75,6521,2422],{"emptyLinePlaceholder":32},[75,6523,6524],{"class":2385,"line":2407},[75,6525,6526],{},"print(df[[\"Square_Feet\", \"Num_Bedrooms\", \"Location_Score\", \"Distance_to_Center\", \"Price\"]].describe())\n",[75,6528,6529],{"class":2385,"line":2413},[75,6530,2422],{"emptyLinePlaceholder":32},[75,6532,6533],{"class":2385,"line":2419},[75,6534,6535],{},"print(df.corr(numeric_only=True)[\"Price\"].sort_values(ascending=False))\n",[46,6537,6538],{},[11,6539,6540,1286,6543,499,6546,499,6549,499,6552,1613],{},[15,6541,6542],{},"Saída (correlação com o preço):",[65,6544,6545],{},"Square_Feet 0.65",[65,6547,6548],{},"Num_Bedrooms 0.57",[65,6550,6551],{},"Distance_to_Center 0.26",[65,6553,6554],{},"Location_Score 0.05",[11,6556,6557,6560],{},[65,6558,6559],{},"Square_Feet"," é de longe a feature que mais anda junto com o preço aqui. Bate com a história que a gente contou o post inteiro: tamanho da casa é o ponto de partida certo.",[2371,6562,6564],{"id":6563},"a-matriz-de-features-em-3d","A \"matriz de features\" em 3D",[11,6566,6567],{},"Antes de reduzir pra uma variável só, girei as três dimensões que mais importam ao mesmo tempo: tamanho, quartos e preço.",[6569,6570],"housing-scatter3d",{},[11,6572,6573],{},"Repara como a altura (preço) sobe visivelmente junto com o tamanho, mais do que junto com o número de quartos. É a mesma correlação de cima, só que agora você tá vendo com os próprios olhos em vez de ler um número.",[2371,6575,6577,6578,503,6606,6634],{"id":6576},"achando-www-e-bbb-na-mão-com-dado-de-verdade","Achando ",[75,6579,6581,6594],{"className":6580},[78],[75,6582,6584],{"className":6583},[82],[84,6585,6586],{"xmlns":86},[88,6587,6588,6592],{},[91,6589,6590],{},[97,6591,104],{},[140,6593,104],{"encoding":142},[75,6595,6597],{"className":6596,"ariaHidden":108},[147],[75,6598,6600,6603],{"className":6599},[151],[75,6601],{"className":6602,"style":329},[155],[75,6604,104],{"className":6605,"style":205},[160,164],[75,6607,6609,6622],{"className":6608},[78],[75,6610,6612],{"className":6611},[82],[84,6613,6614],{"xmlns":86},[88,6615,6616,6620],{},[91,6617,6618],{},[97,6619,112],{},[140,6621,112],{"encoding":142},[75,6623,6625],{"className":6624,"ariaHidden":108},[147],[75,6626,6628,6631],{"className":6627},[151],[75,6629],{"className":6630,"style":284},[155],[75,6632,112],{"className":6633},[160,164]," na mão, com dado de verdade",[11,6636,6637],{},"Mesmo playground do post, mesma mecânica, só que agora com as 50 casas reais no lugar dos 2 pontos perfeitos:",[6639,6640],"housing-model-playground",{},[11,6642,6643,6644,6647],{},"Repara que dessa vez o erro ",[15,6645,6646],{},"não zera",", por mais que você mexa nos sliders. Isso não é bug, é o que o próximo post inteiro vai explicar: com dado real e ruidoso, não existe reta perfeita, só a \"menos errada\".",[2371,6649,6651],{"id":6650},"prevendo-o-preço-de-uma-casa-nova","Prevendo o preço de uma casa nova",[2376,6653,6655],{"className":2378,"code":6654,"language":2380,"meta":26,"style":26},"# Usando o ajuste aproximado que achamos brincando com o playground:\nw = 116      # dólares (em milhares) a mais por cada 100 pés² de tamanho\nb = 399      # preço-base, em milhares de dólares\n\ncasa_nova = 220 \u002F 100     # 220 pés², na mesma escala do gráfico\n\npreco_previsto = w * casa_nova + b   # em milhares de dólares\n\nprint(f\"${preco_previsto * 1000:,.0f} dólares\")\n",[65,6656,6657,6662,6667,6672,6676,6681,6685,6690,6694],{"__ignoreMap":26},[75,6658,6659],{"class":2385,"line":33},[75,6660,6661],{},"# Usando o ajuste aproximado que achamos brincando com o playground:\n",[75,6663,6664],{"class":2385,"line":27},[75,6665,6666],{},"w = 116      # dólares (em milhares) a mais por cada 100 pés² de tamanho\n",[75,6668,6669],{"class":2385,"line":2396},[75,6670,6671],{},"b = 399      # preço-base, em milhares de dólares\n",[75,6673,6674],{"class":2385,"line":2401},[75,6675,2422],{"emptyLinePlaceholder":32},[75,6677,6678],{"class":2385,"line":2407},[75,6679,6680],{},"casa_nova = 220 \u002F 100     # 220 pés², na mesma escala do gráfico\n",[75,6682,6683],{"class":2385,"line":2413},[75,6684,2422],{"emptyLinePlaceholder":32},[75,6686,6687],{"class":2385,"line":2419},[75,6688,6689],{},"preco_previsto = w * casa_nova + b   # em milhares de dólares\n",[75,6691,6692],{"class":2385,"line":2425},[75,6693,2422],{"emptyLinePlaceholder":32},[75,6695,6696],{"class":2385,"line":2431},[75,6697,6698],{},"print(f\"${preco_previsto * 1000:,.0f} dólares\")\n",[46,6700,6701],{},[11,6702,6703,1286,6705],{},[15,6704,2458],{},[65,6706,6707],{},"$654,200 dólares",[11,6709,6710],{},"Mesma conta do post, mesma fórmula, só que agora validada em cima de um dataset que você (ou qualquer leitor) pode baixar e conferir.",[6712,6713,6714],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":26,"searchDepth":27,"depth":27,"links":6716},[6717,6718,6719,6725,6726,6729,6730,6731,6732],{"id":291,"depth":27,"text":292},{"id":510,"depth":27,"text":511},{"id":1616,"depth":27,"text":1617,"children":6720},[6721,6722,6724],{"id":2373,"depth":2396,"text":2374},{"id":2503,"depth":2396,"text":6723},"Quantos exemplos eu tenho? (mmm)",{"id":2649,"depth":2396,"text":2650},{"id":3106,"depth":27,"text":3107},{"id":3124,"depth":27,"text":3125,"children":6727},[6728],{"id":3842,"depth":2396,"text":3843},{"id":3962,"depth":27,"text":3963},{"id":5485,"depth":27,"text":5486},{"id":5959,"depth":27,"text":5960},{"id":6483,"depth":27,"text":6484,"children":6733},[6734,6735,6736,6738],{"id":6497,"depth":2396,"text":6498},{"id":6563,"depth":2396,"text":6564},{"id":6576,"depth":2396,"text":6737},"Achando www e bbb na mão, com dado de verdade",{"id":6650,"depth":2396,"text":6651},"2026-08-18","O modelo mais simples de Machine Learning que existe, f(x) = wx + b, esmiuçado: por que reta, o que w e b significam de verdade, e por que 'achar os parâmetros na mão' não escala.",{},"\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Flab02-model-representation","machine-learning-specialization",{"title":42,"description":6740},"pt\u002Fplaylists\u002Fmachine-learning-specialization\u002Flab02-model-representation",[6747,6748,6749],"regressao-linear","numpy","fundamentos","EwkXe6NO3aQW160jhdQDA0aJTJeokP8g-ZnXHn38inU",{"id":6752,"title":6753,"body":6754,"cover":3,"date":6739,"description":10000,"extension":30,"meta":10001,"navigation":32,"order":27,"path":10002,"playlist":6743,"seo":10003,"status":36,"stem":10004,"tags":10005,"__hash__":10008},"posts\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Flab03-cost-function.md","Lab Opcional: a Função de Custo",{"type":8,"value":6755,"toc":9990},[6756,6863,6927,7430,7433,7437,7444,7448,7674,8263,8266,8409,8442,8446,8573,8588,8592,8731,8779,8785,8788,9027,9082,9086,9089,9146,9201,9263,9269,9382,9394,9398,9405,9579,9584,9591,9593,9881,9888,9890,9905,9969,9982,9985,9988],[11,6757,6758,6368,6762,503,6812,6862],{},[557,6759,6761],{"href":6760},"\u002Fplaylists\u002Fmachine-learning-specialization\u002Flab02-model-representation","No post passado",[75,6763,6765,6782],{"className":6764},[78],[75,6766,6768],{"className":6767},[82],[84,6769,6770],{"xmlns":86},[88,6771,6772,6780],{},[91,6773,6774,6776,6778],{},[97,6775,104],{},[106,6777,125],{},[1316,6779,4475],{},[140,6781,5151],{"encoding":142},[75,6783,6785,6803],{"className":6784,"ariaHidden":108},[147],[75,6786,6788,6791,6794,6797,6800],{"className":6787},[151],[75,6789],{"className":6790,"style":329},[155],[75,6792,104],{"className":6793,"style":205},[160,164],[75,6795],{"className":6796,"style":242},[241],[75,6798,125],{"className":6799},[246],[75,6801],{"className":6802,"style":242},[241],[75,6804,6806,6809],{"className":6805},[151],[75,6807],{"className":6808,"style":1609},[155],[75,6810,4475],{"className":6811},[160],[75,6813,6815,6832],{"className":6814},[78],[75,6816,6818],{"className":6817},[82],[84,6819,6820],{"xmlns":86},[88,6821,6822,6830],{},[91,6823,6824,6826,6828],{},[97,6825,112],{},[106,6827,125],{},[1316,6829,4053],{},[140,6831,5202],{"encoding":142},[75,6833,6835,6853],{"className":6834,"ariaHidden":108},[147],[75,6836,6838,6841,6844,6847,6850],{"className":6837},[151],[75,6839],{"className":6840,"style":284},[155],[75,6842,112],{"className":6843},[160,164],[75,6845],{"className":6846,"style":242},[241],[75,6848,125],{"className":6849},[246],[75,6851],{"className":6852,"style":242},[241],[75,6854,6856,6859],{"className":6855},[151],[75,6857],{"className":6858,"style":1609},[155],[75,6860,4053],{"className":6861},[160]," brincando com o slider até o erro zerar. Beleza, funcionou. Mas para. Como você sabia que tinha achado o \"melhor\" ajuste? Você olhou pro número de erro total caindo até zero e confiou nele.",[11,6864,6865,6866,6870,6871,1613],{},"Esse post é sobre dar nome, sobrenome e fórmula pra esse número. Ele se chama ",[6867,6868,3830],"glossary-term",{"definition":6869},"uma fórmula que resume, num único número, o quanto um modelo erra nos dados de treino",", escrita ",[75,6872,6874,6897],{"className":6873},[78],[75,6875,6877],{"className":6876},[82],[84,6878,6879],{"xmlns":86},[88,6880,6881,6895],{},[91,6882,6883,6885,6887,6889,6891,6893],{},[97,6884,5374],{},[106,6886,116],{"stretchy":115},[97,6888,104],{},[106,6890,109],{"separator":108},[97,6892,112],{},[106,6894,122],{"stretchy":115},[140,6896,5387],{"encoding":142},[75,6898,6900],{"className":6899,"ariaHidden":108},[147],[75,6901,6903,6906,6909,6912,6915,6918,6921,6924],{"className":6902},[151],[75,6904],{"className":6905,"style":2081},[155],[75,6907,5374],{"className":6908,"style":5400},[160,164],[75,6910,116],{"className":6911},[230],[75,6913,104],{"className":6914,"style":205},[160,164],[75,6916,109],{"className":6917},[209],[75,6919],{"className":6920,"style":263},[241],[75,6922,112],{"className":6923},[160,164],[75,6925,122],{"className":6926},[237],[11,6928,6929],{},[75,6930,6932,7042],{"className":6931},[78],[75,6933,6935],{"className":6934},[82],[84,6936,6937],{"xmlns":86},[88,6938,6939,7039],{},[91,6940,6941,6943,6945,6947,6949,6951,6953,6955,6965,6987],{},[97,6942,5374],{},[106,6944,116],{"stretchy":115},[97,6946,104],{},[106,6948,109],{"separator":108},[97,6950,112],{},[106,6952,122],{"stretchy":115},[106,6954,125],{},[4392,6956,6957,6959],{},[1316,6958,1578],{},[91,6960,6961,6963],{},[1316,6962,1318],{},[97,6964,317],{},[6966,6967,6968,6971,6979],"msubsup",{},[106,6969,6970],{},"∑",[91,6972,6973,6975,6977],{},[97,6974,731],{},[106,6976,125],{},[1316,6978,1835],{},[91,6980,6981,6983,6985],{},[97,6982,317],{},[106,6984,4410],{},[1316,6986,1578],{},[721,6988,6989,7037],{},[91,6990,6991,6993,7005,7007,7019,7021,7023,7035],{},[106,6992,116],{"fence":108},[94,6994,6995,6997],{},[97,6996,99],{},[91,6998,6999,7001,7003],{},[97,7000,104],{},[106,7002,109],{"separator":108},[97,7004,112],{},[106,7006,116],{"stretchy":115},[721,7008,7009,7011],{},[97,7010,119],{},[91,7012,7013,7015,7017],{},[106,7014,116],{"stretchy":115},[97,7016,731],{},[106,7018,122],{"stretchy":115},[106,7020,122],{"stretchy":115},[106,7022,4410],{},[721,7024,7025,7027],{},[97,7026,678],{},[91,7028,7029,7031,7033],{},[106,7030,116],{"stretchy":115},[97,7032,731],{},[106,7034,122],{"stretchy":115},[106,7036,122],{"fence":108},[1316,7038,1318],{},[140,7040,7041],{"encoding":142},"J(w,b) = \\frac{1}{2m}\\sum_{i=0}^{m-1}\\left(f_{w,b}(x^{(i)}) - y^{(i)}\\right)^2",[75,7043,7045,7081],{"className":7044,"ariaHidden":108},[147],[75,7046,7048,7051,7054,7057,7060,7063,7066,7069,7072,7075,7078],{"className":7047},[151],[75,7049],{"className":7050,"style":2081},[155],[75,7052,5374],{"className":7053,"style":5400},[160,164],[75,7055,116],{"className":7056},[230],[75,7058,104],{"className":7059,"style":205},[160,164],[75,7061,109],{"className":7062},[209],[75,7064],{"className":7065,"style":263},[241],[75,7067,112],{"className":7068},[160,164],[75,7070,122],{"className":7071},[237],[75,7073],{"className":7074,"style":242},[241],[75,7076,125],{"className":7077},[246],[75,7079],{"className":7080,"style":242},[241],[75,7082,7084,7088,7160,7163,7240,7243],{"className":7083},[151],[75,7085],{"className":7086,"style":7087},[155],"height:1.442em;vertical-align:-0.35em;",[75,7089,7091,7094,7157],{"className":7090},[160],[75,7092],{"className":7093},[230,4513],[75,7095,7097],{"className":7096},[4392],[75,7098,7100,7148],{"className":7099},[173,174],[75,7101,7103,7145],{"className":7102},[178],[75,7104,7106,7123,7131],{"className":7105,"style":4777},[182],[75,7107,7108,7111],{"style":4780},[75,7109],{"className":7110,"style":4533},[190],[75,7112,7114],{"className":7113},[195,196,197,198],[75,7115,7117,7120],{"className":7116},[160,198],[75,7118,1318],{"className":7119},[160,198],[75,7121,317],{"className":7122},[160,164,198],[75,7124,7125,7128],{"style":4626},[75,7126],{"className":7127,"style":4533},[190],[75,7129],{"className":7130,"style":4634},[4633],[75,7132,7133,7136],{"style":4809},[75,7134],{"className":7135,"style":4533},[190],[75,7137,7139],{"className":7138},[195,196,197,198],[75,7140,7142],{"className":7141},[160,198],[75,7143,1578],{"className":7144},[160,198],[75,7146,217],{"className":7147},[216],[75,7149,7151],{"className":7150},[178],[75,7152,7155],{"className":7153,"style":7154},[182],"height:0.345em;",[75,7156],{},[75,7158],{"className":7159},[237,4513],[75,7161],{"className":7162,"style":263},[241],[75,7164,7167,7173],{"className":7165},[7166],"mop",[75,7168,6970],{"className":7169,"style":7172},[7166,7170,7171],"op-symbol","small-op","position:relative;top:0em;",[75,7174,7176],{"className":7175},[169],[75,7177,7179,7231],{"className":7178},[173,174],[75,7180,7182,7228],{"className":7181},[178],[75,7183,7186,7207],{"className":7184,"style":7185},[182],"height:0.954em;",[75,7187,7189,7192],{"style":7188},"top:-2.4003em;margin-left:0em;margin-right:0.05em;",[75,7190],{"className":7191,"style":191},[190],[75,7193,7195],{"className":7194},[195,196,197,198],[75,7196,7198,7201,7204],{"className":7197},[160,198],[75,7199,731],{"className":7200},[160,164,198],[75,7202,125],{"className":7203},[246,198],[75,7205,1835],{"className":7206},[160,198],[75,7208,7210,7213],{"style":7209},"top:-3.2029em;margin-right:0.05em;",[75,7211],{"className":7212,"style":191},[190],[75,7214,7216],{"className":7215},[195,196,197,198],[75,7217,7219,7222,7225],{"className":7218},[160,198],[75,7220,317],{"className":7221},[160,164,198],[75,7223,4410],{"className":7224},[274,198],[75,7226,1578],{"className":7227},[160,198],[75,7229,217],{"className":7230},[216],[75,7232,7234],{"className":7233},[178],[75,7235,7238],{"className":7236,"style":7237},[182],"height:0.2997em;",[75,7239],{},[75,7241],{"className":7242,"style":263},[241],[75,7244,7247,7405],{"className":7245},[7246],"minner",[75,7248,7250,7259,7308,7311,7349,7352,7355,7358,7361,7399],{"className":7249},[7246],[75,7251,7255],{"className":7252,"style":7254},[230,7253],"delimcenter","top:0em;",[75,7256,116],{"className":7257},[7258,4570],"delimsizing",[75,7260,7262,7265],{"className":7261},[160],[75,7263,99],{"className":7264,"style":165},[160,164],[75,7266,7268],{"className":7267},[169],[75,7269,7271,7300],{"className":7270},[173,174],[75,7272,7274,7297],{"className":7273},[178],[75,7275,7277],{"className":7276,"style":183},[182],[75,7278,7279,7282],{"style":186},[75,7280],{"className":7281,"style":191},[190],[75,7283,7285],{"className":7284},[195,196,197,198],[75,7286,7288,7291,7294],{"className":7287},[160,198],[75,7289,104],{"className":7290,"style":205},[160,164,198],[75,7292,109],{"className":7293},[209,198],[75,7295,112],{"className":7296},[160,164,198],[75,7298,217],{"className":7299},[216],[75,7301,7303],{"className":7302},[178],[75,7304,7306],{"className":7305,"style":224},[182],[75,7307],{},[75,7309,116],{"className":7310},[230],[75,7312,7314,7317],{"className":7313},[160],[75,7315,119],{"className":7316},[160,164],[75,7318,7320],{"className":7319},[169],[75,7321,7323],{"className":7322},[173],[75,7324,7326],{"className":7325},[178],[75,7327,7329],{"className":7328,"style":746},[182],[75,7330,7331,7334],{"style":767},[75,7332],{"className":7333,"style":191},[190],[75,7335,7337],{"className":7336},[195,196,197,198],[75,7338,7340,7343,7346],{"className":7339},[160,198],[75,7341,116],{"className":7342},[230,198],[75,7344,731],{"className":7345},[160,164,198],[75,7347,122],{"className":7348},[237,198],[75,7350,122],{"className":7351},[237],[75,7353],{"className":7354,"style":270},[241],[75,7356,4410],{"className":7357},[274],[75,7359],{"className":7360,"style":270},[241],[75,7362,7364,7367],{"className":7363},[160],[75,7365,678],{"className":7366,"style":829},[160,164],[75,7368,7370],{"className":7369},[169],[75,7371,7373],{"className":7372},[173],[75,7374,7376],{"className":7375},[178],[75,7377,7379],{"className":7378,"style":746},[182],[75,7380,7381,7384],{"style":767},[75,7382],{"className":7383,"style":191},[190],[75,7385,7387],{"className":7386},[195,196,197,198],[75,7388,7390,7393,7396],{"className":7389},[160,198],[75,7391,116],{"className":7392},[230,198],[75,7394,731],{"className":7395},[160,164,198],[75,7397,122],{"className":7398},[237,198],[75,7400,7402],{"className":7401,"style":7254},[237,7253],[75,7403,122],{"className":7404},[7258,4570],[75,7406,7408],{"className":7407},[169],[75,7409,7411],{"className":7410},[173],[75,7412,7414],{"className":7413},[178],[75,7415,7418],{"className":7416,"style":7417},[182],"height:1.092em;",[75,7419,7421,7424],{"style":7420},"top:-3.3409em;margin-right:0.05em;",[75,7422],{"className":7423,"style":191},[190],[75,7425,7427],{"className":7426},[195,196,197,198],[75,7428,1318],{"className":7429},[160,198],[11,7431,7432],{},"Eu sei, parece assustador. Vamos abrir essa fórmula peça por peça, tipo desmontando um Lego.",[289,7434,7436],{"id":7435},"cuidado-com-a-palavra-custo","Cuidado com a palavra \"custo\"",[11,7438,7439,7440,7443],{},"Antes de mais nada: aqui ",[2366,7441,7442],{},"custo"," não tem nada a ver com preço de casa. É a medida de quão errado o modelo está. Pra preço da casa a gente continua usando a palavra preço mesmo. Essa confusão de vocabulário pega muita gente no começo, porque \"custo\" no dia a dia é sempre dinheiro.",[289,7445,7447],{"id":7446},"desmontando-a-fórmula","Desmontando a fórmula",[11,7449,7450,7451,7524,7525,7669,7670,7673],{},"Pensa numa prova de tiro ao alvo. Cada casa do seu conjunto de treino é uma tentativa de acertar o centro do alvo (o preço real, ",[75,7452,7454,7477],{"className":7453},[78],[75,7455,7457],{"className":7456},[82],[84,7458,7459],{"xmlns":86},[88,7460,7461,7475],{},[91,7462,7463],{},[721,7464,7465,7467],{},[97,7466,678],{},[91,7468,7469,7471,7473],{},[106,7470,116],{"stretchy":115},[97,7472,731],{},[106,7474,122],{"stretchy":115},[140,7476,812],{"encoding":142},[75,7478,7480],{"className":7479,"ariaHidden":108},[147],[75,7481,7483,7486],{"className":7482},[151],[75,7484],{"className":7485,"style":822},[155],[75,7487,7489,7492],{"className":7488},[160],[75,7490,678],{"className":7491,"style":829},[160,164],[75,7493,7495],{"className":7494},[169],[75,7496,7498],{"className":7497},[173],[75,7499,7501],{"className":7500},[178],[75,7502,7504],{"className":7503,"style":746},[182],[75,7505,7506,7509],{"style":767},[75,7507],{"className":7508,"style":191},[190],[75,7510,7512],{"className":7511},[195,196,197,198],[75,7513,7515,7518,7521],{"className":7514},[160,198],[75,7516,116],{"className":7517},[230,198],[75,7519,731],{"className":7520},[160,164,198],[75,7522,122],{"className":7523},[237,198],"). ",[75,7526,7528,7567],{"className":7527},[78],[75,7529,7531],{"className":7530},[82],[84,7532,7533],{"xmlns":86},[88,7534,7535,7565],{},[91,7536,7537,7549,7551,7563],{},[94,7538,7539,7541],{},[97,7540,99],{},[91,7542,7543,7545,7547],{},[97,7544,104],{},[106,7546,109],{"separator":108},[97,7548,112],{},[106,7550,116],{"stretchy":115},[721,7552,7553,7555],{},[97,7554,119],{},[91,7556,7557,7559,7561],{},[106,7558,116],{"stretchy":115},[97,7560,731],{},[106,7562,122],{"stretchy":115},[106,7564,122],{"stretchy":115},[140,7566,1065],{"encoding":142},[75,7568,7570],{"className":7569,"ariaHidden":108},[147],[75,7571,7573,7576,7625,7628,7666],{"className":7572},[151],[75,7574],{"className":7575,"style":1075},[155],[75,7577,7579,7582],{"className":7578},[160],[75,7580,99],{"className":7581,"style":165},[160,164],[75,7583,7585],{"className":7584},[169],[75,7586,7588,7617],{"className":7587},[173,174],[75,7589,7591,7614],{"className":7590},[178],[75,7592,7594],{"className":7593,"style":183},[182],[75,7595,7596,7599],{"style":186},[75,7597],{"className":7598,"style":191},[190],[75,7600,7602],{"className":7601},[195,196,197,198],[75,7603,7605,7608,7611],{"className":7604},[160,198],[75,7606,104],{"className":7607,"style":205},[160,164,198],[75,7609,109],{"className":7610},[209,198],[75,7612,112],{"className":7613},[160,164,198],[75,7615,217],{"className":7616},[216],[75,7618,7620],{"className":7619},[178],[75,7621,7623],{"className":7622,"style":224},[182],[75,7624],{},[75,7626,116],{"className":7627},[230],[75,7629,7631,7634],{"className":7630},[160],[75,7632,119],{"className":7633},[160,164],[75,7635,7637],{"className":7636},[169],[75,7638,7640],{"className":7639},[173],[75,7641,7643],{"className":7642},[178],[75,7644,7646],{"className":7645,"style":746},[182],[75,7647,7648,7651],{"style":767},[75,7649],{"className":7650,"style":191},[190],[75,7652,7654],{"className":7653},[195,196,197,198],[75,7655,7657,7660,7663],{"className":7656},[160,198],[75,7658,116],{"className":7659},[230,198],[75,7661,731],{"className":7662},[160,164,198],[75,7664,122],{"className":7665},[237,198],[75,7667,122],{"className":7668},[237]," é onde a sua flecha caiu (a previsão do modelo). A distância entre onde a flecha caiu e o centro é o ",[6867,7671,4030],{"definition":7672},"a diferença entre o que o modelo previu e o valor real daquele exemplo, também chamado de resíduo"," daquele tiro específico.",[516,7675,7676,7689],{},[519,7677,7678],{},[522,7679,7680,7683,7686],{},[525,7681,7682],{"align":527},"Pedaço da fórmula",[525,7684,7685],{"align":527},"Nome",[525,7687,7688],{"align":527},"O que faz",[536,7690,7691,7913,7994,8118],{},[522,7692,7693,7907,7910],{},[541,7694,7695],{"align":527},[75,7696,7698,7752],{"className":7697},[78],[75,7699,7701],{"className":7700},[82],[84,7702,7703],{"xmlns":86},[88,7704,7705,7749],{},[91,7706,7707,7719,7721,7733,7735,7737],{},[94,7708,7709,7711],{},[97,7710,99],{},[91,7712,7713,7715,7717],{},[97,7714,104],{},[106,7716,109],{"separator":108},[97,7718,112],{},[106,7720,116],{"stretchy":115},[721,7722,7723,7725],{},[97,7724,119],{},[91,7726,7727,7729,7731],{},[106,7728,116],{"stretchy":115},[97,7730,731],{},[106,7732,122],{"stretchy":115},[106,7734,122],{"stretchy":115},[106,7736,4410],{},[721,7738,7739,7741],{},[97,7740,678],{},[91,7742,7743,7745,7747],{},[106,7744,116],{"stretchy":115},[97,7746,731],{},[106,7748,122],{"stretchy":115},[140,7750,7751],{"encoding":142},"f_{w,b}(x^{(i)}) - y^{(i)}",[75,7753,7755,7863],{"className":7754,"ariaHidden":108},[147],[75,7756,7758,7761,7810,7813,7851,7854,7857,7860],{"className":7757},[151],[75,7759],{"className":7760,"style":1075},[155],[75,7762,7764,7767],{"className":7763},[160],[75,7765,99],{"className":7766,"style":165},[160,164],[75,7768,7770],{"className":7769},[169],[75,7771,7773,7802],{"className":7772},[173,174],[75,7774,7776,7799],{"className":7775},[178],[75,7777,7779],{"className":7778,"style":183},[182],[75,7780,7781,7784],{"style":186},[75,7782],{"className":7783,"style":191},[190],[75,7785,7787],{"className":7786},[195,196,197,198],[75,7788,7790,7793,7796],{"className":7789},[160,198],[75,7791,104],{"className":7792,"style":205},[160,164,198],[75,7794,109],{"className":7795},[209,198],[75,7797,112],{"className":7798},[160,164,198],[75,7800,217],{"className":7801},[216],[75,7803,7805],{"className":7804},[178],[75,7806,7808],{"className":7807,"style":224},[182],[75,7809],{},[75,7811,116],{"className":7812},[230],[75,7814,7816,7819],{"className":7815},[160],[75,7817,119],{"className":7818},[160,164],[75,7820,7822],{"className":7821},[169],[75,7823,7825],{"className":7824},[173],[75,7826,7828],{"className":7827},[178],[75,7829,7831],{"className":7830,"style":746},[182],[75,7832,7833,7836],{"style":767},[75,7834],{"className":7835,"style":191},[190],[75,7837,7839],{"className":7838},[195,196,197,198],[75,7840,7842,7845,7848],{"className":7841},[160,198],[75,7843,116],{"className":7844},[230,198],[75,7846,731],{"className":7847},[160,164,198],[75,7849,122],{"className":7850},[237,198],[75,7852,122],{"className":7853},[237],[75,7855],{"className":7856,"style":270},[241],[75,7858,4410],{"className":7859},[274],[75,7861],{"className":7862,"style":270},[241],[75,7864,7866,7869],{"className":7865},[151],[75,7867],{"className":7868,"style":822},[155],[75,7870,7872,7875],{"className":7871},[160],[75,7873,678],{"className":7874,"style":829},[160,164],[75,7876,7878],{"className":7877},[169],[75,7879,7881],{"className":7880},[173],[75,7882,7884],{"className":7883},[178],[75,7885,7887],{"className":7886,"style":746},[182],[75,7888,7889,7892],{"style":767},[75,7890],{"className":7891,"style":191},[190],[75,7893,7895],{"className":7894},[195,196,197,198],[75,7896,7898,7901,7904],{"className":7897},[160,198],[75,7899,116],{"className":7900},[230,198],[75,7902,731],{"className":7903},[160,164,198],[75,7905,122],{"className":7906},[237,198],[541,7908,7909],{"align":527},"erro (resíduo)",[541,7911,7912],{"align":527},"a distância entre a previsão e o real",[522,7914,7915,7988,7991],{},[541,7916,7917],{"align":527},[75,7918,7920,7943],{"className":7919},[78],[75,7921,7923],{"className":7922},[82],[84,7924,7925],{"xmlns":86},[88,7926,7927,7940],{},[91,7928,7929,7931,7934],{},[106,7930,116],{"stretchy":115},[106,7932,7933],{},"…",[721,7935,7936,7938],{},[106,7937,122],{"stretchy":115},[1316,7939,1318],{},[140,7941,7942],{"encoding":142},"(\\ldots)^2",[75,7944,7946],{"className":7945,"ariaHidden":108},[147],[75,7947,7949,7953,7956,7959],{"className":7948},[151],[75,7950],{"className":7951,"style":7952},[155],"height:1.0641em;vertical-align:-0.25em;",[75,7954,116],{"className":7955},[230],[75,7957,7933],{"className":7958},[7246],[75,7960,7962,7965],{"className":7961},[237],[75,7963,122],{"className":7964},[237],[75,7966,7968],{"className":7967},[169],[75,7969,7971],{"className":7970},[173],[75,7972,7974],{"className":7973},[178],[75,7975,7977],{"className":7976,"style":1402},[182],[75,7978,7979,7982],{"style":767},[75,7980],{"className":7981,"style":191},[190],[75,7983,7985],{"className":7984},[195,196,197,198],[75,7986,1318],{"className":7987},[160,198],[541,7989,7990],{"align":527},"erro ao quadrado",[541,7992,7993],{"align":527},"tira o sinal (errar pra cima ou pra baixo pesa igual) e pune erro grande com força bem maior",[522,7995,7996,8112,8115],{},[541,7997,7998],{"align":527},[75,7999,8001,8033],{"className":8000},[78],[75,8002,8004],{"className":8003},[82],[84,8005,8006],{"xmlns":86},[88,8007,8008,8030],{},[91,8009,8010],{},[6966,8011,8012,8014,8022],{},[106,8013,6970],{},[91,8015,8016,8018,8020],{},[97,8017,731],{},[106,8019,125],{},[1316,8021,1835],{},[91,8023,8024,8026,8028],{},[97,8025,317],{},[106,8027,4410],{},[1316,8029,1578],{},[140,8031,8032],{"encoding":142},"\\sum_{i=0}^{m-1}",[75,8034,8036],{"className":8035,"ariaHidden":108},[147],[75,8037,8039,8043],{"className":8038},[151],[75,8040],{"className":8041,"style":8042},[155],"height:1.2537em;vertical-align:-0.2997em;",[75,8044,8046,8049],{"className":8045},[7166],[75,8047,6970],{"className":8048,"style":7172},[7166,7170,7171],[75,8050,8052],{"className":8051},[169],[75,8053,8055,8104],{"className":8054},[173,174],[75,8056,8058,8101],{"className":8057},[178],[75,8059,8061,8081],{"className":8060,"style":7185},[182],[75,8062,8063,8066],{"style":7188},[75,8064],{"className":8065,"style":191},[190],[75,8067,8069],{"className":8068},[195,196,197,198],[75,8070,8072,8075,8078],{"className":8071},[160,198],[75,8073,731],{"className":8074},[160,164,198],[75,8076,125],{"className":8077},[246,198],[75,8079,1835],{"className":8080},[160,198],[75,8082,8083,8086],{"style":7209},[75,8084],{"className":8085,"style":191},[190],[75,8087,8089],{"className":8088},[195,196,197,198],[75,8090,8092,8095,8098],{"className":8091},[160,198],[75,8093,317],{"className":8094},[160,164,198],[75,8096,4410],{"className":8097},[274,198],[75,8099,1578],{"className":8100},[160,198],[75,8102,217],{"className":8103},[216],[75,8105,8107],{"className":8106},[178],[75,8108,8110],{"className":8109,"style":7237},[182],[75,8111],{},[541,8113,8114],{"align":527},"soma",[541,8116,8117],{"align":527},"junta o erro de todo mundo",[522,8119,8120,8228,8231],{},[541,8121,8122],{"align":527},[75,8123,8125,8147],{"className":8124},[78],[75,8126,8128],{"className":8127},[82],[84,8129,8130],{"xmlns":86},[88,8131,8132,8144],{},[91,8133,8134],{},[4392,8135,8136,8138],{},[1316,8137,1578],{},[91,8139,8140,8142],{},[1316,8141,1318],{},[97,8143,317],{},[140,8145,8146],{"encoding":142},"\\frac{1}{2m}",[75,8148,8150],{"className":8149,"ariaHidden":108},[147],[75,8151,8153,8157],{"className":8152},[151],[75,8154],{"className":8155,"style":8156},[155],"height:1.1901em;vertical-align:-0.345em;",[75,8158,8160,8163,8225],{"className":8159},[160],[75,8161],{"className":8162},[230,4513],[75,8164,8166],{"className":8165},[4392],[75,8167,8169,8217],{"className":8168},[173,174],[75,8170,8172,8214],{"className":8171},[178],[75,8173,8175,8192,8200],{"className":8174,"style":4777},[182],[75,8176,8177,8180],{"style":4780},[75,8178],{"className":8179,"style":4533},[190],[75,8181,8183],{"className":8182},[195,196,197,198],[75,8184,8186,8189],{"className":8185},[160,198],[75,8187,1318],{"className":8188},[160,198],[75,8190,317],{"className":8191},[160,164,198],[75,8193,8194,8197],{"style":4626},[75,8195],{"className":8196,"style":4533},[190],[75,8198],{"className":8199,"style":4634},[4633],[75,8201,8202,8205],{"style":4809},[75,8203],{"className":8204,"style":4533},[190],[75,8206,8208],{"className":8207},[195,196,197,198],[75,8209,8211],{"className":8210},[160,198],[75,8212,1578],{"className":8213},[160,198],[75,8215,217],{"className":8216},[216],[75,8218,8220],{"className":8219},[178],[75,8221,8223],{"className":8222,"style":7154},[182],[75,8224],{},[75,8226],{"className":8227},[237,4513],[541,8229,8230],{"align":527},"média (com o 2 extra)",[541,8232,8233,8234,8262],{"align":527},"dividir por ",[75,8235,8237,8250],{"className":8236},[78],[75,8238,8240],{"className":8239},[82],[84,8241,8242],{"xmlns":86},[88,8243,8244,8248],{},[91,8245,8246],{},[97,8247,317],{},[140,8249,317],{"encoding":142},[75,8251,8253],{"className":8252,"ariaHidden":108},[147],[75,8254,8256,8259],{"className":8255},[151],[75,8257],{"className":8258,"style":329},[155],[75,8260,317],{"className":8261},[160,164]," vira média (senão o custo só cresceria por ter mais dados, mesmo que o ajuste seja igualmente bom), e o 2 é só um ajuste de conta pro próximo post ficar mais limpo, explico melhor lá",[11,8264,8265],{},"Duas coisas saem direto dessa fórmula, e eu nem precisei decorar nada:",[294,8267,8268,8327],{},[297,8269,8270,8326],{},[75,8271,8273,8296],{"className":8272},[78],[75,8274,8276],{"className":8275},[82],[84,8277,8278],{"xmlns":86},[88,8279,8280,8294],{},[91,8281,8282,8284,8286,8288,8290,8292],{},[97,8283,5374],{},[106,8285,116],{"stretchy":115},[97,8287,104],{},[106,8289,109],{"separator":108},[97,8291,112],{},[106,8293,122],{"stretchy":115},[140,8295,5387],{"encoding":142},[75,8297,8299],{"className":8298,"ariaHidden":108},[147],[75,8300,8302,8305,8308,8311,8314,8317,8320,8323],{"className":8301},[151],[75,8303],{"className":8304,"style":2081},[155],[75,8306,5374],{"className":8307,"style":5400},[160,164],[75,8309,116],{"className":8310},[230],[75,8312,104],{"className":8313,"style":205},[160,164],[75,8315,109],{"className":8316},[209],[75,8318],{"className":8319,"style":263},[241],[75,8321,112],{"className":8322},[160,164],[75,8324,122],{"className":8325},[237]," nunca é negativo. É soma de coisas ao quadrado, então o menor valor possível é zero.",[297,8328,8329,8408],{},[75,8330,8332,8360],{"className":8331},[78],[75,8333,8335],{"className":8334},[82],[84,8336,8337],{"xmlns":86},[88,8338,8339,8357],{},[91,8340,8341,8343,8345,8347,8349,8351,8353,8355],{},[97,8342,5374],{},[106,8344,116],{"stretchy":115},[97,8346,104],{},[106,8348,109],{"separator":108},[97,8350,112],{},[106,8352,122],{"stretchy":115},[106,8354,125],{},[1316,8356,1835],{},[140,8358,8359],{"encoding":142},"J(w,b) = 0",[75,8361,8363,8399],{"className":8362,"ariaHidden":108},[147],[75,8364,8366,8369,8372,8375,8378,8381,8384,8387,8390,8393,8396],{"className":8365},[151],[75,8367],{"className":8368,"style":2081},[155],[75,8370,5374],{"className":8371,"style":5400},[160,164],[75,8373,116],{"className":8374},[230],[75,8376,104],{"className":8377,"style":205},[160,164],[75,8379,109],{"className":8380},[209],[75,8382],{"className":8383,"style":263},[241],[75,8385,112],{"className":8386},[160,164],[75,8388,122],{"className":8389},[237],[75,8391],{"className":8392,"style":242},[241],[75,8394,125],{"className":8395},[246],[75,8397],{"className":8398,"style":242},[241],[75,8400,8402,8405],{"className":8401},[151],[75,8403],{"className":8404,"style":1609},[155],[75,8406,1835],{"className":8407},[160]," significa ajuste perfeito. A reta passa exatamente em cima de todos os pontos.",[11,8410,8411,8412,8441],{},"E por que elevar ao quadrado em vez de, sei lá, pegar o módulo do erro? Porque o quadrado castiga desproporcionalmente os erros grandes. Errar o dobro custa quatro vezes mais caro em ",[75,8413,8415,8428],{"className":8414},[78],[75,8416,8418],{"className":8417},[82],[84,8419,8420],{"xmlns":86},[88,8421,8422,8426],{},[91,8423,8424],{},[97,8425,5374],{},[140,8427,5374],{"encoding":142},[75,8429,8431],{"className":8430,"ariaHidden":108},[147],[75,8432,8434,8438],{"className":8433},[151],[75,8435],{"className":8436,"style":8437},[155],"height:0.6833em;",[75,8439,5374],{"className":8440,"style":5400},[160,164],", não o dobro. Isso faz o modelo detestar previsões muito ruins de um jeito que o módulo não faria, e é justamente esse comportamento que dá pro custo o formato de U que a gente vai ver daqui a pouco. Voltando pro tiro ao alvo: é como se o juiz da competição desse nota exponencialmente pior quanto mais longe do centro a flecha cair. Errar por pouco dói pouco, errar feio dói muito mais que o dobro.",[289,8443,8445],{"id":8444},"colocando-isso-em-código","Colocando isso em código",[2376,8447,8449],{"className":2378,"code":8448,"language":2380,"meta":26,"style":26},"def compute_cost(x, y, w, b):\n    \"\"\"\n    Calcula a função de custo da regressão linear.\n\n    Args:\n      x (ndarray (m,)) : dados de entrada, m exemplos\n      y (ndarray (m,)) : valores-alvo\n      w, b (scalar)    : parâmetros do modelo\n\n    Returns:\n      total_cost (float): o custo de usar w e b como parâmetros para ajustar\n                          os pontos (x, y)\n    \"\"\"\n    m = x.shape[0]\n\n    cost_sum = 0\n\n    for i in range(m):\n        f_wb = w * x[i] + b           # previsão do modelo pro exemplo i\n        cost = (f_wb - y[i]) ** 2     # erro do exemplo i, ao quadrado\n        cost_sum = cost_sum + cost    # acumula no total\n\n    total_cost = (1 \u002F (2 * m)) * cost_sum\n\n    return total_cost\n",[65,8450,8451,8456,8460,8465,8469,8473,8478,8483,8488,8492,8496,8501,8506,8510,8515,8519,8524,8528,8533,8539,8545,8551,8556,8562,8567],{"__ignoreMap":26},[75,8452,8453],{"class":2385,"line":33},[75,8454,8455],{},"def compute_cost(x, y, w, b):\n",[75,8457,8458],{"class":2385,"line":27},[75,8459,3868],{},[75,8461,8462],{"class":2385,"line":2396},[75,8463,8464],{},"    Calcula a função de custo da regressão linear.\n",[75,8466,8467],{"class":2385,"line":2401},[75,8468,2422],{"emptyLinePlaceholder":32},[75,8470,8471],{"class":2385,"line":2407},[75,8472,3882],{},[75,8474,8475],{"class":2385,"line":2413},[75,8476,8477],{},"      x (ndarray (m,)) : dados de entrada, m exemplos\n",[75,8479,8480],{"class":2385,"line":2419},[75,8481,8482],{},"      y (ndarray (m,)) : valores-alvo\n",[75,8484,8485],{"class":2385,"line":2425},[75,8486,8487],{},"      w, b (scalar)    : parâmetros do modelo\n",[75,8489,8490],{"class":2385,"line":2431},[75,8491,2422],{"emptyLinePlaceholder":32},[75,8493,8494],{"class":2385,"line":2437},[75,8495,3901],{},[75,8497,8498],{"class":2385,"line":2442},[75,8499,8500],{},"      total_cost (float): o custo de usar w e b como parâmetros para ajustar\n",[75,8502,8503],{"class":2385,"line":2448},[75,8504,8505],{},"                          os pontos (x, y)\n",[75,8507,8508],{"class":2385,"line":3918},[75,8509,3868],{},[75,8511,8512],{"class":2385,"line":3924},[75,8513,8514],{},"    m = x.shape[0]\n",[75,8516,8517],{"class":2385,"line":3929},[75,8518,2422],{"emptyLinePlaceholder":32},[75,8520,8521],{"class":2385,"line":3935},[75,8522,8523],{},"    cost_sum = 0\n",[75,8525,8526],{"class":2385,"line":3941},[75,8527,2422],{"emptyLinePlaceholder":32},[75,8529,8530],{"class":2385,"line":3946},[75,8531,8532],{},"    for i in range(m):\n",[75,8534,8536],{"class":2385,"line":8535},19,[75,8537,8538],{},"        f_wb = w * x[i] + b           # previsão do modelo pro exemplo i\n",[75,8540,8542],{"class":2385,"line":8541},20,[75,8543,8544],{},"        cost = (f_wb - y[i]) ** 2     # erro do exemplo i, ao quadrado\n",[75,8546,8548],{"class":2385,"line":8547},21,[75,8549,8550],{},"        cost_sum = cost_sum + cost    # acumula no total\n",[75,8552,8554],{"class":2385,"line":8553},22,[75,8555,2422],{"emptyLinePlaceholder":32},[75,8557,8559],{"class":2385,"line":8558},23,[75,8560,8561],{},"    total_cost = (1 \u002F (2 * m)) * cost_sum\n",[75,8563,8565],{"class":2385,"line":8564},24,[75,8566,2422],{"emptyLinePlaceholder":32},[75,8568,8570],{"class":2385,"line":8569},25,[75,8571,8572],{},"    return total_cost\n",[11,8574,8575,8576,8579,8580,8583,8584,8587],{},"Repara que é o mesmo laço ",[65,8577,8578],{},"for"," do ",[557,8581,8582],{"href":6760},"post passado"," (o ",[65,8585,8586],{},"compute_model_output","), só que em vez de guardar as previsões, a gente acumula o erro ao quadrado de cada uma. Estrutura idêntica, propósito diferente.",[289,8589,8591],{"id":8590},"congelando-um-parâmetro-pra-enxergar-o-outro","Congelando um parâmetro pra enxergar o outro",[11,8593,8594,8595,503,8623,8651,8652,8702,8703,1613],{},"Com dois parâmetros pra mexer (",[75,8596,8598,8611],{"className":8597},[78],[75,8599,8601],{"className":8600},[82],[84,8602,8603],{"xmlns":86},[88,8604,8605,8609],{},[91,8606,8607],{},[97,8608,104],{},[140,8610,104],{"encoding":142},[75,8612,8614],{"className":8613,"ariaHidden":108},[147],[75,8615,8617,8620],{"className":8616},[151],[75,8618],{"className":8619,"style":329},[155],[75,8621,104],{"className":8622,"style":205},[160,164],[75,8624,8626,8639],{"className":8625},[78],[75,8627,8629],{"className":8628},[82],[84,8630,8631],{"xmlns":86},[88,8632,8633,8637],{},[91,8634,8635],{},[97,8636,112],{},[140,8638,112],{"encoding":142},[75,8640,8642],{"className":8641,"ariaHidden":108},[147],[75,8643,8645,8648],{"className":8644},[151],[75,8646],{"className":8647,"style":284},[155],[75,8649,112],{"className":8650},[160,164],"), eu tive dificuldade de visualizar o custo direto. Truque clássico: trava um deles e olha só pro outro. Fixa ",[75,8653,8655,8672],{"className":8654},[78],[75,8656,8658],{"className":8657},[82],[84,8659,8660],{"xmlns":86},[88,8661,8662,8670],{},[91,8663,8664,8666,8668],{},[97,8665,112],{},[106,8667,125],{},[1316,8669,4053],{},[140,8671,5202],{"encoding":142},[75,8673,8675,8693],{"className":8674,"ariaHidden":108},[147],[75,8676,8678,8681,8684,8687,8690],{"className":8677},[151],[75,8679],{"className":8680,"style":284},[155],[75,8682,112],{"className":8683},[160,164],[75,8685],{"className":8686,"style":242},[241],[75,8688,125],{"className":8689},[246],[75,8691],{"className":8692,"style":242},[241],[75,8694,8696,8699],{"className":8695},[151],[75,8697],{"className":8698,"style":1609},[155],[75,8700,4053],{"className":8701},[160]," e mexe só em ",[75,8704,8706,8719],{"className":8705},[78],[75,8707,8709],{"className":8708},[82],[84,8710,8711],{"xmlns":86},[88,8712,8713,8717],{},[91,8714,8715],{},[97,8716,104],{},[140,8718,104],{"encoding":142},[75,8720,8722],{"className":8721,"ariaHidden":108},[147],[75,8723,8725,8728],{"className":8724},[151],[75,8726],{"className":8727,"style":329},[155],[75,8729,104],{"className":8730,"style":205},[160,164],[11,8732,8733,8734,8778],{},"Arrasta o slider abaixo e olha duas coisas ao mesmo tempo: como a reta (painel esquerdo) se aproxima ou se afasta dos pontos, e onde o ponto vermelho fica na curva ",[75,8735,8737,8757],{"className":8736},[78],[75,8738,8740],{"className":8739},[82],[84,8741,8742],{"xmlns":86},[88,8743,8744,8754],{},[91,8745,8746,8748,8750,8752],{},[97,8747,5374],{},[106,8749,116],{"stretchy":115},[97,8751,104],{},[106,8753,122],{"stretchy":115},[140,8755,8756],{"encoding":142},"J(w)",[75,8758,8760],{"className":8759,"ariaHidden":108},[147],[75,8761,8763,8766,8769,8772,8775],{"className":8762},[151],[75,8764],{"className":8765,"style":2081},[155],[75,8767,5374],{"className":8768,"style":5400},[160,164],[75,8770,116],{"className":8771},[230],[75,8773,104],{"className":8774,"style":205},[160,164],[75,8776,122],{"className":8777},[237]," (painel direito). Conforme a reta melhora, o ponto desce na curva.",[8780,8781],"cost-intuition-explorer",{":b-fixed":4053,":initial-w":8782,":w-max":8783,":w-min":1835,":x-train":3114,":y-train":3115,"dataLabel":4356,"prediction-label":8784,"w-label":104,"x-label":3117,"y-label":3118},"150","400","Nossa previsão",[11,8786,8787],{},"Repara três coisas:",[1209,8789,8790,8900,8935],{},[297,8791,8792,8845,8846,8848,8849,8899],{},[15,8793,8794,8795],{},"O custo é mínimo exatamente em ",[75,8796,8798,8815],{"className":8797},[78],[75,8799,8801],{"className":8800},[82],[84,8802,8803],{"xmlns":86},[88,8804,8805,8813],{},[91,8806,8807,8809,8811],{},[97,8808,104],{},[106,8810,125],{},[1316,8812,4475],{},[140,8814,5151],{"encoding":142},[75,8816,8818,8836],{"className":8817,"ariaHidden":108},[147],[75,8819,8821,8824,8827,8830,8833],{"className":8820},[151],[75,8822],{"className":8823,"style":329},[155],[75,8825,104],{"className":8826,"style":205},[160,164],[75,8828],{"className":8829,"style":242},[241],[75,8831,125],{"className":8832},[246],[75,8834],{"className":8835,"style":242},[241],[75,8837,8839,8842],{"className":8838},[151],[75,8840],{"className":8841,"style":1609},[155],[75,8843,4475],{"className":8844},[160],", o mesmo valor que você achou no olho no ",[557,8847,8582],{"href":6760},". Com ",[75,8850,8852,8869],{"className":8851},[78],[75,8853,8855],{"className":8854},[82],[84,8856,8857],{"xmlns":86},[88,8858,8859,8867],{},[91,8860,8861,8863,8865],{},[97,8862,112],{},[106,8864,125],{},[1316,8866,4053],{},[140,8868,5202],{"encoding":142},[75,8870,8872,8890],{"className":8871,"ariaHidden":108},[147],[75,8873,8875,8878,8881,8884,8887],{"className":8874},[151],[75,8876],{"className":8877,"style":284},[155],[75,8879,112],{"className":8880},[160,164],[75,8882],{"className":8883,"style":242},[241],[75,8885,125],{"className":8886},[246],[75,8888],{"className":8889,"style":242},[241],[75,8891,8893,8896],{"className":8892},[151],[75,8894],{"className":8895,"style":1609},[155],[75,8897,4053],{"className":8898},[160],", o custo nesse ponto vai a zero, porque a reta passa nos dois pontos.",[297,8901,8902,8905,8906,8934],{},[15,8903,8904],{},"O custo explode rápido"," quando ",[75,8907,8909,8922],{"className":8908},[78],[75,8910,8912],{"className":8911},[82],[84,8913,8914],{"xmlns":86},[88,8915,8916,8920],{},[91,8917,8918],{},[97,8919,104],{},[140,8921,104],{"encoding":142},[75,8923,8925],{"className":8924,"ariaHidden":108},[147],[75,8926,8928,8931],{"className":8927},[151],[75,8929],{"className":8930,"style":329},[155],[75,8932,104],{"className":8933,"style":205},[160,164]," fica muito grande ou muito pequeno. É o quadrado da fórmula fazendo esse trabalho.",[297,8936,8937,8940,8941,503,8969,8997,8998,9026],{},[15,8938,8939],{},"Aí eu saquei: minimizar o custo é o mesmo que achar o melhor ajuste."," Não é coincidência, é a definição. Escolher ",[75,8942,8944,8957],{"className":8943},[78],[75,8945,8947],{"className":8946},[82],[84,8948,8949],{"xmlns":86},[88,8950,8951,8955],{},[91,8952,8953],{},[97,8954,104],{},[140,8956,104],{"encoding":142},[75,8958,8960],{"className":8959,"ariaHidden":108},[147],[75,8961,8963,8966],{"className":8962},[151],[75,8964],{"className":8965,"style":329},[155],[75,8967,104],{"className":8968,"style":205},[160,164],[75,8970,8972,8985],{"className":8971},[78],[75,8973,8975],{"className":8974},[82],[84,8976,8977],{"xmlns":86},[88,8978,8979,8983],{},[91,8980,8981],{},[97,8982,112],{},[140,8984,112],{"encoding":142},[75,8986,8988],{"className":8987,"ariaHidden":108},[147],[75,8989,8991,8994],{"className":8990},[151],[75,8992],{"className":8993,"style":284},[155],[75,8995,112],{"className":8996},[160,164]," que minimizam ",[75,8999,9001,9014],{"className":9000},[78],[75,9002,9004],{"className":9003},[82],[84,9005,9006],{"xmlns":86},[88,9007,9008,9012],{},[91,9009,9010],{},[97,9011,5374],{},[140,9013,5374],{"encoding":142},[75,9015,9017],{"className":9016,"ariaHidden":108},[147],[75,9018,9020,9023],{"className":9019},[151],[75,9021],{"className":9022,"style":8437},[155],[75,9024,5374],{"className":9025,"style":5400},[160,164]," é literalmente o que a gente chama de treinar um modelo.",[11,9028,9029,9030,9081],{},"Experimenta levar o slider até ",[75,9031,9033,9051],{"className":9032},[78],[75,9034,9036],{"className":9035},[82],[84,9037,9038],{"xmlns":86},[88,9039,9040,9048],{},[91,9041,9042,9044,9046],{},[97,9043,104],{},[106,9045,125],{},[1316,9047,1835],{},[140,9049,9050],{"encoding":142},"w = 0",[75,9052,9054,9072],{"className":9053,"ariaHidden":108},[147],[75,9055,9057,9060,9063,9066,9069],{"className":9056},[151],[75,9058],{"className":9059,"style":329},[155],[75,9061,104],{"className":9062,"style":205},[160,164],[75,9064],{"className":9065,"style":242},[241],[75,9067,125],{"className":9068},[246],[75,9070],{"className":9071,"style":242},[241],[75,9073,9075,9078],{"className":9074},[151],[75,9076],{"className":9077,"style":1609},[155],[75,9079,1835],{"className":9080},[160],": a reta fica horizontal (prevê o mesmo preço pra qualquer tamanho de casa) e o custo dispara.",[289,9083,9085],{"id":9084},"o-mundo-real-não-tem-só-2-pontos-perfeitos","O mundo real não tem só 2 pontos perfeitos",[11,9087,9088],{},"Até aqui, com 2 pontos e 2 parâmetros, eu conseguia zerar o custo. Isso é raro. Bora trocar o conjunto de treino por um mais realista, com 6 casas, onde os preços não caem exatamente sobre reta nenhuma (ruído de verdade, tipo casas parecidas vendendo por preços um pouco diferentes):",[516,9090,9091,9099],{},[519,9092,9093],{},[522,9094,9095,9097],{},[525,9096,3117],{"align":1648},[525,9098,3118],{"align":1648},[536,9100,9101,9108,9115,9122,9130,9138],{},[522,9102,9103,9105],{},[541,9104,1838],{"align":1648},[541,9106,9107],{"align":1648},"250",[522,9109,9110,9113],{},[541,9111,9112],{"align":1648},"1.7",[541,9114,1841],{"align":1648},[522,9116,9117,9119],{},[541,9118,1848],{"align":1648},[541,9120,9121],{"align":1648},"480",[522,9123,9124,9127],{},[541,9125,9126],{"align":1648},"2.5",[541,9128,9129],{"align":1648},"430",[522,9131,9132,9135],{},[541,9133,9134],{"align":1648},"3.0",[541,9136,9137],{"align":1648},"630",[522,9139,9140,9143],{},[541,9141,9142],{"align":1648},"3.2",[541,9144,9145],{"align":1648},"730",[11,9147,9148,9149,9200],{},"Pergunta que fica no ar: será que ainda existe algum ",[75,9150,9152,9173],{"className":9151},[78],[75,9153,9155],{"className":9154},[82],[84,9156,9157],{"xmlns":86},[88,9158,9159,9171],{},[91,9160,9161,9163,9165,9167,9169],{},[106,9162,116],{"stretchy":115},[97,9164,104],{},[106,9166,109],{"separator":108},[97,9168,112],{},[106,9170,122],{"stretchy":115},[140,9172,3793],{"encoding":142},[75,9174,9176],{"className":9175,"ariaHidden":108},[147],[75,9177,9179,9182,9185,9188,9191,9194,9197],{"className":9178},[151],[75,9180],{"className":9181,"style":2081},[155],[75,9183,116],{"className":9184},[230],[75,9186,104],{"className":9187,"style":205},[160,164],[75,9189,109],{"className":9190},[209],[75,9192],{"className":9193,"style":263},[241],[75,9195,112],{"className":9196},[160,164],[75,9198,122],{"className":9199},[237]," que zere o custo aqui?",[11,9202,9203,9204,1286,9232,1286,9234,9262],{},"Mexe nos dois sliders abaixo (agora ",[75,9205,9207,9220],{"className":9206},[78],[75,9208,9210],{"className":9209},[82],[84,9211,9212],{"xmlns":86},[88,9213,9214,9218],{},[91,9215,9216],{},[97,9217,104],{},[140,9219,104],{"encoding":142},[75,9221,9223],{"className":9222,"ariaHidden":108},[147],[75,9224,9226,9229],{"className":9225},[151],[75,9227],{"className":9228,"style":329},[155],[75,9230,104],{"className":9231,"style":205},[160,164],[15,9233,2641],{},[75,9235,9237,9250],{"className":9236},[78],[75,9238,9240],{"className":9239},[82],[84,9241,9242],{"xmlns":86},[88,9243,9244,9248],{},[91,9245,9246],{},[97,9247,112],{},[140,9249,112],{"encoding":142},[75,9251,9253],{"className":9252,"ariaHidden":108},[147],[75,9254,9256,9259],{"className":9255},[151],[75,9257],{"className":9258,"style":284},[155],[75,9260,112],{"className":9261},[160,164]," ao mesmo tempo) e tenta chegar no centro do mapa de calor, onde o custo é mais baixo. Alterna pra visão 3D e gira a superfície com o dedo ou o mouse pra sentir o formato do \"vale\".",[9264,9265],"cost-explorer",{":b-max":4475,":b-min":9266,":initial-b":1835,":initial-w":8782,":w-max":8783,":w-min":1835,":x-train":9267,":y-train":9268,"b-label":112,"dataLabel":4356,"prediction-label":4358,"w-label":104,"x-label":3117,"y-label":3118},"-200","[1.0, 1.7, 2.0, 2.5, 3.0, 3.2]","[250, 300, 480, 430, 630, 730]",[11,9270,9271,9272,9274,9275,503,9329,9381],{},"Você deve ter percebido: dessa vez o custo ",[15,9273,6646],{},". O melhor que dá pra conseguir fica perto de ",[75,9276,9278,9298],{"className":9277},[78],[75,9279,9281],{"className":9280},[82],[84,9282,9283],{"xmlns":86},[88,9284,9285,9295],{},[91,9286,9287,9289,9292],{},[97,9288,104],{},[106,9290,9291],{},"≈",[1316,9293,9294],{},"209",[140,9296,9297],{"encoding":142},"w \\approx 209",[75,9299,9301,9320],{"className":9300,"ariaHidden":108},[147],[75,9302,9304,9308,9311,9314,9317],{"className":9303},[151],[75,9305],{"className":9306,"style":9307},[155],"height:0.4831em;",[75,9309,104],{"className":9310,"style":205},[160,164],[75,9312],{"className":9313,"style":242},[241],[75,9315,9291],{"className":9316},[246],[75,9318],{"className":9319,"style":242},[241],[75,9321,9323,9326],{"className":9322},[151],[75,9324],{"className":9325,"style":1609},[155],[75,9327,9294],{"className":9328},[160],[75,9330,9332,9351],{"className":9331},[78],[75,9333,9335],{"className":9334},[82],[84,9336,9337],{"xmlns":86},[88,9338,9339,9348],{},[91,9340,9341,9343,9345],{},[97,9342,112],{},[106,9344,9291],{},[1316,9346,9347],{},"2.4",[140,9349,9350],{"encoding":142},"b \\approx 2.4",[75,9352,9354,9372],{"className":9353,"ariaHidden":108},[147],[75,9355,9357,9360,9363,9366,9369],{"className":9356},[151],[75,9358],{"className":9359,"style":284},[155],[75,9361,112],{"className":9362},[160,164],[75,9364],{"className":9365,"style":242},[241],[75,9367,9291],{"className":9368},[246],[75,9370],{"className":9371,"style":242},[241],[75,9373,9375,9378],{"className":9374},[151],[75,9376],{"className":9377,"style":1609},[155],[75,9379,9347],{"className":9380},[160],", com custo em torno de 1736. Por quê? Porque essas 6 casas não estão alinhadas. Nenhuma reta única passa exatamente por todas. O melhor ajuste é aquele que deixa o menor erro quadrático total possível, e é isso que a função de custo define como \"o melhor\".",[11,9383,9384,9385,9388,9389,9393],{},"Guarda essa ideia: ",[15,9386,9387],{},"custo mínimo diferente de zero é o normal",", não um bug. Custo zero costuma acontecer quando você tem poucos dados demais (como no nosso caso de 2 pontos) ou quando o modelo decorou os dados em vez de aprender o padrão deles (isso tem nome, ",[6867,9390,9392],{"definition":9391},"quando o modelo memoriza os dados de treino em vez de aprender o padrão geral, e por isso vai mal em dados novos","overfitting",", mas isso é assunto pra mais pra frente no curso).",[289,9395,9397],{"id":9396},"por-que-a-superfície-é-sempre-uma-tigela","Por que a superfície é sempre uma tigela",[11,9399,9400,9401,1613],{},"Girando a superfície 3D acima você deve ter notado: ela sempre tem essa cara de tigela de sopa, um único vale, sem picos falsos no meio do caminho. Isso não é coincidência do nosso exemplo específico, é consequência direta de elevar o erro ao quadrado na fórmula. Toda vez que a gente eleva algo ao quadrado, o resultado é uma superfície ",[6867,9402,9404],{"definition":9403},"uma superfície com formato de tigela, um único vale, sem mínimos falsos onde um algoritmo de busca possa ficar preso","convexa",[11,9406,9407,9408,9436,9437,9465,9466,9578],{},"Pra ver isso de um jeito mais limpo, sem a distorção de escala que os dados reais trazem (repara que ",[75,9409,9411,9424],{"className":9410},[78],[75,9412,9414],{"className":9413},[82],[84,9415,9416],{"xmlns":86},[88,9417,9418,9422],{},[91,9419,9420],{},[97,9421,104],{},[140,9423,104],{"encoding":142},[75,9425,9427],{"className":9426,"ariaHidden":108},[147],[75,9428,9430,9433],{"className":9429},[151],[75,9431],{"className":9432,"style":329},[155],[75,9434,104],{"className":9435,"style":205},[160,164]," vai de 0 a 400 e ",[75,9438,9440,9453],{"className":9439},[78],[75,9441,9443],{"className":9442},[82],[84,9444,9445],{"xmlns":86},[88,9446,9447,9451],{},[91,9448,9449],{},[97,9450,112],{},[140,9452,112],{"encoding":142},[75,9454,9456],{"className":9455,"ariaHidden":108},[147],[75,9457,9459,9462],{"className":9458},[151],[75,9460],{"className":9461,"style":284},[155],[75,9463,112],{"className":9464},[160,164]," de -200 a 200 no gráfico acima, o que estica o vale), aqui vai a versão idealizada da mesma forma, só ",[75,9467,9469,9495],{"className":9468},[78],[75,9470,9472],{"className":9471},[82],[84,9473,9474],{"xmlns":86},[88,9475,9476,9492],{},[91,9477,9478,9484,9486],{},[721,9479,9480,9482],{},[97,9481,104],{},[1316,9483,1318],{},[106,9485,136],{},[721,9487,9488,9490],{},[97,9489,112],{},[1316,9491,1318],{},[140,9493,9494],{"encoding":142},"w^2 + b^2",[75,9496,9498,9543],{"className":9497,"ariaHidden":108},[147],[75,9499,9501,9505,9534,9537,9540],{"className":9500},[151],[75,9502],{"className":9503,"style":9504},[155],"height:0.8974em;vertical-align:-0.0833em;",[75,9506,9508,9511],{"className":9507},[160],[75,9509,104],{"className":9510,"style":205},[160,164],[75,9512,9514],{"className":9513},[169],[75,9515,9517],{"className":9516},[173],[75,9518,9520],{"className":9519},[178],[75,9521,9523],{"className":9522,"style":1402},[182],[75,9524,9525,9528],{"style":767},[75,9526],{"className":9527,"style":191},[190],[75,9529,9531],{"className":9530},[195,196,197,198],[75,9532,1318],{"className":9533},[160,198],[75,9535],{"className":9536,"style":270},[241],[75,9538,136],{"className":9539},[274],[75,9541],{"className":9542,"style":270},[241],[75,9544,9546,9549],{"className":9545},[151],[75,9547],{"className":9548,"style":1402},[155],[75,9550,9552,9555],{"className":9551},[160],[75,9553,112],{"className":9554},[160,164],[75,9556,9558],{"className":9557},[169],[75,9559,9561],{"className":9560},[173],[75,9562,9564],{"className":9563},[178],[75,9565,9567],{"className":9566,"style":1402},[182],[75,9568,9569,9572],{"style":767},[75,9570],{"className":9571,"style":191},[190],[75,9573,9575],{"className":9574},[195,196,197,198],[75,9576,1318],{"className":9577},[160,198],", com os dois eixos na mesma escala:",[9580,9581],"cost-surface3d",{":b-max":9582,":b-min":9583,":w-max":9582,":w-min":9583},"20","-20",[11,9585,9586,9587,9590],{},"Por que essa forma importa tanto? Porque uma superfície convexa garante que só existe ",[15,9588,9589],{},"um"," mínimo, o mínimo global. Não tem vale escondido em outro canto pra um algoritmo de busca cair e ficar preso, achando que já chegou no fundo sem ter chegado. Essa garantia é o que torna confiável o próximo passo do curso: um jeito automático de descer até o fundo dessa tigela, sem você precisar arrastar slider a vida inteira.",[289,9592,5960],{"id":5959},[516,9594,9595,9605],{},[519,9596,9597],{},[522,9598,9599,9602],{},[525,9600,9601],{"align":527},"Conceito",[525,9603,9604],{"align":527},"O que ficou estabelecido",[536,9606,9607,9671,9679,9749,9757,9873],{},[522,9608,9609,9612],{},[541,9610,9611],{"align":527},"Função de custo",[541,9613,9614,9670],{"align":527},[75,9615,9617,9640],{"className":9616},[78],[75,9618,9620],{"className":9619},[82],[84,9621,9622],{"xmlns":86},[88,9623,9624,9638],{},[91,9625,9626,9628,9630,9632,9634,9636],{},[97,9627,5374],{},[106,9629,116],{"stretchy":115},[97,9631,104],{},[106,9633,109],{"separator":108},[97,9635,112],{},[106,9637,122],{"stretchy":115},[140,9639,5387],{"encoding":142},[75,9641,9643],{"className":9642,"ariaHidden":108},[147],[75,9644,9646,9649,9652,9655,9658,9661,9664,9667],{"className":9645},[151],[75,9647],{"className":9648,"style":2081},[155],[75,9650,5374],{"className":9651,"style":5400},[160,164],[75,9653,116],{"className":9654},[230],[75,9656,104],{"className":9657,"style":205},[160,164],[75,9659,109],{"className":9660},[209],[75,9662],{"className":9663,"style":263},[241],[75,9665,112],{"className":9666},[160,164],[75,9668,122],{"className":9669},[237],", um número que mede o quanto as previsões erram os dados de treino",[522,9672,9673,9676],{},[541,9674,9675],{"align":527},"Por que ao quadrado",[541,9677,9678],{"align":527},"remove o sinal do erro e pune fortemente erros grandes, além de garantir uma superfície convexa",[522,9680,9681,9718],{},[541,9682,9683,9684],{"align":527},"Por que ",[75,9685,9687,9703],{"className":9686},[78],[75,9688,9690],{"className":9689},[82],[84,9691,9692],{"xmlns":86},[88,9693,9694,9700],{},[91,9695,9696,9698],{},[1316,9697,1318],{},[97,9699,317],{},[140,9701,9702],{"encoding":142},"2m",[75,9704,9706],{"className":9705,"ariaHidden":108},[147],[75,9707,9709,9712,9715],{"className":9708},[151],[75,9710],{"className":9711,"style":1609},[155],[75,9713,1318],{"className":9714},[160],[75,9716,317],{"className":9717},[160,164],[541,9719,9720,9748],{"align":527},[75,9721,9723,9736],{"className":9722},[78],[75,9724,9726],{"className":9725},[82],[84,9727,9728],{"xmlns":86},[88,9729,9730,9734],{},[91,9731,9732],{},[97,9733,317],{},[140,9735,317],{"encoding":142},[75,9737,9739],{"className":9738,"ariaHidden":108},[147],[75,9740,9742,9745],{"className":9741},[151],[75,9743],{"className":9744,"style":329},[155],[75,9746,317],{"className":9747},[160,164]," transforma soma em média, e o 2 simplifica a conta que vem no próximo post",[522,9750,9751,9754],{},[541,9752,9753],{"align":527},"Formato",[541,9755,9756],{"align":527},"curva em U (um parâmetro) e tigela de sopa (dois parâmetros)",[522,9758,9759,9762],{},[541,9760,9761],{"align":527},"Treinar o modelo",[541,9763,9764,9765,9816,9817],{"align":527},"é achar o par ",[75,9766,9768,9789],{"className":9767},[78],[75,9769,9771],{"className":9770},[82],[84,9772,9773],{"xmlns":86},[88,9774,9775,9787],{},[91,9776,9777,9779,9781,9783,9785],{},[106,9778,116],{"stretchy":115},[97,9780,104],{},[106,9782,109],{"separator":108},[97,9784,112],{},[106,9786,122],{"stretchy":115},[140,9788,5329],{"encoding":142},[75,9790,9792],{"className":9791,"ariaHidden":108},[147],[75,9793,9795,9798,9801,9804,9807,9810,9813],{"className":9794},[151],[75,9796],{"className":9797,"style":2081},[155],[75,9799,116],{"className":9800},[230],[75,9802,104],{"className":9803,"style":205},[160,164],[75,9805,109],{"className":9806},[209],[75,9808],{"className":9809,"style":263},[241],[75,9811,112],{"className":9812},[160,164],[75,9814,122],{"className":9815},[237]," que minimiza ",[75,9818,9820,9843],{"className":9819},[78],[75,9821,9823],{"className":9822},[82],[84,9824,9825],{"xmlns":86},[88,9826,9827,9841],{},[91,9828,9829,9831,9833,9835,9837,9839],{},[97,9830,5374],{},[106,9832,116],{"stretchy":115},[97,9834,104],{},[106,9836,109],{"separator":108},[97,9838,112],{},[106,9840,122],{"stretchy":115},[140,9842,5387],{"encoding":142},[75,9844,9846],{"className":9845,"ariaHidden":108},[147],[75,9847,9849,9852,9855,9858,9861,9864,9867,9870],{"className":9848},[151],[75,9850],{"className":9851,"style":2081},[155],[75,9853,5374],{"className":9854,"style":5400},[160,164],[75,9856,116],{"className":9857},[230],[75,9859,104],{"className":9860,"style":205},[160,164],[75,9862,109],{"className":9863},[209],[75,9865],{"className":9866,"style":263},[241],[75,9868,112],{"className":9869},[160,164],[75,9871,122],{"className":9872},[237],[522,9874,9875,9878],{},[541,9876,9877],{"align":527},"Custo mínimo diferente de zero",[541,9879,9880],{"align":527},"normal quando os dados têm ruído, não é sinal de erro",[11,9882,9883,9887],{},[15,9884,9885,3538],{},[557,9886,6367],{"href":3833}," você já sentiu na mão como é procurar o fundo da tigela arrastando slider. Não escala. O próximo post apresenta o gradiente descendente, um algoritmo que usa a inclinação da superfície de custo pra descer até o fundo sozinho, sem você precisar chutar valor nenhum.",[289,9889,6484],{"id":6483},[11,9891,9892,9893,9896,9897,9900,9901,9904],{},"Mesmo dataset real de imóveis do ",[557,9894,9895],{"href":6760},"post anterior"," (500 casas, ",[557,9898,6493],{"href":6490,"rel":9899},[6492],"). Agora com ",[65,9902,9903],{},"compute_cost"," de verdade.",[2376,9906,9908],{"className":2378,"code":9907,"language":2380,"meta":26,"style":26},"def compute_cost(x, y, w, b):\n    m = x.shape[0]\n    cost_sum = 0\n    for i in range(m):\n        f_wb = w * x[i] + b\n        cost_sum += (f_wb - y[i]) ** 2\n    return (1 \u002F (2 * m)) * cost_sum\n\n# x_sqft já em \"centenas de pés²\", y_price já em \"milhares de dólares\"\n# (mesma amostra de 50 casas do post anterior)\n\nprint(\"custo com um chute ruim, w=50, b=100:\", compute_cost(x_sqft, y_price, 50, 100))\nprint(\"custo perto do ajuste ótimo, w=116, b=399:\", compute_cost(x_sqft, y_price, 116, 399))\n",[65,9909,9910,9914,9918,9922,9926,9931,9936,9941,9945,9950,9955,9959,9964],{"__ignoreMap":26},[75,9911,9912],{"class":2385,"line":33},[75,9913,8455],{},[75,9915,9916],{"class":2385,"line":27},[75,9917,8514],{},[75,9919,9920],{"class":2385,"line":2396},[75,9921,8523],{},[75,9923,9924],{"class":2385,"line":2401},[75,9925,8532],{},[75,9927,9928],{"class":2385,"line":2407},[75,9929,9930],{},"        f_wb = w * x[i] + b\n",[75,9932,9933],{"class":2385,"line":2413},[75,9934,9935],{},"        cost_sum += (f_wb - y[i]) ** 2\n",[75,9937,9938],{"class":2385,"line":2419},[75,9939,9940],{},"    return (1 \u002F (2 * m)) * cost_sum\n",[75,9942,9943],{"class":2385,"line":2425},[75,9944,2422],{"emptyLinePlaceholder":32},[75,9946,9947],{"class":2385,"line":2431},[75,9948,9949],{},"# x_sqft já em \"centenas de pés²\", y_price já em \"milhares de dólares\"\n",[75,9951,9952],{"class":2385,"line":2437},[75,9953,9954],{},"# (mesma amostra de 50 casas do post anterior)\n",[75,9956,9957],{"class":2385,"line":2442},[75,9958,2422],{"emptyLinePlaceholder":32},[75,9960,9961],{"class":2385,"line":2448},[75,9962,9963],{},"print(\"custo com um chute ruim, w=50, b=100:\", compute_cost(x_sqft, y_price, 50, 100))\n",[75,9965,9966],{"class":2385,"line":3918},[75,9967,9968],{},"print(\"custo perto do ajuste ótimo, w=116, b=399:\", compute_cost(x_sqft, y_price, 116, 399))\n",[46,9970,9971],{},[11,9972,9973,1286,9975,9978,9979],{},[15,9974,2458],{},[65,9976,9977],{},"custo com um chute ruim, w=50, b=100: 90317.6"," \u002F ",[65,9980,9981],{},"custo perto do ajuste ótimo, w=116, b=399: 5189.6",[11,9983,9984],{},"Quase 20 vezes menos custo só de acertar melhor os parâmetros. Mexe você mesmo nos sliders e tenta chegar perto desses ~5189 (repara: não dá pra zerar, o mínimo real é isso mesmo, dado real tem ruído):",[9986,9987],"housing-cost-explorer",{},[6712,9989,6714],{},{"title":26,"searchDepth":27,"depth":27,"links":9991},[9992,9993,9994,9995,9996,9997,9998,9999],{"id":7435,"depth":27,"text":7436},{"id":7446,"depth":27,"text":7447},{"id":8444,"depth":27,"text":8445},{"id":8590,"depth":27,"text":8591},{"id":9084,"depth":27,"text":9085},{"id":9396,"depth":27,"text":9397},{"id":5959,"depth":27,"text":5960},{"id":6483,"depth":27,"text":6484},"Como colocar um número no quanto um modelo erra: J(w,b), por que ao quadrado, por que dividir por 2m, e por que a superfície de custo é sempre uma tigela.",{},"\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Flab03-cost-function",{"title":6753,"description":10000},"pt\u002Fplaylists\u002Fmachine-learning-specialization\u002Flab03-cost-function",[10006,10007,6749],"funcao-de-custo","erro-quadratico","k9789tpYfYGNTWE35KZvCQyXFElCaL20opMAjLZWyUI",{"id":10010,"title":10011,"body":10012,"cover":3,"date":6739,"description":14430,"extension":30,"meta":14431,"navigation":32,"order":2396,"path":14432,"playlist":6743,"seo":14433,"status":36,"stem":14434,"tags":14435,"__hash__":14438},"posts\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Flab04-gradient-descent.md","Lab Opcional: Gradiente Descendente",{"type":8,"value":10013,"toc":14416},[10014,10020,10287,10293,10659,10663,10669,10822,10826,10837,11193,11225,11229,11232,11814,12342,12564,12604,12725,12727,12865,12868,13008,13012,13015,13119,13124,13128,13188,13225,13257,13319,13322,13326,13332,13336,13339,13601,13657,13663,13666,13669,13675,13729,13733,13896,13899,13965,13997,14000,14004,14250,14252,14272,14286,14288,14300,14339,14348,14351,14354,14414],[11,10015,10016],{},[57,10017],{"alt":10018,"src":10019},"Meme de pódio olímpico: nos primeiros cinco quadrinhos, o atleta comemora a medalha de ouro com um gráfico de uma tigela bem comportada, de um único fundo, ao lado. No último quadrinho, o pódio de verdade aparece com um gráfico de uma curva cheia de vales, e quem ganha o ouro, a prata ou o bronze depende de em qual vale cada um caiu","\u002Fimages\u002Fposts\u002Fmachine-learning-specialization\u002Flab04-gradient-descent\u002Fmeme-gradient-descent.jpg",[11,10021,10022,10023,1286,10026,10174,10175,499,10178,10234,10235,10286],{},"Resumindo os dois posts anteriores: você ",[557,10024,10025],{"href":6760},"montou o modelo",[75,10027,10029,10068],{"className":10028},[78],[75,10030,10032],{"className":10031},[82],[84,10033,10034],{"xmlns":86},[88,10035,10036,10066],{},[91,10037,10038,10050,10052,10054,10056,10058,10060,10062,10064],{},[94,10039,10040,10042],{},[97,10041,99],{},[91,10043,10044,10046,10048],{},[97,10045,104],{},[106,10047,109],{"separator":108},[97,10049,112],{},[106,10051,116],{"stretchy":115},[97,10053,119],{},[106,10055,122],{"stretchy":115},[106,10057,125],{},[97,10059,104],{},[97,10061,119],{},[106,10063,136],{},[97,10065,112],{},[140,10067,382],{"encoding":142},[75,10069,10071,10144,10165],{"className":10070,"ariaHidden":108},[147],[75,10072,10074,10077,10126,10129,10132,10135,10138,10141],{"className":10073},[151],[75,10075],{"className":10076,"style":156},[155],[75,10078,10080,10083],{"className":10079},[160],[75,10081,99],{"className":10082,"style":165},[160,164],[75,10084,10086],{"className":10085},[169],[75,10087,10089,10118],{"className":10088},[173,174],[75,10090,10092,10115],{"className":10091},[178],[75,10093,10095],{"className":10094,"style":183},[182],[75,10096,10097,10100],{"style":186},[75,10098],{"className":10099,"style":191},[190],[75,10101,10103],{"className":10102},[195,196,197,198],[75,10104,10106,10109,10112],{"className":10105},[160,198],[75,10107,104],{"className":10108,"style":205},[160,164,198],[75,10110,109],{"className":10111},[209,198],[75,10113,112],{"className":10114},[160,164,198],[75,10116,217],{"className":10117},[216],[75,10119,10121],{"className":10120},[178],[75,10122,10124],{"className":10123,"style":224},[182],[75,10125],{},[75,10127,116],{"className":10128},[230],[75,10130,119],{"className":10131},[160,164],[75,10133,122],{"className":10134},[237],[75,10136],{"className":10137,"style":242},[241],[75,10139,125],{"className":10140},[246],[75,10142],{"className":10143,"style":242},[241],[75,10145,10147,10150,10153,10156,10159,10162],{"className":10146},[151],[75,10148],{"className":10149,"style":256},[155],[75,10151,104],{"className":10152,"style":205},[160,164],[75,10154,119],{"className":10155},[160,164],[75,10157],{"className":10158,"style":270},[241],[75,10160,136],{"className":10161},[274],[75,10163],{"className":10164,"style":270},[241],[75,10166,10168,10171],{"className":10167},[151],[75,10169],{"className":10170,"style":284},[155],[75,10172,112],{"className":10173},[160,164],", depois ",[557,10176,10177],{"href":3829},"montou um jeito de medir o quanto ele erra",[75,10179,10181,10204],{"className":10180},[78],[75,10182,10184],{"className":10183},[82],[84,10185,10186],{"xmlns":86},[88,10187,10188,10202],{},[91,10189,10190,10192,10194,10196,10198,10200],{},[97,10191,5374],{},[106,10193,116],{"stretchy":115},[97,10195,104],{},[106,10197,109],{"separator":108},[97,10199,112],{},[106,10201,122],{"stretchy":115},[140,10203,5387],{"encoding":142},[75,10205,10207],{"className":10206,"ariaHidden":108},[147],[75,10208,10210,10213,10216,10219,10222,10225,10228,10231],{"className":10209},[151],[75,10211],{"className":10212,"style":2081},[155],[75,10214,5374],{"className":10215,"style":5400},[160,164],[75,10217,116],{"className":10218},[230],[75,10220,104],{"className":10221,"style":205},[160,164],[75,10223,109],{"className":10224},[209],[75,10226],{"className":10227,"style":263},[241],[75,10229,112],{"className":10230},[160,164],[75,10232,122],{"className":10233},[237],". Só que pra achar o melhor ",[75,10236,10238,10259],{"className":10237},[78],[75,10239,10241],{"className":10240},[82],[84,10242,10243],{"xmlns":86},[88,10244,10245,10257],{},[91,10246,10247,10249,10251,10253,10255],{},[106,10248,116],{"stretchy":115},[97,10250,104],{},[106,10252,109],{"separator":108},[97,10254,112],{},[106,10256,122],{"stretchy":115},[140,10258,5329],{"encoding":142},[75,10260,10262],{"className":10261,"ariaHidden":108},[147],[75,10263,10265,10268,10271,10274,10277,10280,10283],{"className":10264},[151],[75,10266],{"className":10267,"style":2081},[155],[75,10269,116],{"className":10270},[230],[75,10272,104],{"className":10273,"style":205},[160,164],[75,10275,109],{"className":10276},[209],[75,10278],{"className":10279,"style":263},[241],[75,10281,112],{"className":10282},[160,164],[75,10284,122],{"className":10285},[237]," você ainda tava fazendo a coisa mais primitiva possível: arrastando slider e olhando o número cair. Funciona pra 2 pontos. Pra um dataset de verdade, com milhares de exemplos e dezenas de parâmetros, é impossível.",[11,10288,10289,10290,1613],{},"Esse post fecha o ciclo com o algoritmo que faz essa busca sozinho: o ",[6867,10291,3834],{"definition":10292},"um algoritmo que ajusta os parâmetros do modelo passo a passo, sempre na direção que mais reduz o custo, até parar perto do mínimo",[11,10294,10295],{},[75,10296,10298,10384],{"className":10297},[78],[75,10299,10301],{"className":10300},[82],[84,10302,10303],{"xmlns":86},[88,10304,10305,10381],{},[91,10306,10307,10309,10311,10313,10315,10318,10344,10347,10349,10351,10353,10355,10357],{},[97,10308,104],{},[106,10310,125],{},[97,10312,104],{},[106,10314,4410],{},[97,10316,10317],{},"α",[4392,10319,10320,10338],{},[91,10321,10322,10326,10328,10330,10332,10334,10336],{},[97,10323,10325],{"mathvariant":10324},"normal","∂",[97,10327,5374],{},[106,10329,116],{"stretchy":115},[97,10331,104],{},[106,10333,109],{"separator":108},[97,10335,112],{},[106,10337,122],{"stretchy":115},[91,10339,10340,10342],{},[97,10341,10325],{"mathvariant":10324},[97,10343,104],{},[241,10345],{"width":10346},"2em",[97,10348,112],{},[106,10350,125],{},[97,10352,112],{},[106,10354,4410],{},[97,10356,10317],{},[4392,10358,10359,10375],{},[91,10360,10361,10363,10365,10367,10369,10371,10373],{},[97,10362,10325],{"mathvariant":10324},[97,10364,5374],{},[106,10366,116],{"stretchy":115},[97,10368,104],{},[106,10370,109],{"separator":108},[97,10372,112],{},[106,10374,122],{"stretchy":115},[91,10376,10377,10379],{},[97,10378,10325],{"mathvariant":10324},[97,10380,112],{},[140,10382,10383],{"encoding":142},"w = w - \\alpha \\frac{\\partial J(w,b)}{\\partial w} \\qquad b = b - \\alpha \\frac{\\partial J(w,b)}{\\partial b}",[75,10385,10387,10405,10423,10542,10561],{"className":10386,"ariaHidden":108},[147],[75,10388,10390,10393,10396,10399,10402],{"className":10389},[151],[75,10391],{"className":10392,"style":329},[155],[75,10394,104],{"className":10395,"style":205},[160,164],[75,10397],{"className":10398,"style":242},[241],[75,10400,125],{"className":10401},[246],[75,10403],{"className":10404,"style":242},[241],[75,10406,10408,10411,10414,10417,10420],{"className":10407},[151],[75,10409],{"className":10410,"style":256},[155],[75,10412,104],{"className":10413,"style":205},[160,164],[75,10415],{"className":10416,"style":270},[241],[75,10418,4410],{"className":10419},[274],[75,10421],{"className":10422,"style":270},[241],[75,10424,10426,10430,10434,10526,10530,10533,10536,10539],{"className":10425},[151],[75,10427],{"className":10428,"style":10429},[155],"height:1.355em;vertical-align:-0.345em;",[75,10431,10317],{"className":10432,"style":10433},[160,164],"margin-right:0.0037em;",[75,10435,10437,10440,10523],{"className":10436},[160],[75,10438],{"className":10439},[230,4513],[75,10441,10443],{"className":10442},[4392],[75,10444,10446,10515],{"className":10445},[173,174],[75,10447,10449,10512],{"className":10448},[178],[75,10450,10453,10471,10479],{"className":10451,"style":10452},[182],"height:1.01em;",[75,10454,10455,10458],{"style":4780},[75,10456],{"className":10457,"style":4533},[190],[75,10459,10461],{"className":10460},[195,196,197,198],[75,10462,10464,10468],{"className":10463},[160,198],[75,10465,10325],{"className":10466,"style":10467},[160,198],"margin-right:0.0556em;",[75,10469,104],{"className":10470,"style":205},[160,164,198],[75,10472,10473,10476],{"style":4626},[75,10474],{"className":10475,"style":4533},[190],[75,10477],{"className":10478,"style":4634},[4633],[75,10480,10482,10485],{"style":10481},"top:-3.485em;",[75,10483],{"className":10484,"style":4533},[190],[75,10486,10488],{"className":10487},[195,196,197,198],[75,10489,10491,10494,10497,10500,10503,10506,10509],{"className":10490},[160,198],[75,10492,10325],{"className":10493,"style":10467},[160,198],[75,10495,5374],{"className":10496,"style":5400},[160,164,198],[75,10498,116],{"className":10499},[230,198],[75,10501,104],{"className":10502,"style":205},[160,164,198],[75,10504,109],{"className":10505},[209,198],[75,10507,112],{"className":10508},[160,164,198],[75,10510,122],{"className":10511},[237,198],[75,10513,217],{"className":10514},[216],[75,10516,10518],{"className":10517},[178],[75,10519,10521],{"className":10520,"style":7154},[182],[75,10522],{},[75,10524],{"className":10525},[237,4513],[75,10527],{"className":10528,"style":10529},[241],"margin-right:2em;",[75,10531,112],{"className":10532},[160,164],[75,10534],{"className":10535,"style":242},[241],[75,10537,125],{"className":10538},[246],[75,10540],{"className":10541,"style":242},[241],[75,10543,10545,10549,10552,10555,10558],{"className":10544},[151],[75,10546],{"className":10547,"style":10548},[155],"height:0.7778em;vertical-align:-0.0833em;",[75,10550,112],{"className":10551},[160,164],[75,10553],{"className":10554,"style":270},[241],[75,10556,4410],{"className":10557},[274],[75,10559],{"className":10560,"style":270},[241],[75,10562,10564,10567,10570],{"className":10563},[151],[75,10565],{"className":10566,"style":10429},[155],[75,10568,10317],{"className":10569,"style":10433},[160,164],[75,10571,10573,10576,10656],{"className":10572},[160],[75,10574],{"className":10575},[230,4513],[75,10577,10579],{"className":10578},[4392],[75,10580,10582,10648],{"className":10581},[173,174],[75,10583,10585,10645],{"className":10584},[178],[75,10586,10588,10605,10613],{"className":10587,"style":10452},[182],[75,10589,10590,10593],{"style":4780},[75,10591],{"className":10592,"style":4533},[190],[75,10594,10596],{"className":10595},[195,196,197,198],[75,10597,10599,10602],{"className":10598},[160,198],[75,10600,10325],{"className":10601,"style":10467},[160,198],[75,10603,112],{"className":10604},[160,164,198],[75,10606,10607,10610],{"style":4626},[75,10608],{"className":10609,"style":4533},[190],[75,10611],{"className":10612,"style":4634},[4633],[75,10614,10615,10618],{"style":10481},[75,10616],{"className":10617,"style":4533},[190],[75,10619,10621],{"className":10620},[195,196,197,198],[75,10622,10624,10627,10630,10633,10636,10639,10642],{"className":10623},[160,198],[75,10625,10325],{"className":10626,"style":10467},[160,198],[75,10628,5374],{"className":10629,"style":5400},[160,164,198],[75,10631,116],{"className":10632},[230,198],[75,10634,104],{"className":10635,"style":205},[160,164,198],[75,10637,109],{"className":10638},[209,198],[75,10640,112],{"className":10641},[160,164,198],[75,10643,122],{"className":10644},[237,198],[75,10646,217],{"className":10647},[216],[75,10649,10651],{"className":10650},[178],[75,10652,10654],{"className":10653,"style":7154},[182],[75,10655],{},[75,10657],{"className":10658},[237,4513],[289,10660,10662],{"id":10661},"a-ideia-em-uma-frase","A ideia em uma frase",[11,10664,10665,10666,10668],{},"Lembra da tigela de sopa do ",[557,10667,8582],{"href":3829},"? O gradiente descendente é literalmente isso: você começa em algum ponto qualquer da tigela e dá passos ladeira abaixo, sempre na direção que desce mais rápido, até chegar perto do fundo.",[11,10670,10671,10672,10786,10787,10816,10817,10821],{},"O \"sentir qual direção desce mais rápido\" é o trabalho da derivada, aquele ",[75,10673,10675,10701],{"className":10674},[78],[75,10676,10678],{"className":10677},[82],[84,10679,10680],{"xmlns":86},[88,10681,10682,10698],{},[91,10683,10684],{},[4392,10685,10686,10692],{},[91,10687,10688,10690],{},[97,10689,10325],{"mathvariant":10324},[97,10691,5374],{},[91,10693,10694,10696],{},[97,10695,10325],{"mathvariant":10324},[97,10697,104],{},[140,10699,10700],{"encoding":142},"\\frac{\\partial J}{\\partial w}",[75,10702,10704],{"className":10703,"ariaHidden":108},[147],[75,10705,10707,10711],{"className":10706},[151],[75,10708],{"className":10709,"style":10710},[155],"height:1.2251em;vertical-align:-0.345em;",[75,10712,10714,10717,10783],{"className":10713},[160],[75,10715],{"className":10716},[230,4513],[75,10718,10720],{"className":10719},[4392],[75,10721,10723,10775],{"className":10722},[173,174],[75,10724,10726,10772],{"className":10725},[178],[75,10727,10730,10747,10755],{"className":10728,"style":10729},[182],"height:0.8801em;",[75,10731,10732,10735],{"style":4780},[75,10733],{"className":10734,"style":4533},[190],[75,10736,10738],{"className":10737},[195,196,197,198],[75,10739,10741,10744],{"className":10740},[160,198],[75,10742,10325],{"className":10743,"style":10467},[160,198],[75,10745,104],{"className":10746,"style":205},[160,164,198],[75,10748,10749,10752],{"style":4626},[75,10750],{"className":10751,"style":4533},[190],[75,10753],{"className":10754,"style":4634},[4633],[75,10756,10757,10760],{"style":4809},[75,10758],{"className":10759,"style":4533},[190],[75,10761,10763],{"className":10762},[195,196,197,198],[75,10764,10766,10769],{"className":10765},[160,198],[75,10767,10325],{"className":10768,"style":10467},[160,198],[75,10770,5374],{"className":10771,"style":5400},[160,164,198],[75,10773,217],{"className":10774},[216],[75,10776,10778],{"className":10777},[178],[75,10779,10781],{"className":10780,"style":7154},[182],[75,10782],{},[75,10784],{"className":10785},[237,4513]," na fórmula. Ela é a inclinação da superfície de custo naquele ponto específico. E ",[75,10788,10790,10804],{"className":10789},[78],[75,10791,10793],{"className":10792},[82],[84,10794,10795],{"xmlns":86},[88,10796,10797,10801],{},[91,10798,10799],{},[97,10800,10317],{},[140,10802,10803],{"encoding":142},"\\alpha",[75,10805,10807],{"className":10806,"ariaHidden":108},[147],[75,10808,10810,10813],{"className":10809},[151],[75,10811],{"className":10812,"style":329},[155],[75,10814,10317],{"className":10815,"style":10433},[160,164]," (",[6867,10818,10820],{"definition":10819},"a letra grega usada pra taxa de aprendizado, o tamanho do passo que o algoritmo dá a cada iteração","alfa",") é o tamanho do passo que você dá cada vez.",[289,10823,10825],{"id":10824},"por-que-subtrair-a-derivada","Por que subtrair a derivada",[11,10827,10828,10829,10832,10833,10836],{},"A derivada aponta pra onde o custo ",[15,10830,10831],{},"cresce",". Como você quer o custo menor, você anda pro lado ",[15,10834,10835],{},"oposto"," ao que ela aponta. Daí o sinal de menos na fórmula.",[516,10838,10839,10991],{},[519,10840,10841],{},[522,10842,10843,10846,10849],{},[525,10844,10845],{"align":527},"Situação",[525,10847,10848],{"align":1648},"Sinal da derivada",[525,10850,10851,10852],{"align":527},"O que acontece com ",[75,10853,10855,10887],{"className":10854},[78],[75,10856,10858],{"className":10857},[82],[84,10859,10860],{"xmlns":86},[88,10861,10862,10884],{},[91,10863,10864,10866,10868,10870],{},[97,10865,104],{},[106,10867,4410],{},[97,10869,10317],{},[4392,10871,10872,10878],{},[91,10873,10874,10876],{},[97,10875,10325],{"mathvariant":10324},[97,10877,5374],{},[91,10879,10880,10882],{},[97,10881,10325],{"mathvariant":10324},[97,10883,104],{},[140,10885,10886],{"encoding":142},"w - \\alpha \\frac{\\partial J}{\\partial w}",[75,10888,10890,10908],{"className":10889,"ariaHidden":108},[147],[75,10891,10893,10896,10899,10902,10905],{"className":10892},[151],[75,10894],{"className":10895,"style":256},[155],[75,10897,104],{"className":10898,"style":205},[160,164],[75,10900],{"className":10901,"style":270},[241],[75,10903,4410],{"className":10904},[274],[75,10906],{"className":10907,"style":270},[241],[75,10909,10911,10914,10917],{"className":10910},[151],[75,10912],{"className":10913,"style":10710},[155],[75,10915,10317],{"className":10916,"style":10433},[160,164],[75,10918,10920,10923,10988],{"className":10919},[160],[75,10921],{"className":10922},[230,4513],[75,10924,10926],{"className":10925},[4392],[75,10927,10929,10980],{"className":10928},[173,174],[75,10930,10932,10977],{"className":10931},[178],[75,10933,10935,10952,10960],{"className":10934,"style":10729},[182],[75,10936,10937,10940],{"style":4780},[75,10938],{"className":10939,"style":4533},[190],[75,10941,10943],{"className":10942},[195,196,197,198],[75,10944,10946,10949],{"className":10945},[160,198],[75,10947,10325],{"className":10948,"style":10467},[160,198],[75,10950,104],{"className":10951,"style":205},[160,164,198],[75,10953,10954,10957],{"style":4626},[75,10955],{"className":10956,"style":4533},[190],[75,10958],{"className":10959,"style":4634},[4633],[75,10961,10962,10965],{"style":4809},[75,10963],{"className":10964,"style":4533},[190],[75,10966,10968],{"className":10967},[195,196,197,198],[75,10969,10971,10974],{"className":10970},[160,198],[75,10972,10325],{"className":10973,"style":10467},[160,198],[75,10975,5374],{"className":10976,"style":5400},[160,164,198],[75,10978,217],{"className":10979},[216],[75,10981,10983],{"className":10982},[178],[75,10984,10986],{"className":10985,"style":7154},[182],[75,10987],{},[75,10989],{"className":10990},[237,4513],[536,10992,10993,11060,11127],{},[522,10994,10995,11026,11029],{},[541,10996,10997,11025],{"align":527},[75,10998,11000,11013],{"className":10999},[78],[75,11001,11003],{"className":11002},[82],[84,11004,11005],{"xmlns":86},[88,11006,11007,11011],{},[91,11008,11009],{},[97,11010,104],{},[140,11012,104],{"encoding":142},[75,11014,11016],{"className":11015,"ariaHidden":108},[147],[75,11017,11019,11022],{"className":11018},[151],[75,11020],{"className":11021,"style":329},[155],[75,11023,104],{"className":11024,"style":205},[160,164]," está à direita do mínimo",[541,11027,11028],{"align":1648},"positivo",[541,11030,11031,11059],{"align":527},[75,11032,11034,11047],{"className":11033},[78],[75,11035,11037],{"className":11036},[82],[84,11038,11039],{"xmlns":86},[88,11040,11041,11045],{},[91,11042,11043],{},[97,11044,104],{},[140,11046,104],{"encoding":142},[75,11048,11050],{"className":11049,"ariaHidden":108},[147],[75,11051,11053,11056],{"className":11052},[151],[75,11054],{"className":11055,"style":329},[155],[75,11057,104],{"className":11058,"style":205},[160,164]," diminui, anda pra esquerda",[522,11061,11062,11093,11096],{},[541,11063,11064,11092],{"align":527},[75,11065,11067,11080],{"className":11066},[78],[75,11068,11070],{"className":11069},[82],[84,11071,11072],{"xmlns":86},[88,11073,11074,11078],{},[91,11075,11076],{},[97,11077,104],{},[140,11079,104],{"encoding":142},[75,11081,11083],{"className":11082,"ariaHidden":108},[147],[75,11084,11086,11089],{"className":11085},[151],[75,11087],{"className":11088,"style":329},[155],[75,11090,104],{"className":11091,"style":205},[160,164]," está à esquerda do mínimo",[541,11094,11095],{"align":1648},"negativo",[541,11097,11098,11126],{"align":527},[75,11099,11101,11114],{"className":11100},[78],[75,11102,11104],{"className":11103},[82],[84,11105,11106],{"xmlns":86},[88,11107,11108,11112],{},[91,11109,11110],{},[97,11111,104],{},[140,11113,104],{"encoding":142},[75,11115,11117],{"className":11116,"ariaHidden":108},[147],[75,11118,11120,11123],{"className":11119},[151],[75,11121],{"className":11122,"style":329},[155],[75,11124,104],{"className":11125,"style":205},[160,164]," aumenta, anda pra direita",[522,11128,11129,11160,11162],{},[541,11130,11131,11159],{"align":527},[75,11132,11134,11147],{"className":11133},[78],[75,11135,11137],{"className":11136},[82],[84,11138,11139],{"xmlns":86},[88,11140,11141,11145],{},[91,11142,11143],{},[97,11144,104],{},[140,11146,104],{"encoding":142},[75,11148,11150],{"className":11149,"ariaHidden":108},[147],[75,11151,11153,11156],{"className":11152},[151],[75,11154],{"className":11155,"style":329},[155],[75,11157,104],{"className":11158,"style":205},[160,164]," está exatamente no mínimo",[541,11161,2656],{"align":1648},[541,11163,11164,11192],{"align":527},[75,11165,11167,11180],{"className":11166},[78],[75,11168,11170],{"className":11169},[82],[84,11171,11172],{"xmlns":86},[88,11173,11174,11178],{},[91,11175,11176],{},[97,11177,104],{},[140,11179,104],{"encoding":142},[75,11181,11183],{"className":11182,"ariaHidden":108},[147],[75,11184,11186,11189],{"className":11185},[151],[75,11187],{"className":11188,"style":329},[155],[75,11190,104],{"className":11191,"style":205},[160,164]," não muda mais, o algoritmo parou sozinho",[11,11194,11195,11196,11224],{},"Repara na última linha: o algoritmo não precisa de um \"se chegou no mínimo, para\". Ele simplesmente para de se mexer sozinho, porque a derivada zera. E como a derivada vai encolhendo conforme você se aproxima do fundo, os passos também vão ficando menores por conta própria, mesmo com ",[75,11197,11199,11212],{"className":11198},[78],[75,11200,11202],{"className":11201},[82],[84,11203,11204],{"xmlns":86},[88,11205,11206,11210],{},[91,11207,11208],{},[97,11209,10317],{},[140,11211,10803],{"encoding":142},[75,11213,11215],{"className":11214,"ariaHidden":108},[147],[75,11216,11218,11221],{"className":11217},[151],[75,11219],{"className":11220,"style":329},[155],[75,11222,10317],{"className":11223,"style":10433},[160,164]," fixo. Isso é de graça, não é algo que você programa à parte.",[289,11226,11228],{"id":11227},"as-duas-derivadas-parciais","As duas derivadas parciais",[11,11230,11231],{},"Pra regressão linear com uma variável, a matemática dá nessas duas fórmulas (eu não precisei decorar a dedução, só entender o padrão):",[11,11233,11234],{},[75,11235,11237,11361],{"className":11236},[78],[75,11238,11240],{"className":11239},[82],[84,11241,11242],{"xmlns":86},[88,11243,11244,11358],{},[91,11245,11246,11270,11272,11278,11298,11346],{},[4392,11247,11248,11264],{},[91,11249,11250,11252,11254,11256,11258,11260,11262],{},[97,11251,10325],{"mathvariant":10324},[97,11253,5374],{},[106,11255,116],{"stretchy":115},[97,11257,104],{},[106,11259,109],{"separator":108},[97,11261,112],{},[106,11263,122],{"stretchy":115},[91,11265,11266,11268],{},[97,11267,10325],{"mathvariant":10324},[97,11269,104],{},[106,11271,125],{},[4392,11273,11274,11276],{},[1316,11275,1578],{},[97,11277,317],{},[6966,11279,11280,11282,11290],{},[106,11281,6970],{},[91,11283,11284,11286,11288],{},[97,11285,731],{},[106,11287,125],{},[1316,11289,1835],{},[91,11291,11292,11294,11296],{},[97,11293,317],{},[106,11295,4410],{},[1316,11297,1578],{},[91,11299,11300,11302,11314,11316,11328,11330,11332,11344],{},[106,11301,116],{"fence":108},[94,11303,11304,11306],{},[97,11305,99],{},[91,11307,11308,11310,11312],{},[97,11309,104],{},[106,11311,109],{"separator":108},[97,11313,112],{},[106,11315,116],{"stretchy":115},[721,11317,11318,11320],{},[97,11319,119],{},[91,11321,11322,11324,11326],{},[106,11323,116],{"stretchy":115},[97,11325,731],{},[106,11327,122],{"stretchy":115},[106,11329,122],{"stretchy":115},[106,11331,4410],{},[721,11333,11334,11336],{},[97,11335,678],{},[91,11337,11338,11340,11342],{},[106,11339,116],{"stretchy":115},[97,11341,731],{},[106,11343,122],{"stretchy":115},[106,11345,122],{"fence":108},[721,11347,11348,11350],{},[97,11349,119],{},[91,11351,11352,11354,11356],{},[106,11353,116],{"stretchy":115},[97,11355,731],{},[106,11357,122],{"stretchy":115},[140,11359,11360],{"encoding":142},"\\frac{\\partial J(w,b)}{\\partial w} = \\frac{1}{m} \\sum_{i=0}^{m-1} \\left(f_{w,b}(x^{(i)}) - y^{(i)}\\right) x^{(i)}",[75,11362,11364,11468],{"className":11363,"ariaHidden":108},[147],[75,11365,11367,11370,11459,11462,11465],{"className":11366},[151],[75,11368],{"className":11369,"style":10429},[155],[75,11371,11373,11376,11456],{"className":11372},[160],[75,11374],{"className":11375},[230,4513],[75,11377,11379],{"className":11378},[4392],[75,11380,11382,11448],{"className":11381},[173,174],[75,11383,11385,11445],{"className":11384},[178],[75,11386,11388,11405,11413],{"className":11387,"style":10452},[182],[75,11389,11390,11393],{"style":4780},[75,11391],{"className":11392,"style":4533},[190],[75,11394,11396],{"className":11395},[195,196,197,198],[75,11397,11399,11402],{"className":11398},[160,198],[75,11400,10325],{"className":11401,"style":10467},[160,198],[75,11403,104],{"className":11404,"style":205},[160,164,198],[75,11406,11407,11410],{"style":4626},[75,11408],{"className":11409,"style":4533},[190],[75,11411],{"className":11412,"style":4634},[4633],[75,11414,11415,11418],{"style":10481},[75,11416],{"className":11417,"style":4533},[190],[75,11419,11421],{"className":11420},[195,196,197,198],[75,11422,11424,11427,11430,11433,11436,11439,11442],{"className":11423},[160,198],[75,11425,10325],{"className":11426,"style":10467},[160,198],[75,11428,5374],{"className":11429,"style":5400},[160,164,198],[75,11431,116],{"className":11432},[230,198],[75,11434,104],{"className":11435,"style":205},[160,164,198],[75,11437,109],{"className":11438},[209,198],[75,11440,112],{"className":11441},[160,164,198],[75,11443,122],{"className":11444},[237,198],[75,11446,217],{"className":11447},[216],[75,11449,11451],{"className":11450},[178],[75,11452,11454],{"className":11453,"style":7154},[182],[75,11455],{},[75,11457],{"className":11458},[237,4513],[75,11460],{"className":11461,"style":242},[241],[75,11463,125],{"className":11464},[246],[75,11466],{"className":11467,"style":242},[241],[75,11469,11471,11475,11543,11546,11615,11618,11773,11776],{"className":11470},[151],[75,11472],{"className":11473,"style":11474},[155],"height:1.304em;vertical-align:-0.35em;",[75,11476,11478,11481,11540],{"className":11477},[160],[75,11479],{"className":11480},[230,4513],[75,11482,11484],{"className":11483},[4392],[75,11485,11487,11532],{"className":11486},[173,174],[75,11488,11490,11529],{"className":11489},[178],[75,11491,11493,11507,11515],{"className":11492,"style":4777},[182],[75,11494,11495,11498],{"style":4780},[75,11496],{"className":11497,"style":4533},[190],[75,11499,11501],{"className":11500},[195,196,197,198],[75,11502,11504],{"className":11503},[160,198],[75,11505,317],{"className":11506},[160,164,198],[75,11508,11509,11512],{"style":4626},[75,11510],{"className":11511,"style":4533},[190],[75,11513],{"className":11514,"style":4634},[4633],[75,11516,11517,11520],{"style":4809},[75,11518],{"className":11519,"style":4533},[190],[75,11521,11523],{"className":11522},[195,196,197,198],[75,11524,11526],{"className":11525},[160,198],[75,11527,1578],{"className":11528},[160,198],[75,11530,217],{"className":11531},[216],[75,11533,11535],{"className":11534},[178],[75,11536,11538],{"className":11537,"style":7154},[182],[75,11539],{},[75,11541],{"className":11542},[237,4513],[75,11544],{"className":11545,"style":263},[241],[75,11547,11549,11552],{"className":11548},[7166],[75,11550,6970],{"className":11551,"style":7172},[7166,7170,7171],[75,11553,11555],{"className":11554},[169],[75,11556,11558,11607],{"className":11557},[173,174],[75,11559,11561,11604],{"className":11560},[178],[75,11562,11564,11584],{"className":11563,"style":7185},[182],[75,11565,11566,11569],{"style":7188},[75,11567],{"className":11568,"style":191},[190],[75,11570,11572],{"className":11571},[195,196,197,198],[75,11573,11575,11578,11581],{"className":11574},[160,198],[75,11576,731],{"className":11577},[160,164,198],[75,11579,125],{"className":11580},[246,198],[75,11582,1835],{"className":11583},[160,198],[75,11585,11586,11589],{"style":7209},[75,11587],{"className":11588,"style":191},[190],[75,11590,11592],{"className":11591},[195,196,197,198],[75,11593,11595,11598,11601],{"className":11594},[160,198],[75,11596,317],{"className":11597},[160,164,198],[75,11599,4410],{"className":11600},[274,198],[75,11602,1578],{"className":11603},[160,198],[75,11605,217],{"className":11606},[216],[75,11608,11610],{"className":11609},[178],[75,11611,11613],{"className":11612,"style":7237},[182],[75,11614],{},[75,11616],{"className":11617,"style":263},[241],[75,11619,11621,11627,11676,11679,11717,11720,11723,11726,11729,11767],{"className":11620},[7246],[75,11622,11624],{"className":11623,"style":7254},[230,7253],[75,11625,116],{"className":11626},[7258,4570],[75,11628,11630,11633],{"className":11629},[160],[75,11631,99],{"className":11632,"style":165},[160,164],[75,11634,11636],{"className":11635},[169],[75,11637,11639,11668],{"className":11638},[173,174],[75,11640,11642,11665],{"className":11641},[178],[75,11643,11645],{"className":11644,"style":183},[182],[75,11646,11647,11650],{"style":186},[75,11648],{"className":11649,"style":191},[190],[75,11651,11653],{"className":11652},[195,196,197,198],[75,11654,11656,11659,11662],{"className":11655},[160,198],[75,11657,104],{"className":11658,"style":205},[160,164,198],[75,11660,109],{"className":11661},[209,198],[75,11663,112],{"className":11664},[160,164,198],[75,11666,217],{"className":11667},[216],[75,11669,11671],{"className":11670},[178],[75,11672,11674],{"className":11673,"style":224},[182],[75,11675],{},[75,11677,116],{"className":11678},[230],[75,11680,11682,11685],{"className":11681},[160],[75,11683,119],{"className":11684},[160,164],[75,11686,11688],{"className":11687},[169],[75,11689,11691],{"className":11690},[173],[75,11692,11694],{"className":11693},[178],[75,11695,11697],{"className":11696,"style":746},[182],[75,11698,11699,11702],{"style":767},[75,11700],{"className":11701,"style":191},[190],[75,11703,11705],{"className":11704},[195,196,197,198],[75,11706,11708,11711,11714],{"className":11707},[160,198],[75,11709,116],{"className":11710},[230,198],[75,11712,731],{"className":11713},[160,164,198],[75,11715,122],{"className":11716},[237,198],[75,11718,122],{"className":11719},[237],[75,11721],{"className":11722,"style":270},[241],[75,11724,4410],{"className":11725},[274],[75,11727],{"className":11728,"style":270},[241],[75,11730,11732,11735],{"className":11731},[160],[75,11733,678],{"className":11734,"style":829},[160,164],[75,11736,11738],{"className":11737},[169],[75,11739,11741],{"className":11740},[173],[75,11742,11744],{"className":11743},[178],[75,11745,11747],{"className":11746,"style":746},[182],[75,11748,11749,11752],{"style":767},[75,11750],{"className":11751,"style":191},[190],[75,11753,11755],{"className":11754},[195,196,197,198],[75,11756,11758,11761,11764],{"className":11757},[160,198],[75,11759,116],{"className":11760},[230,198],[75,11762,731],{"className":11763},[160,164,198],[75,11765,122],{"className":11766},[237,198],[75,11768,11770],{"className":11769,"style":7254},[237,7253],[75,11771,122],{"className":11772},[7258,4570],[75,11774],{"className":11775,"style":263},[241],[75,11777,11779,11782],{"className":11778},[160],[75,11780,119],{"className":11781},[160,164],[75,11783,11785],{"className":11784},[169],[75,11786,11788],{"className":11787},[173],[75,11789,11791],{"className":11790},[178],[75,11792,11794],{"className":11793,"style":746},[182],[75,11795,11796,11799],{"style":767},[75,11797],{"className":11798,"style":191},[190],[75,11800,11802],{"className":11801},[195,196,197,198],[75,11803,11805,11808,11811],{"className":11804},[160,198],[75,11806,116],{"className":11807},[230,198],[75,11809,731],{"className":11810},[160,164,198],[75,11812,122],{"className":11813},[237,198],[11,11815,11816],{},[75,11817,11819,11931],{"className":11818},[78],[75,11820,11822],{"className":11821},[82],[84,11823,11824],{"xmlns":86},[88,11825,11826,11928],{},[91,11827,11828,11852,11854,11860,11880],{},[4392,11829,11830,11846],{},[91,11831,11832,11834,11836,11838,11840,11842,11844],{},[97,11833,10325],{"mathvariant":10324},[97,11835,5374],{},[106,11837,116],{"stretchy":115},[97,11839,104],{},[106,11841,109],{"separator":108},[97,11843,112],{},[106,11845,122],{"stretchy":115},[91,11847,11848,11850],{},[97,11849,10325],{"mathvariant":10324},[97,11851,112],{},[106,11853,125],{},[4392,11855,11856,11858],{},[1316,11857,1578],{},[97,11859,317],{},[6966,11861,11862,11864,11872],{},[106,11863,6970],{},[91,11865,11866,11868,11870],{},[97,11867,731],{},[106,11869,125],{},[1316,11871,1835],{},[91,11873,11874,11876,11878],{},[97,11875,317],{},[106,11877,4410],{},[1316,11879,1578],{},[91,11881,11882,11884,11896,11898,11910,11912,11914,11926],{},[106,11883,116],{"fence":108},[94,11885,11886,11888],{},[97,11887,99],{},[91,11889,11890,11892,11894],{},[97,11891,104],{},[106,11893,109],{"separator":108},[97,11895,112],{},[106,11897,116],{"stretchy":115},[721,11899,11900,11902],{},[97,11901,119],{},[91,11903,11904,11906,11908],{},[106,11905,116],{"stretchy":115},[97,11907,731],{},[106,11909,122],{"stretchy":115},[106,11911,122],{"stretchy":115},[106,11913,4410],{},[721,11915,11916,11918],{},[97,11917,678],{},[91,11919,11920,11922,11924],{},[106,11921,116],{"stretchy":115},[97,11923,731],{},[106,11925,122],{"stretchy":115},[106,11927,122],{"fence":108},[140,11929,11930],{"encoding":142},"\\frac{\\partial J(w,b)}{\\partial b} = \\frac{1}{m} \\sum_{i=0}^{m-1} \\left(f_{w,b}(x^{(i)}) - y^{(i)}\\right)",[75,11932,11934,12038],{"className":11933,"ariaHidden":108},[147],[75,11935,11937,11940,12029,12032,12035],{"className":11936},[151],[75,11938],{"className":11939,"style":10429},[155],[75,11941,11943,11946,12026],{"className":11942},[160],[75,11944],{"className":11945},[230,4513],[75,11947,11949],{"className":11948},[4392],[75,11950,11952,12018],{"className":11951},[173,174],[75,11953,11955,12015],{"className":11954},[178],[75,11956,11958,11975,11983],{"className":11957,"style":10452},[182],[75,11959,11960,11963],{"style":4780},[75,11961],{"className":11962,"style":4533},[190],[75,11964,11966],{"className":11965},[195,196,197,198],[75,11967,11969,11972],{"className":11968},[160,198],[75,11970,10325],{"className":11971,"style":10467},[160,198],[75,11973,112],{"className":11974},[160,164,198],[75,11976,11977,11980],{"style":4626},[75,11978],{"className":11979,"style":4533},[190],[75,11981],{"className":11982,"style":4634},[4633],[75,11984,11985,11988],{"style":10481},[75,11986],{"className":11987,"style":4533},[190],[75,11989,11991],{"className":11990},[195,196,197,198],[75,11992,11994,11997,12000,12003,12006,12009,12012],{"className":11993},[160,198],[75,11995,10325],{"className":11996,"style":10467},[160,198],[75,11998,5374],{"className":11999,"style":5400},[160,164,198],[75,12001,116],{"className":12002},[230,198],[75,12004,104],{"className":12005,"style":205},[160,164,198],[75,12007,109],{"className":12008},[209,198],[75,12010,112],{"className":12011},[160,164,198],[75,12013,122],{"className":12014},[237,198],[75,12016,217],{"className":12017},[216],[75,12019,12021],{"className":12020},[178],[75,12022,12024],{"className":12023,"style":7154},[182],[75,12025],{},[75,12027],{"className":12028},[237,4513],[75,12030],{"className":12031,"style":242},[241],[75,12033,125],{"className":12034},[246],[75,12036],{"className":12037,"style":242},[241],[75,12039,12041,12044,12112,12115,12184,12187],{"className":12040},[151],[75,12042],{"className":12043,"style":11474},[155],[75,12045,12047,12050,12109],{"className":12046},[160],[75,12048],{"className":12049},[230,4513],[75,12051,12053],{"className":12052},[4392],[75,12054,12056,12101],{"className":12055},[173,174],[75,12057,12059,12098],{"className":12058},[178],[75,12060,12062,12076,12084],{"className":12061,"style":4777},[182],[75,12063,12064,12067],{"style":4780},[75,12065],{"className":12066,"style":4533},[190],[75,12068,12070],{"className":12069},[195,196,197,198],[75,12071,12073],{"className":12072},[160,198],[75,12074,317],{"className":12075},[160,164,198],[75,12077,12078,12081],{"style":4626},[75,12079],{"className":12080,"style":4533},[190],[75,12082],{"className":12083,"style":4634},[4633],[75,12085,12086,12089],{"style":4809},[75,12087],{"className":12088,"style":4533},[190],[75,12090,12092],{"className":12091},[195,196,197,198],[75,12093,12095],{"className":12094},[160,198],[75,12096,1578],{"className":12097},[160,198],[75,12099,217],{"className":12100},[216],[75,12102,12104],{"className":12103},[178],[75,12105,12107],{"className":12106,"style":7154},[182],[75,12108],{},[75,12110],{"className":12111},[237,4513],[75,12113],{"className":12114,"style":263},[241],[75,12116,12118,12121],{"className":12117},[7166],[75,12119,6970],{"className":12120,"style":7172},[7166,7170,7171],[75,12122,12124],{"className":12123},[169],[75,12125,12127,12176],{"className":12126},[173,174],[75,12128,12130,12173],{"className":12129},[178],[75,12131,12133,12153],{"className":12132,"style":7185},[182],[75,12134,12135,12138],{"style":7188},[75,12136],{"className":12137,"style":191},[190],[75,12139,12141],{"className":12140},[195,196,197,198],[75,12142,12144,12147,12150],{"className":12143},[160,198],[75,12145,731],{"className":12146},[160,164,198],[75,12148,125],{"className":12149},[246,198],[75,12151,1835],{"className":12152},[160,198],[75,12154,12155,12158],{"style":7209},[75,12156],{"className":12157,"style":191},[190],[75,12159,12161],{"className":12160},[195,196,197,198],[75,12162,12164,12167,12170],{"className":12163},[160,198],[75,12165,317],{"className":12166},[160,164,198],[75,12168,4410],{"className":12169},[274,198],[75,12171,1578],{"className":12172},[160,198],[75,12174,217],{"className":12175},[216],[75,12177,12179],{"className":12178},[178],[75,12180,12182],{"className":12181,"style":7237},[182],[75,12183],{},[75,12185],{"className":12186,"style":263},[241],[75,12188,12190,12196,12245,12248,12286,12289,12292,12295,12298,12336],{"className":12189},[7246],[75,12191,12193],{"className":12192,"style":7254},[230,7253],[75,12194,116],{"className":12195},[7258,4570],[75,12197,12199,12202],{"className":12198},[160],[75,12200,99],{"className":12201,"style":165},[160,164],[75,12203,12205],{"className":12204},[169],[75,12206,12208,12237],{"className":12207},[173,174],[75,12209,12211,12234],{"className":12210},[178],[75,12212,12214],{"className":12213,"style":183},[182],[75,12215,12216,12219],{"style":186},[75,12217],{"className":12218,"style":191},[190],[75,12220,12222],{"className":12221},[195,196,197,198],[75,12223,12225,12228,12231],{"className":12224},[160,198],[75,12226,104],{"className":12227,"style":205},[160,164,198],[75,12229,109],{"className":12230},[209,198],[75,12232,112],{"className":12233},[160,164,198],[75,12235,217],{"className":12236},[216],[75,12238,12240],{"className":12239},[178],[75,12241,12243],{"className":12242,"style":224},[182],[75,12244],{},[75,12246,116],{"className":12247},[230],[75,12249,12251,12254],{"className":12250},[160],[75,12252,119],{"className":12253},[160,164],[75,12255,12257],{"className":12256},[169],[75,12258,12260],{"className":12259},[173],[75,12261,12263],{"className":12262},[178],[75,12264,12266],{"className":12265,"style":746},[182],[75,12267,12268,12271],{"style":767},[75,12269],{"className":12270,"style":191},[190],[75,12272,12274],{"className":12273},[195,196,197,198],[75,12275,12277,12280,12283],{"className":12276},[160,198],[75,12278,116],{"className":12279},[230,198],[75,12281,731],{"className":12282},[160,164,198],[75,12284,122],{"className":12285},[237,198],[75,12287,122],{"className":12288},[237],[75,12290],{"className":12291,"style":270},[241],[75,12293,4410],{"className":12294},[274],[75,12296],{"className":12297,"style":270},[241],[75,12299,12301,12304],{"className":12300},[160],[75,12302,678],{"className":12303,"style":829},[160,164],[75,12305,12307],{"className":12306},[169],[75,12308,12310],{"className":12309},[173],[75,12311,12313],{"className":12312},[178],[75,12314,12316],{"className":12315,"style":746},[182],[75,12317,12318,12321],{"style":767},[75,12319],{"className":12320,"style":191},[190],[75,12322,12324],{"className":12323},[195,196,197,198],[75,12325,12327,12330,12333],{"className":12326},[160,198],[75,12328,116],{"className":12329},[230,198],[75,12331,731],{"className":12332},[160,164,198],[75,12334,122],{"className":12335},[237,198],[75,12337,12339],{"className":12338,"style":7254},[237,7253],[75,12340,122],{"className":12341},[7258,4570],[11,12343,12344,12345,12373,12374,12447,12448,12476,12477,12505,12506,12534,12535,12563],{},"Repara que as duas são quase gêmeas: a de ",[75,12346,12348,12361],{"className":12347},[78],[75,12349,12351],{"className":12350},[82],[84,12352,12353],{"xmlns":86},[88,12354,12355,12359],{},[91,12356,12357],{},[97,12358,104],{},[140,12360,104],{"encoding":142},[75,12362,12364],{"className":12363,"ariaHidden":108},[147],[75,12365,12367,12370],{"className":12366},[151],[75,12368],{"className":12369,"style":329},[155],[75,12371,104],{"className":12372,"style":205},[160,164]," tem um ",[75,12375,12377,12400],{"className":12376},[78],[75,12378,12380],{"className":12379},[82],[84,12381,12382],{"xmlns":86},[88,12383,12384,12398],{},[91,12385,12386],{},[721,12387,12388,12390],{},[97,12389,119],{},[91,12391,12392,12394,12396],{},[106,12393,116],{"stretchy":115},[97,12395,731],{},[106,12397,122],{"stretchy":115},[140,12399,736],{"encoding":142},[75,12401,12403],{"className":12402,"ariaHidden":108},[147],[75,12404,12406,12409],{"className":12405},[151],[75,12407],{"className":12408,"style":746},[155],[75,12410,12412,12415],{"className":12411},[160],[75,12413,119],{"className":12414},[160,164],[75,12416,12418],{"className":12417},[169],[75,12419,12421],{"className":12420},[173],[75,12422,12424],{"className":12423},[178],[75,12425,12427],{"className":12426,"style":746},[182],[75,12428,12429,12432],{"style":767},[75,12430],{"className":12431,"style":191},[190],[75,12433,12435],{"className":12434},[195,196,197,198],[75,12436,12438,12441,12444],{"className":12437},[160,198],[75,12439,116],{"className":12440},[230,198],[75,12442,731],{"className":12443},[160,164,198],[75,12445,122],{"className":12446},[237,198]," multiplicando o erro, a de ",[75,12449,12451,12464],{"className":12450},[78],[75,12452,12454],{"className":12453},[82],[84,12455,12456],{"xmlns":86},[88,12457,12458,12462],{},[91,12459,12460],{},[97,12461,112],{},[140,12463,112],{"encoding":142},[75,12465,12467],{"className":12466,"ariaHidden":108},[147],[75,12468,12470,12473],{"className":12469},[151],[75,12471],{"className":12472,"style":284},[155],[75,12474,112],{"className":12475},[160,164]," não. Faz sentido pensando geometricamente: mudar ",[75,12478,12480,12493],{"className":12479},[78],[75,12481,12483],{"className":12482},[82],[84,12484,12485],{"xmlns":86},[88,12486,12487,12491],{},[91,12488,12489],{},[97,12490,104],{},[140,12492,104],{"encoding":142},[75,12494,12496],{"className":12495,"ariaHidden":108},[147],[75,12497,12499,12502],{"className":12498},[151],[75,12500],{"className":12501,"style":329},[155],[75,12503,104],{"className":12504,"style":205},[160,164]," afeta mais forte os exemplos com ",[75,12507,12509,12522],{"className":12508},[78],[75,12510,12512],{"className":12511},[82],[84,12513,12514],{"xmlns":86},[88,12515,12516,12520],{},[91,12517,12518],{},[97,12519,119],{},[140,12521,119],{"encoding":142},[75,12523,12525],{"className":12524,"ariaHidden":108},[147],[75,12526,12528,12531],{"className":12527},[151],[75,12529],{"className":12530,"style":329},[155],[75,12532,119],{"className":12533},[160,164]," grande (a inclinação pesa mais longe da origem), enquanto ",[75,12536,12538,12551],{"className":12537},[78],[75,12539,12541],{"className":12540},[82],[84,12542,12543],{"xmlns":86},[88,12544,12545,12549],{},[91,12546,12547],{},[97,12548,112],{},[140,12550,112],{"encoding":142},[75,12552,12554],{"className":12553,"ariaHidden":108},[147],[75,12555,12557,12560],{"className":12556},[151],[75,12558],{"className":12559,"style":284},[155],[75,12561,112],{"className":12562},[160,164]," desloca a reta inteira igualzinho pra todo mundo.",[11,12565,12566,12567,12600,12601,12603],{},"E aquele \"2\" que a gente colocou em ",[75,12568,12570,12585],{"className":12569},[78],[75,12571,12573],{"className":12572},[82],[84,12574,12575],{"xmlns":86},[88,12576,12577,12583],{},[91,12578,12579,12581],{},[1316,12580,1318],{},[97,12582,317],{},[140,12584,9702],{"encoding":142},[75,12586,12588],{"className":12587,"ariaHidden":108},[147],[75,12589,12591,12594,12597],{"className":12590},[151],[75,12592],{"className":12593,"style":1609},[155],[75,12595,1318],{"className":12596},[160],[75,12598,317],{"className":12599},[160,164]," no ",[557,12602,8582],{"href":3829},", lembra que eu disse que era só pra simplificar conta? É aqui que ele paga a dívida: ao derivar o termo ao quadrado, sobra um fator 2 que cancela exatamente com o 2 do denominador. Sem aquele 2 lá atrás, essas fórmulas aqui teriam um 2 sobrando.",[11,12605,12606,12609,12610,503,12638,12666,12667,12695,12696,12724],{},[15,12607,12608],{},"Atualização simultânea importa."," Você calcula as duas derivadas primeiro, usando os valores atuais de ",[75,12611,12613,12626],{"className":12612},[78],[75,12614,12616],{"className":12615},[82],[84,12617,12618],{"xmlns":86},[88,12619,12620,12624],{},[91,12621,12622],{},[97,12623,104],{},[140,12625,104],{"encoding":142},[75,12627,12629],{"className":12628,"ariaHidden":108},[147],[75,12630,12632,12635],{"className":12631},[151],[75,12633],{"className":12634,"style":329},[155],[75,12636,104],{"className":12637,"style":205},[160,164],[75,12639,12641,12654],{"className":12640},[78],[75,12642,12644],{"className":12643},[82],[84,12645,12646],{"xmlns":86},[88,12647,12648,12652],{},[91,12649,12650],{},[97,12651,112],{},[140,12653,112],{"encoding":142},[75,12655,12657],{"className":12656,"ariaHidden":108},[147],[75,12658,12660,12663],{"className":12659},[151],[75,12661],{"className":12662,"style":284},[155],[75,12664,112],{"className":12665},[160,164],", e só depois troca os dois parâmetros ao mesmo tempo. Usar o ",[75,12668,12670,12683],{"className":12669},[78],[75,12671,12673],{"className":12672},[82],[84,12674,12675],{"xmlns":86},[88,12676,12677,12681],{},[91,12678,12679],{},[97,12680,104],{},[140,12682,104],{"encoding":142},[75,12684,12686],{"className":12685,"ariaHidden":108},[147],[75,12687,12689,12692],{"className":12688},[151],[75,12690],{"className":12691,"style":329},[155],[75,12693,104],{"className":12694,"style":205},[160,164]," novo pra calcular a derivada de ",[75,12697,12699,12712],{"className":12698},[78],[75,12700,12702],{"className":12701},[82],[84,12703,12704],{"xmlns":86},[88,12705,12706,12710],{},[91,12707,12708],{},[97,12709,112],{},[140,12711,112],{"encoding":142},[75,12713,12715],{"className":12714,"ariaHidden":108},[147],[75,12716,12718,12721],{"className":12717},[151],[75,12719],{"className":12720,"style":284},[155],[75,12722,112],{"className":12723},[160,164]," é um erro clássico que muda o comportamento do algoritmo.",[289,12726,8445],{"id":8444},[2376,12728,12730],{"className":2378,"code":12729,"language":2380,"meta":26,"style":26},"def compute_gradient(x, y, w, b):\n    \"\"\"\n    Calcula o gradiente da função de custo para regressão linear.\n\n    Args:\n      x (ndarray (m,)) : dados de entrada, m exemplos\n      y (ndarray (m,)) : valores-alvo\n      w, b (scalar)    : parâmetros do modelo\n\n    Returns:\n      dj_dw (scalar): derivada parcial do custo em relação a w\n      dj_db (scalar): derivada parcial do custo em relação a b\n    \"\"\"\n    m = x.shape[0]\n\n    dj_dw = 0\n    dj_db = 0\n\n    for i in range(m):\n        f_wb = w * x[i] + b\n        dj_dw_i = (f_wb - y[i]) * x[i]   # contribuição do exemplo i pra dj_dw\n        dj_db_i = f_wb - y[i]            # contribuição do exemplo i pra dj_db\n        dj_db += dj_db_i\n        dj_dw += dj_dw_i\n\n    dj_dw = dj_dw \u002F m\n    dj_db = dj_db \u002F m\n\n    return dj_dw, dj_db\n",[65,12731,12732,12737,12741,12746,12750,12754,12758,12762,12766,12770,12774,12779,12784,12788,12792,12796,12801,12806,12810,12814,12818,12823,12828,12833,12838,12842,12848,12854,12859],{"__ignoreMap":26},[75,12733,12734],{"class":2385,"line":33},[75,12735,12736],{},"def compute_gradient(x, y, w, b):\n",[75,12738,12739],{"class":2385,"line":27},[75,12740,3868],{},[75,12742,12743],{"class":2385,"line":2396},[75,12744,12745],{},"    Calcula o gradiente da função de custo para regressão linear.\n",[75,12747,12748],{"class":2385,"line":2401},[75,12749,2422],{"emptyLinePlaceholder":32},[75,12751,12752],{"class":2385,"line":2407},[75,12753,3882],{},[75,12755,12756],{"class":2385,"line":2413},[75,12757,8477],{},[75,12759,12760],{"class":2385,"line":2419},[75,12761,8482],{},[75,12763,12764],{"class":2385,"line":2425},[75,12765,8487],{},[75,12767,12768],{"class":2385,"line":2431},[75,12769,2422],{"emptyLinePlaceholder":32},[75,12771,12772],{"class":2385,"line":2437},[75,12773,3901],{},[75,12775,12776],{"class":2385,"line":2442},[75,12777,12778],{},"      dj_dw (scalar): derivada parcial do custo em relação a w\n",[75,12780,12781],{"class":2385,"line":2448},[75,12782,12783],{},"      dj_db (scalar): derivada parcial do custo em relação a b\n",[75,12785,12786],{"class":2385,"line":3918},[75,12787,3868],{},[75,12789,12790],{"class":2385,"line":3924},[75,12791,8514],{},[75,12793,12794],{"class":2385,"line":3929},[75,12795,2422],{"emptyLinePlaceholder":32},[75,12797,12798],{"class":2385,"line":3935},[75,12799,12800],{},"    dj_dw = 0\n",[75,12802,12803],{"class":2385,"line":3941},[75,12804,12805],{},"    dj_db = 0\n",[75,12807,12808],{"class":2385,"line":3946},[75,12809,2422],{"emptyLinePlaceholder":32},[75,12811,12812],{"class":2385,"line":8535},[75,12813,8532],{},[75,12815,12816],{"class":2385,"line":8541},[75,12817,9930],{},[75,12819,12820],{"class":2385,"line":8547},[75,12821,12822],{},"        dj_dw_i = (f_wb - y[i]) * x[i]   # contribuição do exemplo i pra dj_dw\n",[75,12824,12825],{"class":2385,"line":8553},[75,12826,12827],{},"        dj_db_i = f_wb - y[i]            # contribuição do exemplo i pra dj_db\n",[75,12829,12830],{"class":2385,"line":8558},[75,12831,12832],{},"        dj_db += dj_db_i\n",[75,12834,12835],{"class":2385,"line":8564},[75,12836,12837],{},"        dj_dw += dj_dw_i\n",[75,12839,12840],{"class":2385,"line":8569},[75,12841,2422],{"emptyLinePlaceholder":32},[75,12843,12845],{"class":2385,"line":12844},26,[75,12846,12847],{},"    dj_dw = dj_dw \u002F m\n",[75,12849,12851],{"class":2385,"line":12850},27,[75,12852,12853],{},"    dj_db = dj_db \u002F m\n",[75,12855,12857],{"class":2385,"line":12856},28,[75,12858,2422],{"emptyLinePlaceholder":32},[75,12860,12862],{"class":2385,"line":12861},29,[75,12863,12864],{},"    return dj_dw, dj_db\n",[11,12866,12867],{},"E o laço principal, que repete a atualização até acabar as iterações:",[2376,12869,12871],{"className":2378,"code":12870,"language":2380,"meta":26,"style":26},"def gradient_descent(x, y, w_in, b_in, alpha, num_iters, cost_function, gradient_function):\n    \"\"\"\n    Executa o gradiente descendente pra ajustar w e b.\n\n    Args:\n      x, y                : dados de treino\n      w_in, b_in (scalar) : valores INICIAIS dos parâmetros\n      alpha (float)       : taxa de aprendizado\n      num_iters (int)     : quantas iterações executar\n      cost_function       : função pra calcular o custo\n      gradient_function   : função pra calcular o gradiente\n\n    Returns:\n      w, b (scalar)    : parâmetros depois do treino\n      J_history (list) : custo a cada iteração\n    \"\"\"\n    J_history = []\n    w = w_in\n    b = b_in\n\n    for i in range(num_iters):\n        dj_dw, dj_db = gradient_function(x, y, w, b)\n\n        b = b - alpha * dj_db   # atualização simultânea: as duas derivadas\n        w = w - alpha * dj_dw   # já foram calculadas com os valores antigos\n\n        J_history.append(cost_function(x, y, w, b))\n\n    return w, b, J_history\n",[65,12872,12873,12878,12882,12887,12891,12895,12900,12905,12910,12915,12920,12925,12929,12933,12938,12943,12947,12952,12957,12962,12966,12971,12976,12980,12985,12990,12994,12999,13003],{"__ignoreMap":26},[75,12874,12875],{"class":2385,"line":33},[75,12876,12877],{},"def gradient_descent(x, y, w_in, b_in, alpha, num_iters, cost_function, gradient_function):\n",[75,12879,12880],{"class":2385,"line":27},[75,12881,3868],{},[75,12883,12884],{"class":2385,"line":2396},[75,12885,12886],{},"    Executa o gradiente descendente pra ajustar w e b.\n",[75,12888,12889],{"class":2385,"line":2401},[75,12890,2422],{"emptyLinePlaceholder":32},[75,12892,12893],{"class":2385,"line":2407},[75,12894,3882],{},[75,12896,12897],{"class":2385,"line":2413},[75,12898,12899],{},"      x, y                : dados de treino\n",[75,12901,12902],{"class":2385,"line":2419},[75,12903,12904],{},"      w_in, b_in (scalar) : valores INICIAIS dos parâmetros\n",[75,12906,12907],{"class":2385,"line":2425},[75,12908,12909],{},"      alpha (float)       : taxa de aprendizado\n",[75,12911,12912],{"class":2385,"line":2431},[75,12913,12914],{},"      num_iters (int)     : quantas iterações executar\n",[75,12916,12917],{"class":2385,"line":2437},[75,12918,12919],{},"      cost_function       : função pra calcular o custo\n",[75,12921,12922],{"class":2385,"line":2442},[75,12923,12924],{},"      gradient_function   : função pra calcular o gradiente\n",[75,12926,12927],{"class":2385,"line":2448},[75,12928,2422],{"emptyLinePlaceholder":32},[75,12930,12931],{"class":2385,"line":3918},[75,12932,3901],{},[75,12934,12935],{"class":2385,"line":3924},[75,12936,12937],{},"      w, b (scalar)    : parâmetros depois do treino\n",[75,12939,12940],{"class":2385,"line":3929},[75,12941,12942],{},"      J_history (list) : custo a cada iteração\n",[75,12944,12945],{"class":2385,"line":3935},[75,12946,3868],{},[75,12948,12949],{"class":2385,"line":3941},[75,12950,12951],{},"    J_history = []\n",[75,12953,12954],{"class":2385,"line":3946},[75,12955,12956],{},"    w = w_in\n",[75,12958,12959],{"class":2385,"line":8535},[75,12960,12961],{},"    b = b_in\n",[75,12963,12964],{"class":2385,"line":8541},[75,12965,2422],{"emptyLinePlaceholder":32},[75,12967,12968],{"class":2385,"line":8547},[75,12969,12970],{},"    for i in range(num_iters):\n",[75,12972,12973],{"class":2385,"line":8553},[75,12974,12975],{},"        dj_dw, dj_db = gradient_function(x, y, w, b)\n",[75,12977,12978],{"class":2385,"line":8558},[75,12979,2422],{"emptyLinePlaceholder":32},[75,12981,12982],{"class":2385,"line":8564},[75,12983,12984],{},"        b = b - alpha * dj_db   # atualização simultânea: as duas derivadas\n",[75,12986,12987],{"class":2385,"line":8569},[75,12988,12989],{},"        w = w - alpha * dj_dw   # já foram calculadas com os valores antigos\n",[75,12991,12992],{"class":2385,"line":12844},[75,12993,2422],{"emptyLinePlaceholder":32},[75,12995,12996],{"class":2385,"line":12850},[75,12997,12998],{},"        J_history.append(cost_function(x, y, w, b))\n",[75,13000,13001],{"class":2385,"line":12856},[75,13002,2422],{"emptyLinePlaceholder":32},[75,13004,13005],{"class":2385,"line":12861},[75,13006,13007],{},"    return w, b, J_history\n",[289,13009,13011],{"id":13010},"agora-você-mesmo-mas-com-o-algoritmo-fazendo-o-trabalho","Agora você mesmo, mas com o algoritmo fazendo o trabalho",[11,13013,13014],{},"Chega de arrastar slider até achar o valor certo na mão. Aqui embaixo tem o algoritmo de verdade rodando, com controle total: escolhe uma taxa de aprendizado, dá um passo de cada vez ou roda vários de uma vez, e observa o pontinho vermelho descendo a ladeira sozinho no mapa de calor, na superfície 3D, ou na parábola.",[11,13016,4034,13017,499,13067,13118],{},[75,13018,13020,13037],{"className":13019},[78],[75,13021,13023],{"className":13022},[82],[84,13024,13025],{"xmlns":86},[88,13026,13027,13035],{},[91,13028,13029,13031,13033],{},[97,13030,104],{},[106,13032,125],{},[1316,13034,1835],{},[140,13036,9050],{"encoding":142},[75,13038,13040,13058],{"className":13039,"ariaHidden":108},[147],[75,13041,13043,13046,13049,13052,13055],{"className":13042},[151],[75,13044],{"className":13045,"style":329},[155],[75,13047,104],{"className":13048,"style":205},[160,164],[75,13050],{"className":13051,"style":242},[241],[75,13053,125],{"className":13054},[246],[75,13056],{"className":13057,"style":242},[241],[75,13059,13061,13064],{"className":13060},[151],[75,13062],{"className":13063,"style":1609},[155],[75,13065,1835],{"className":13066},[160],[75,13068,13070,13088],{"className":13069},[78],[75,13071,13073],{"className":13072},[82],[84,13074,13075],{"xmlns":86},[88,13076,13077,13085],{},[91,13078,13079,13081,13083],{},[97,13080,112],{},[106,13082,125],{},[1316,13084,1835],{},[140,13086,13087],{"encoding":142},"b = 0",[75,13089,13091,13109],{"className":13090,"ariaHidden":108},[147],[75,13092,13094,13097,13100,13103,13106],{"className":13093},[151],[75,13095],{"className":13096,"style":284},[155],[75,13098,112],{"className":13099},[160,164],[75,13101],{"className":13102,"style":242},[241],[75,13104,125],{"className":13105},[246],[75,13107],{"className":13108,"style":242},[241],[75,13110,13112,13115],{"className":13111},[151],[75,13113],{"className":13114,"style":1609},[155],[75,13116,1835],{"className":13117},[160]," (bem longe da resposta) e clica em \"Rodar 2000\" algumas vezes com o alpha padrão de 0.01. Repara como o custo despenca rápido no começo e depois desacelera sozinho, sem você mexer em nada.",[13120,13121],"gradient-descent-simulator",{":b-range":13122,":initial-b":1835,":initial-w":1835,":w-range":13123,"b-label":112,"w-label":104,":x-train":3114,":y-train":3115},"[-200, 400]","[-100, 500]",[289,13125,13127],{"id":13126},"quando-a-taxa-de-aprendizado-é-grande-demais","Quando a taxa de aprendizado é grande demais",[11,13129,13130,13131,503,13159,13187],{},"Agora clica no preset de alpha 0.8 (bem maior que o 0.01 que funcionou) e roda alguns passos. Você vai ver os números de ",[75,13132,13134,13147],{"className":13133},[78],[75,13135,13137],{"className":13136},[82],[84,13138,13139],{"xmlns":86},[88,13140,13141,13145],{},[91,13142,13143],{},[97,13144,104],{},[140,13146,104],{"encoding":142},[75,13148,13150],{"className":13149,"ariaHidden":108},[147],[75,13151,13153,13156],{"className":13152},[151],[75,13154],{"className":13155,"style":329},[155],[75,13157,104],{"className":13158,"style":205},[160,164],[75,13160,13162,13175],{"className":13161},[78],[75,13163,13165],{"className":13164},[82],[84,13166,13167],{"xmlns":86},[88,13168,13169,13173],{},[91,13170,13171],{},[97,13172,112],{},[140,13174,112],{"encoding":142},[75,13176,13178],{"className":13177,"ariaHidden":108},[147],[75,13179,13181,13184],{"className":13180},[151],[75,13182],{"className":13183,"style":284},[155],[75,13185,112],{"className":13186},[160,164]," ficarem cada vez mais absurdos, e o custo, em vez de cair, sobe.",[11,13189,13190,13191,13195,13196,13224],{},"Isso é ",[6867,13192,13194],{"definition":13193},"quando o gradiente descendente, em vez de se aproximar do mínimo, se afasta cada vez mais dele porque o passo é grande demais","divergência",", e o motivo é simples de visualizar: o passo é proporcional à derivada. Se ",[75,13197,13199,13212],{"className":13198},[78],[75,13200,13202],{"className":13201},[82],[84,13203,13204],{"xmlns":86},[88,13205,13206,13210],{},[91,13207,13208],{},[97,13209,10317],{},[140,13211,10803],{"encoding":142},[75,13213,13215],{"className":13214,"ariaHidden":108},[147],[75,13216,13218,13221],{"className":13217},[151],[75,13219],{"className":13220,"style":329},[155],[75,13222,10317],{"className":13223,"style":10433},[160,164]," é grande, o passo ultrapassa o fundo da tigela e pousa do outro lado, só que mais alto do que estava antes. Do lado novo, a derivada é ainda maior (em módulo) e de sinal trocado, então o próximo passo é ainda maior na direção contrária. Vira um ciclo que se alimenta e explode, tipo empurrar um balanço cada vez com mais força até ele virar de cabeça pra baixo.",[11,13226,13227,13228,13256],{},"Na prática, se você tá treinando um modelo de verdade e vê o custo subindo ou indo pra frente e pra trás sem parar, a primeira coisa que eu tento é diminuir ",[75,13229,13231,13244],{"className":13230},[78],[75,13232,13234],{"className":13233},[82],[84,13235,13236],{"xmlns":86},[88,13237,13238,13242],{},[91,13239,13240],{},[97,13241,10317],{},[140,13243,10803],{"encoding":142},[75,13245,13247],{"className":13246,"ariaHidden":108},[147],[75,13248,13250,13253],{"className":13249},[151],[75,13251],{"className":13252,"style":329},[155],[75,13254,10317],{"className":13255,"style":10433},[160,164]," (dividir por 3 ou por 10, por exemplo). O curso sugere testar uma sequência tipo 0.001, 0.003, 0.01, 0.03, 0.1 e comparar as curvas de custo até achar uma que desça de forma estável.",[516,13258,13259,13269],{},[519,13260,13261],{},[522,13262,13263,13266],{},[525,13264,13265],{"align":1648},"Alpha",[525,13267,13268],{"align":527},"O que acontece (depois de 1000 passos, começando em w=0, b=0)",[536,13270,13271,13279,13287,13295,13303,13311],{},[522,13272,13273,13276],{},[541,13274,13275],{"align":1648},"0.0001",[541,13277,13278],{"align":527},"lento demais, mal saiu do ponto inicial",[522,13280,13281,13284],{},[541,13282,13283],{"align":1648},"0.001",[541,13285,13286],{"align":527},"ainda longe do alvo",[522,13288,13289,13292],{},[541,13290,13291],{"align":1648},"0.01",[541,13293,13294],{"align":527},"bom equilíbrio, é o que a gente usou acima",[522,13296,13297,13300],{},[541,13298,13299],{"align":1648},"0.1",[541,13301,13302],{"align":527},"converge rápido",[522,13304,13305,13308],{},[541,13306,13307],{"align":1648},"0.3",[541,13309,13310],{"align":527},"ainda converge, mas já perto do limite",[522,13312,13313,13316],{},[541,13314,13315],{"align":1648},"0.8",[541,13317,13318],{"align":527},"diverge",[11,13320,13321],{},"Testa esses valores você mesmo no simulador acima e compara com a tabela.",[289,13323,13325],{"id":13324},"bônus-nem-toda-tigela-é-bonitinha-assim","Bônus: nem toda tigela é bonitinha assim",[11,13327,13328,13329,13331],{},"Toda superfície de custo que a gente desenhou até aqui tem a mesma cara de tigela de sopa, porque vem de erro elevado ao quadrado, e isso garante convexidade (",[557,13330,8582],{"href":3829},"). Mas gradiente descendente não vive só de tigela bem-comportada. Aqui vão dois clássicos que todo mundo que estuda otimização esbarra cedo ou tarde, só pra você ver que a dificuldade que a gente viu com o alpha grande é só a ponta do iceberg.",[2371,13333,13335],{"id":13334},"o-vale-banana-de-rosenbrock","O vale-banana de Rosenbrock",[11,13337,13338],{},"Essa aqui é praticamente um teste de estresse padrão da área, tem até nome próprio: função de Rosenbrock.",[11,13340,13341],{},[75,13342,13344,13406],{"className":13343},[78],[75,13345,13347],{"className":13346},[82],[84,13348,13349],{"xmlns":86},[88,13350,13351,13403],{},[91,13352,13353,13355,13357,13359,13361,13363,13365,13367,13369,13371,13373,13375,13381,13383,13385,13387,13389,13391,13397],{},[97,13354,99],{},[106,13356,116],{"stretchy":115},[97,13358,104],{},[106,13360,109],{"separator":108},[97,13362,112],{},[106,13364,122],{"stretchy":115},[106,13366,125],{},[106,13368,116],{"stretchy":115},[1316,13370,1578],{},[106,13372,4410],{},[97,13374,104],{},[721,13376,13377,13379],{},[106,13378,122],{"stretchy":115},[1316,13380,1318],{},[106,13382,136],{},[1316,13384,4053],{},[106,13386,116],{"stretchy":115},[97,13388,112],{},[106,13390,4410],{},[721,13392,13393,13395],{},[97,13394,104],{},[1316,13396,1318],{},[721,13398,13399,13401],{},[106,13400,122],{"stretchy":115},[1316,13402,1318],{},[140,13404,13405],{"encoding":142},"f(w,b) = (1-w)^2 + 100(b - w^2)^2",[75,13407,13409,13445,13466,13513,13537],{"className":13408,"ariaHidden":108},[147],[75,13410,13412,13415,13418,13421,13424,13427,13430,13433,13436,13439,13442],{"className":13411},[151],[75,13413],{"className":13414,"style":2081},[155],[75,13416,99],{"className":13417,"style":165},[160,164],[75,13419,116],{"className":13420},[230],[75,13422,104],{"className":13423,"style":205},[160,164],[75,13425,109],{"className":13426},[209],[75,13428],{"className":13429,"style":263},[241],[75,13431,112],{"className":13432},[160,164],[75,13434,122],{"className":13435},[237],[75,13437],{"className":13438,"style":242},[241],[75,13440,125],{"className":13441},[246],[75,13443],{"className":13444,"style":242},[241],[75,13446,13448,13451,13454,13457,13460,13463],{"className":13447},[151],[75,13449],{"className":13450,"style":2081},[155],[75,13452,116],{"className":13453},[230],[75,13455,1578],{"className":13456},[160],[75,13458],{"className":13459,"style":270},[241],[75,13461,4410],{"className":13462},[274],[75,13464],{"className":13465,"style":270},[241],[75,13467,13469,13472,13475,13504,13507,13510],{"className":13468},[151],[75,13470],{"className":13471,"style":7952},[155],[75,13473,104],{"className":13474,"style":205},[160,164],[75,13476,13478,13481],{"className":13477},[237],[75,13479,122],{"className":13480},[237],[75,13482,13484],{"className":13483},[169],[75,13485,13487],{"className":13486},[173],[75,13488,13490],{"className":13489},[178],[75,13491,13493],{"className":13492,"style":1402},[182],[75,13494,13495,13498],{"style":767},[75,13496],{"className":13497,"style":191},[190],[75,13499,13501],{"className":13500},[195,196,197,198],[75,13502,1318],{"className":13503},[160,198],[75,13505],{"className":13506,"style":270},[241],[75,13508,136],{"className":13509},[274],[75,13511],{"className":13512,"style":270},[241],[75,13514,13516,13519,13522,13525,13528,13531,13534],{"className":13515},[151],[75,13517],{"className":13518,"style":2081},[155],[75,13520,4053],{"className":13521},[160],[75,13523,116],{"className":13524},[230],[75,13526,112],{"className":13527},[160,164],[75,13529],{"className":13530,"style":270},[241],[75,13532,4410],{"className":13533},[274],[75,13535],{"className":13536,"style":270},[241],[75,13538,13540,13543,13572],{"className":13539},[151],[75,13541],{"className":13542,"style":7952},[155],[75,13544,13546,13549],{"className":13545},[160],[75,13547,104],{"className":13548,"style":205},[160,164],[75,13550,13552],{"className":13551},[169],[75,13553,13555],{"className":13554},[173],[75,13556,13558],{"className":13557},[178],[75,13559,13561],{"className":13560,"style":1402},[182],[75,13562,13563,13566],{"style":767},[75,13564],{"className":13565,"style":191},[190],[75,13567,13569],{"className":13568},[195,196,197,198],[75,13570,1318],{"className":13571},[160,198],[75,13573,13575,13578],{"className":13574},[237],[75,13576,122],{"className":13577},[237],[75,13579,13581],{"className":13580},[169],[75,13582,13584],{"className":13583},[173],[75,13585,13587],{"className":13586},[178],[75,13588,13590],{"className":13589,"style":1402},[182],[75,13591,13592,13595],{"style":767},[75,13593],{"className":13594,"style":191},[190],[75,13596,13598],{"className":13597},[195,196,197,198],[75,13599,1318],{"className":13600},[160,198],[11,13602,13603,13604,13656],{},"O mínimo global é em ",[75,13605,13607,13629],{"className":13606},[78],[75,13608,13610],{"className":13609},[82],[84,13611,13612],{"xmlns":86},[88,13613,13614,13626],{},[91,13615,13616,13618,13620,13622,13624],{},[106,13617,116],{"stretchy":115},[1316,13619,1578],{},[106,13621,109],{"separator":108},[1316,13623,1578],{},[106,13625,122],{"stretchy":115},[140,13627,13628],{"encoding":142},"(1,1)",[75,13630,13632],{"className":13631,"ariaHidden":108},[147],[75,13633,13635,13638,13641,13644,13647,13650,13653],{"className":13634},[151],[75,13636],{"className":13637,"style":2081},[155],[75,13639,116],{"className":13640},[230],[75,13642,1578],{"className":13643},[160],[75,13645,109],{"className":13646},[209],[75,13648],{"className":13649,"style":263},[241],[75,13651,1578],{"className":13652},[160],[75,13654,122],{"className":13655},[237],", custo zero, mas repara na forma:",[9580,13658],{":b-max":13659,":b-min":13660,":w-max":1318,":w-min":13661,"fn":13662},"3","-1","-2","rosenbrock",[11,13664,13665],{},"Não é uma tigela redonda, é um vale curvo, tipo uma banana. Isso é um problema de verdade pro gradiente descendente: a direção que desce mais rápido quase nunca aponta pro fundo do vale, aponta pra parede mais próxima. O algoritmo fica ricocheteando de um lado pro outro da banana, avançando bem pouco a cada zigue-zague, mesmo perto do fundo.",[11,13667,13668],{},"Testa o alpha 0.01 aqui (o mesmo que funcionou liso no nosso exemplo de imóveis) e olha o que acontece:",[13120,13670],{":b-range":13671,":initial-b":1578,":initial-w":13660,":w-range":13672,"b-label":112,"w-label":104,":alpha-presets":13673,":initial-alpha":13674,"fn":13662},"[-1, 3]","[-2, 2]","[0.0001, 0.0005, 0.001, 0.002, 0.005, 0.01]","0.002",[11,13676,13677,13678,1613],{},"Alpha 0.01 diverge quase na hora aqui, mesmo valor que era o \"bom equilíbrio\" lá em cima. Não existe alpha universal, ele depende inteiro do formato da superfície que você tá descendo. Baixa pra 0.002 e roda \"Rodar 2000\" algumas vezes: agora sim, o ponto vermelho serpenteia devagar pelo vale até chegar perto de ",[75,13679,13681,13702],{"className":13680},[78],[75,13682,13684],{"className":13683},[82],[84,13685,13686],{"xmlns":86},[88,13687,13688,13700],{},[91,13689,13690,13692,13694,13696,13698],{},[106,13691,116],{"stretchy":115},[1316,13693,1578],{},[106,13695,109],{"separator":108},[1316,13697,1578],{},[106,13699,122],{"stretchy":115},[140,13701,13628],{"encoding":142},[75,13703,13705],{"className":13704,"ariaHidden":108},[147],[75,13706,13708,13711,13714,13717,13720,13723,13726],{"className":13707},[151],[75,13709],{"className":13710,"style":2081},[155],[75,13712,116],{"className":13713},[230],[75,13715,1578],{"className":13716},[160],[75,13718,109],{"className":13719},[209],[75,13721],{"className":13722,"style":263},[241],[75,13724,1578],{"className":13725},[160],[75,13727,122],{"className":13728},[237],[2371,13730,13732],{"id":13731},"o-ponto-de-sela","O ponto de sela",[11,13734,13735],{},[75,13736,13738,13778],{"className":13737},[78],[75,13739,13741],{"className":13740},[82],[84,13742,13743],{"xmlns":86},[88,13744,13745,13775],{},[91,13746,13747,13749,13751,13753,13755,13757,13759,13761,13767,13769],{},[97,13748,99],{},[106,13750,116],{"stretchy":115},[97,13752,104],{},[106,13754,109],{"separator":108},[97,13756,112],{},[106,13758,122],{"stretchy":115},[106,13760,125],{},[721,13762,13763,13765],{},[97,13764,104],{},[1316,13766,1318],{},[106,13768,4410],{},[721,13770,13771,13773],{},[97,13772,112],{},[1316,13774,1318],{},[140,13776,13777],{"encoding":142},"f(w,b) = w^2 - b^2",[75,13779,13781,13817,13861],{"className":13780,"ariaHidden":108},[147],[75,13782,13784,13787,13790,13793,13796,13799,13802,13805,13808,13811,13814],{"className":13783},[151],[75,13785],{"className":13786,"style":2081},[155],[75,13788,99],{"className":13789,"style":165},[160,164],[75,13791,116],{"className":13792},[230],[75,13794,104],{"className":13795,"style":205},[160,164],[75,13797,109],{"className":13798},[209],[75,13800],{"className":13801,"style":263},[241],[75,13803,112],{"className":13804},[160,164],[75,13806,122],{"className":13807},[237],[75,13809],{"className":13810,"style":242},[241],[75,13812,125],{"className":13813},[246],[75,13815],{"className":13816,"style":242},[241],[75,13818,13820,13823,13852,13855,13858],{"className":13819},[151],[75,13821],{"className":13822,"style":9504},[155],[75,13824,13826,13829],{"className":13825},[160],[75,13827,104],{"className":13828,"style":205},[160,164],[75,13830,13832],{"className":13831},[169],[75,13833,13835],{"className":13834},[173],[75,13836,13838],{"className":13837},[178],[75,13839,13841],{"className":13840,"style":1402},[182],[75,13842,13843,13846],{"style":767},[75,13844],{"className":13845,"style":191},[190],[75,13847,13849],{"className":13848},[195,196,197,198],[75,13850,1318],{"className":13851},[160,198],[75,13853],{"className":13854,"style":270},[241],[75,13856,4410],{"className":13857},[274],[75,13859],{"className":13860,"style":270},[241],[75,13862,13864,13867],{"className":13863},[151],[75,13865],{"className":13866,"style":1402},[155],[75,13868,13870,13873],{"className":13869},[160],[75,13871,112],{"className":13872},[160,164],[75,13874,13876],{"className":13875},[169],[75,13877,13879],{"className":13878},[173],[75,13880,13882],{"className":13881},[178],[75,13883,13885],{"className":13884,"style":1402},[182],[75,13886,13887,13890],{"style":767},[75,13888],{"className":13889,"style":191},[190],[75,13891,13893],{"className":13892},[195,196,197,198],[75,13894,1318],{"className":13895},[160,198],[9580,13897],{":b-max":1318,":b-min":13661,":w-max":1318,":w-min":13661,"fn":13898,":marker-b":1835,":marker-w":1835},"saddle",[11,13900,13901,13902,13930,13931,13959,13960,13964],{},"Gira essa aqui com calma. É um mínimo se você olhar só pro eixo ",[75,13903,13905,13918],{"className":13904},[78],[75,13906,13908],{"className":13907},[82],[84,13909,13910],{"xmlns":86},[88,13911,13912,13916],{},[91,13913,13914],{},[97,13915,104],{},[140,13917,104],{"encoding":142},[75,13919,13921],{"className":13920,"ariaHidden":108},[147],[75,13922,13924,13927],{"className":13923},[151],[75,13925],{"className":13926,"style":329},[155],[75,13928,104],{"className":13929,"style":205},[160,164],", e um máximo se olhar só pro eixo ",[75,13932,13934,13947],{"className":13933},[78],[75,13935,13937],{"className":13936},[82],[84,13938,13939],{"xmlns":86},[88,13940,13941,13945],{},[91,13942,13943],{},[97,13944,112],{},[140,13946,112],{"encoding":142},[75,13948,13950],{"className":13949,"ariaHidden":108},[147],[75,13951,13953,13956],{"className":13952},[151],[75,13954],{"className":13955,"style":284},[155],[75,13957,112],{"className":13958},[160,164],", ao mesmo tempo, no mesmo ponto. Isso se chama ",[6867,13961,13963],{"definition":13962},"um ponto onde o gradiente é zero, mas que não é mínimo nem máximo, é mínimo numa direção e máximo em outra ao mesmo tempo, tipo o meio de uma sela de cavalo","ponto de sela",", o ponto vermelho no centro marca exatamente ele.",[11,13966,13967,13968,13996],{},"Lembra da regra \"quando a derivada zera, o algoritmo para sozinho\"? Pois é, nesse ponto ela zera igualzinho. Se o gradiente descendente chegasse exatamente ali, ia achar que tinha terminado, sem ter terminado nada, só tá equilibrado no topo de um pico de cavalo. Qualquer empurrãozinho pra fora do centro exato, e ele escorrega ladeira abaixo na direção que desce (o eixo ",[75,13969,13971,13984],{"className":13970},[78],[75,13972,13974],{"className":13973},[82],[84,13975,13976],{"xmlns":86},[88,13977,13978,13982],{},[91,13979,13980],{},[97,13981,112],{},[140,13983,112],{"encoding":142},[75,13985,13987],{"className":13986,"ariaHidden":108},[147],[75,13988,13990,13993],{"className":13989},[151],[75,13991],{"className":13992,"style":284},[155],[75,13994,112],{"className":13995},[160,164],"), longe de qualquer mínimo de verdade.",[11,13998,13999],{},"Na nossa regressão isso nunca acontece (a tigela é sempre convexa, sem sela nenhuma escondida), mas é exatamente esse tipo de superfície que aparece direto em modelos mais complexos, tipo rede neural. Guarda esse nome, ele volta.",[289,14001,14003],{"id":14002},"fechando-a-trilogia","Fechando a trilogia",[516,14005,14006,14016],{},[519,14007,14008],{},[522,14009,14010,14013],{},[525,14011,14012],{"align":527},"Post",[525,14014,14015],{"align":527},"O que ficou pronto",[536,14017,14018,14176,14242],{},[522,14019,14020,14025],{},[541,14021,14022],{"align":527},[557,14023,14024],{"href":6760},"Lab 02",[541,14026,14027,14028],{"align":527},"o modelo, ",[75,14029,14031,14070],{"className":14030},[78],[75,14032,14034],{"className":14033},[82],[84,14035,14036],{"xmlns":86},[88,14037,14038,14068],{},[91,14039,14040,14052,14054,14056,14058,14060,14062,14064,14066],{},[94,14041,14042,14044],{},[97,14043,99],{},[91,14045,14046,14048,14050],{},[97,14047,104],{},[106,14049,109],{"separator":108},[97,14051,112],{},[106,14053,116],{"stretchy":115},[97,14055,119],{},[106,14057,122],{"stretchy":115},[106,14059,125],{},[97,14061,104],{},[97,14063,119],{},[106,14065,136],{},[97,14067,112],{},[140,14069,382],{"encoding":142},[75,14071,14073,14146,14167],{"className":14072,"ariaHidden":108},[147],[75,14074,14076,14079,14128,14131,14134,14137,14140,14143],{"className":14075},[151],[75,14077],{"className":14078,"style":156},[155],[75,14080,14082,14085],{"className":14081},[160],[75,14083,99],{"className":14084,"style":165},[160,164],[75,14086,14088],{"className":14087},[169],[75,14089,14091,14120],{"className":14090},[173,174],[75,14092,14094,14117],{"className":14093},[178],[75,14095,14097],{"className":14096,"style":183},[182],[75,14098,14099,14102],{"style":186},[75,14100],{"className":14101,"style":191},[190],[75,14103,14105],{"className":14104},[195,196,197,198],[75,14106,14108,14111,14114],{"className":14107},[160,198],[75,14109,104],{"className":14110,"style":205},[160,164,198],[75,14112,109],{"className":14113},[209,198],[75,14115,112],{"className":14116},[160,164,198],[75,14118,217],{"className":14119},[216],[75,14121,14123],{"className":14122},[178],[75,14124,14126],{"className":14125,"style":224},[182],[75,14127],{},[75,14129,116],{"className":14130},[230],[75,14132,119],{"className":14133},[160,164],[75,14135,122],{"className":14136},[237],[75,14138],{"className":14139,"style":242},[241],[75,14141,125],{"className":14142},[246],[75,14144],{"className":14145,"style":242},[241],[75,14147,14149,14152,14155,14158,14161,14164],{"className":14148},[151],[75,14150],{"className":14151,"style":256},[155],[75,14153,104],{"className":14154,"style":205},[160,164],[75,14156,119],{"className":14157},[160,164],[75,14159],{"className":14160,"style":270},[241],[75,14162,136],{"className":14163},[274],[75,14165],{"className":14166,"style":270},[241],[75,14168,14170,14173],{"className":14169},[151],[75,14171],{"className":14172,"style":284},[155],[75,14174,112],{"className":14175},[160,164],[522,14177,14178,14183],{},[541,14179,14180],{"align":527},[557,14181,14182],{"href":3829},"Lab 03",[541,14184,14185,14186],{"align":527},"a medida do erro, ",[75,14187,14189,14212],{"className":14188},[78],[75,14190,14192],{"className":14191},[82],[84,14193,14194],{"xmlns":86},[88,14195,14196,14210],{},[91,14197,14198,14200,14202,14204,14206,14208],{},[97,14199,5374],{},[106,14201,116],{"stretchy":115},[97,14203,104],{},[106,14205,109],{"separator":108},[97,14207,112],{},[106,14209,122],{"stretchy":115},[140,14211,5387],{"encoding":142},[75,14213,14215],{"className":14214,"ariaHidden":108},[147],[75,14216,14218,14221,14224,14227,14230,14233,14236,14239],{"className":14217},[151],[75,14219],{"className":14220,"style":2081},[155],[75,14222,5374],{"className":14223,"style":5400},[160,164],[75,14225,116],{"className":14226},[230],[75,14228,104],{"className":14229,"style":205},[160,164],[75,14231,109],{"className":14232},[209],[75,14234],{"className":14235,"style":263},[241],[75,14237,112],{"className":14238},[160,164],[75,14240,122],{"className":14241},[237],[522,14243,14244,14247],{},[541,14245,14246],{"align":527},"Lab 04 (esse aqui)",[541,14248,14249],{"align":527},"o algoritmo que minimiza esse erro sozinho, gradiente descendente",[11,14251,6275],{},[294,14253,14254,14260,14266],{},[297,14255,14256,14259],{},[15,14257,14258],{},"O gradiente aponta pra onde o custo cresce",", então o algoritmo sempre anda no sentido contrário.",[297,14261,14262,14265],{},[15,14263,14264],{},"A atualização é simultânea",", calcula as duas derivadas primeiro, troca os parâmetros depois.",[297,14267,14268,14271],{},[15,14269,14270],{},"A taxa de aprendizado é o parâmetro mais sensível que você vai mexer",": pequena demais é lento, grande demais diverge.",[11,14273,14274,14277,14278,14280,14281,14285],{},[15,14275,14276],{},"No próximo post:"," tudo que você viu até aqui foi com uma feature só (o tamanho da casa). Na Semana 2 do curso, o modelo ganha várias features de uma vez, e fazer conta com um laço ",[65,14279,8578],{}," deixa de dar conta do recado. Antes de mexer no modelo com várias features, ",[557,14282,14284],{"href":14283},"\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab01-numpy-vectorization","o próximo post"," é sobre a ferramenta que torna isso viável: NumPy e vetorização.",[289,14287,6484],{"id":6483},[11,14289,14290,14291,14294,14295,503,14297,14299],{},"Mesmo dataset real de imóveis dos dois posts anteriores (",[557,14292,6493],{"href":6490,"rel":14293},[6492],"), mesma escala (tamanho em \"centenas de pés²\", preço em \"milhares de dólares\"). Bora ver o algoritmo achar sozinho, em dado real, o ajuste que nos posts ",[557,14296,1578],{"href":6760},[557,14298,1318],{"href":3829}," você foi atrás na mão.",[2376,14301,14303],{"className":2378,"code":14302,"language":2380,"meta":26,"style":26},"w, b, J_hist = gradient_descent(\n    x_sqft, y_price,          # as 50 casas reais\n    w_in=0, b_in=0,           # começando do zero, igual no exemplo de brinquedo\n    alpha=0.01, num_iters=4000,\n    cost_function=compute_cost, gradient_function=compute_gradient)\n\nprint(f\"(w, b) encontrados: ({w:.1f}, {b:.1f})\")\n",[65,14304,14305,14310,14315,14320,14325,14330,14334],{"__ignoreMap":26},[75,14306,14307],{"class":2385,"line":33},[75,14308,14309],{},"w, b, J_hist = gradient_descent(\n",[75,14311,14312],{"class":2385,"line":27},[75,14313,14314],{},"    x_sqft, y_price,          # as 50 casas reais\n",[75,14316,14317],{"class":2385,"line":2396},[75,14318,14319],{},"    w_in=0, b_in=0,           # começando do zero, igual no exemplo de brinquedo\n",[75,14321,14322],{"class":2385,"line":2401},[75,14323,14324],{},"    alpha=0.01, num_iters=4000,\n",[75,14326,14327],{"class":2385,"line":2407},[75,14328,14329],{},"    cost_function=compute_cost, gradient_function=compute_gradient)\n",[75,14331,14332],{"class":2385,"line":2413},[75,14333,2422],{"emptyLinePlaceholder":32},[75,14335,14336],{"class":2385,"line":2419},[75,14337,14338],{},"print(f\"(w, b) encontrados: ({w:.1f}, {b:.1f})\")\n",[46,14340,14341],{},[11,14342,14343,1286,14345],{},[15,14344,2458],{},[65,14346,14347],{},"(w, b) encontrados: (116.5, 398.3)",[11,14349,14350],{},"Bate certinho com o ajuste que a gente citou nos dois posts anteriores. Clica em \"Rodar 2000\" duas vezes no simulador abaixo e confere ao vivo:",[14352,14353],"housing-gradient-descent-simulator",{},[11,14355,14356,14357,503,14385,14413],{},"Repara que a convergência aqui é bem mais devagar que no exemplo de brinquedo de 2 pontos, mesmo já usando a mesma escala pequena de sempre. Isso acontece porque ",[75,14358,14360,14373],{"className":14359},[78],[75,14361,14363],{"className":14362},[82],[84,14364,14365],{"xmlns":86},[88,14366,14367,14371],{},[91,14368,14369],{},[97,14370,104],{},[140,14372,104],{"encoding":142},[75,14374,14376],{"className":14375,"ariaHidden":108},[147],[75,14377,14379,14382],{"className":14378},[151],[75,14380],{"className":14381,"style":329},[155],[75,14383,104],{"className":14384,"style":205},[160,164],[75,14386,14388,14401],{"className":14387},[78],[75,14389,14391],{"className":14390},[82],[84,14392,14393],{"xmlns":86},[88,14394,14395,14399],{},[91,14396,14397],{},[97,14398,112],{},[140,14400,112],{"encoding":142},[75,14402,14404],{"className":14403,"ariaHidden":108},[147],[75,14405,14407,14410],{"className":14406},[151],[75,14408],{"className":14409,"style":284},[155],[75,14411,112],{"className":14412},[160,164]," ainda vivem em faixas bem diferentes uma da outra (um vai até 300, o outro até 600), o que estica o vale de custo. É exatamente esse tipo de situação que a normalização de features, mais pra frente no curso, resolve de vez.",[6712,14415,6714],{},{"title":26,"searchDepth":27,"depth":27,"links":14417},[14418,14419,14420,14421,14422,14423,14424,14428,14429],{"id":10661,"depth":27,"text":10662},{"id":10824,"depth":27,"text":10825},{"id":11227,"depth":27,"text":11228},{"id":8444,"depth":27,"text":8445},{"id":13010,"depth":27,"text":13011},{"id":13126,"depth":27,"text":13127},{"id":13324,"depth":27,"text":13325,"children":14425},[14426,14427],{"id":13334,"depth":2396,"text":13335},{"id":13731,"depth":2396,"text":13732},{"id":14002,"depth":27,"text":14003},{"id":6483,"depth":27,"text":6484},"O algoritmo que desce sozinho até o fundo da tigela de custo: a matemática por trás do gradiente descendente, o que acontece quando a taxa de aprendizado é grande demais, e por que ele para sozinho perto do mínimo.",{},"\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Flab04-gradient-descent",{"title":10011,"description":14430},"pt\u002Fplaylists\u002Fmachine-learning-specialization\u002Flab04-gradient-descent",[14436,14437,6749],"gradiente-descendente","otimizacao","dPZR4SOlZIhg6S2-xD1g-RDgMsuyf5eAfVMCCPFYZlw",{"id":14440,"title":14441,"body":14442,"cover":3,"date":6739,"description":16184,"extension":30,"meta":16185,"navigation":32,"order":2401,"path":16186,"playlist":6743,"seo":16187,"status":36,"stem":16188,"tags":16189,"__hash__":16192},"posts\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab01-numpy-vectorization.md","NumPy e Vetorização",{"type":8,"value":14443,"toc":16170},[14444,14450,14456,14460,14466,14474,14477,14481,14695,14743,14750,14754,14775,14814,14818,14823,14857,14869,14875,14879,14898,15157,15160,15217,15221,15231,15237,15250,15261,15264,15267,15271,15363,15397,15422,15669,15671,15885,15902,15904,15915,15964,15979,16013,16028,16070,16074,16165,16168],[11,14445,14446],{},[57,14447],{"alt":14448,"src":14449},"Meme \"o protetor silencioso\": um soldado rotulado como Álgebra Linear, Estatística, Cálculo e Teoria da Probabilidade toma tiro atrás de tiro no lugar de um \"ML Newbie\" que dorme tranquilo numa cama, sem fazer ideia de nada disso","\u002Fimages\u002Fposts\u002Fmachine-learning-specialization\u002Fw2-lab01-numpy-vectorization\u002Fmeme-vectorization.jpg",[11,14451,14452,14453,14455],{},"Bora fazer uma pausa na trilogia. Esse post não tem modelo novo pra treinar, não tem custo pra calcular, não tem ladeira pra descer. É um post de ferramenta, tipo parar no posto pra trocar o pneu carequinha antes dele estourar na estrada. Ele existe porque a partir da Semana 2 do curso o modelo ganha várias features de uma vez (tamanho, número de quartos, idade da casa, tudo junto), e a essa altura fazer conta com laço ",[65,14454,8578],{}," deixa de ser viável. Bora entender a ferramenta que resolve isso antes de precisar dela de verdade.",[289,14457,14459],{"id":14458},"lista-python-funciona-então-por-que-trocar","Lista Python funciona, então por que trocar",[11,14461,14462,14463,1613],{},"Python já vem com listas, que guardam número igual a array. Então por que a comunidade inteira de ML usa uma biblioteca à parte pra isso? Resposta curta: ",[15,14464,14465],{},"memória",[11,14467,14468,14469,14473],{},"Uma lista Python guarda cada número como um objeto separado, espalhado pela memória, com um monte de informação extra grudada nele (tipo, contador de referência, etc). Fazer conta em cima disso significa o processador ficar pulando de endereço em endereço, desembrulhando cada objeto pra pegar o valor de dentro. Já um array ",[6867,14470,14472],{"definition":14471},"biblioteca de Python especializada em arrays numéricos, com todos os elementos do mesmo tipo guardados lado a lado na memória","NumPy"," guarda os números crus, do mesmo tipo, um do lado do outro, num bloco contínuo de memória. O processador consegue processar um monte deles de uma vez, com instruções especiais que existem exatamente pra isso.",[11,14475,14476],{},"Essa diferença de layout de memória é o motivo de verdade por trás da velocidade do NumPy. Não é mágica, é engenharia de baixo nível.",[289,14478,14480],{"id":14479},"vetor-a-peça-básica","Vetor: a peça básica",[11,14482,14483,14484,14512,14513,14517,14518,14565,14566,14594,14595,14641,14642,14694],{},"Um vetor é um monte de números organizados em ordem, com todos do mesmo tipo. Na notação do curso, vetor é letra minúscula em negrito, tipo ",[75,14485,14487,14500],{"className":14486},[78],[75,14488,14490],{"className":14489},[82],[84,14491,14492],{"xmlns":86},[88,14493,14494,14498],{},[91,14495,14496],{},[97,14497,119],{"mathvariant":596},[140,14499,639],{"encoding":142},[75,14501,14503],{"className":14502,"ariaHidden":108},[147],[75,14504,14506,14509],{"className":14505},[151],[75,14507],{"className":14508,"style":609},[155],[75,14510,119],{"className":14511},[160,613],". O tamanho de um vetor chama ",[6867,14514,14516],{"definition":14515},"uma tupla que descreve o formato de um array: quantos elementos em cada dimensão","shape",", escrito ",[75,14519,14521,14541],{"className":14520},[78],[75,14522,14524],{"className":14523},[82],[84,14525,14526],{"xmlns":86},[88,14527,14528,14538],{},[91,14529,14530,14532,14534,14536],{},[106,14531,116],{"stretchy":115},[97,14533,1482],{},[106,14535,109],{"separator":108},[106,14537,122],{"stretchy":115},[140,14539,14540],{"encoding":142},"(n,)",[75,14542,14544],{"className":14543,"ariaHidden":108},[147],[75,14545,14547,14550,14553,14556,14559,14562],{"className":14546},[151],[75,14548],{"className":14549,"style":2081},[155],[75,14551,116],{"className":14552},[230],[75,14554,1482],{"className":14555},[160,164],[75,14557,109],{"className":14558},[209],[75,14560],{"className":14561,"style":263},[241],[75,14563,122],{"className":14564},[237]," pra um vetor de ",[75,14567,14569,14582],{"className":14568},[78],[75,14570,14572],{"className":14571},[82],[84,14573,14574],{"xmlns":86},[88,14575,14576,14580],{},[91,14577,14578],{},[97,14579,1482],{},[140,14581,1482],{"encoding":142},[75,14583,14585],{"className":14584,"ariaHidden":108},[147],[75,14586,14588,14591],{"className":14587},[151],[75,14589],{"className":14590,"style":329},[155],[75,14592,1482],{"className":14593},[160,164]," elementos. Repara na vírgula sozinha ali dentro dos parênteses: ela é o jeito do Python dizer \"isso é uma tupla de um elemento só\", e é fácil confundir ",[75,14596,14598,14617],{"className":14597},[78],[75,14599,14601],{"className":14600},[82],[84,14602,14603],{"xmlns":86},[88,14604,14605,14615],{},[91,14606,14607,14609,14611,14613],{},[106,14608,116],{"stretchy":115},[97,14610,1482],{},[106,14612,109],{"separator":108},[106,14614,122],{"stretchy":115},[140,14616,14540],{"encoding":142},[75,14618,14620],{"className":14619,"ariaHidden":108},[147],[75,14621,14623,14626,14629,14632,14635,14638],{"className":14622},[151],[75,14624],{"className":14625,"style":2081},[155],[75,14627,116],{"className":14628},[230],[75,14630,1482],{"className":14631},[160,164],[75,14633,109],{"className":14634},[209],[75,14636],{"className":14637,"style":263},[241],[75,14639,122],{"className":14640},[237]," com ",[75,14643,14645,14667],{"className":14644},[78],[75,14646,14648],{"className":14647},[82],[84,14649,14650],{"xmlns":86},[88,14651,14652,14664],{},[91,14653,14654,14656,14658,14660,14662],{},[106,14655,116],{"stretchy":115},[97,14657,1482],{},[106,14659,109],{"separator":108},[1316,14661,1578],{},[106,14663,122],{"stretchy":115},[140,14665,14666],{"encoding":142},"(n,1)",[75,14668,14670],{"className":14669,"ariaHidden":108},[147],[75,14671,14673,14676,14679,14682,14685,14688,14691],{"className":14672},[151],[75,14674],{"className":14675,"style":2081},[155],[75,14677,116],{"className":14678},[230],[75,14680,1482],{"className":14681},[160,164],[75,14683,109],{"className":14684},[209],[75,14686],{"className":14687,"style":263},[241],[75,14689,1578],{"className":14690},[160],[75,14692,122],{"className":14693},[237]," mais pra frente, então já fica de olho nisso.",[2376,14696,14698],{"className":2378,"code":14697,"language":2380,"meta":26,"style":26},"import numpy as np\n\na = np.zeros(4)\nprint(f\"np.zeros(4): a = {a}, shape = {a.shape}, dtype = {a.dtype}\")\n# a = [0. 0. 0. 0.], shape = (4,), dtype = float64\n\na = np.array([5, 4, 3, 2])\nprint(f\"np.array: a = {a}, shape = {a.shape}, dtype = {a.dtype}\")\n# a = [5 4 3 2], shape = (4,), dtype = int64\n",[65,14699,14700,14705,14709,14714,14719,14724,14728,14733,14738],{"__ignoreMap":26},[75,14701,14702],{"class":2385,"line":33},[75,14703,14704],{},"import numpy as np\n",[75,14706,14707],{"class":2385,"line":27},[75,14708,2422],{"emptyLinePlaceholder":32},[75,14710,14711],{"class":2385,"line":2396},[75,14712,14713],{},"a = np.zeros(4)\n",[75,14715,14716],{"class":2385,"line":2401},[75,14717,14718],{},"print(f\"np.zeros(4): a = {a}, shape = {a.shape}, dtype = {a.dtype}\")\n",[75,14720,14721],{"class":2385,"line":2407},[75,14722,14723],{},"# a = [0. 0. 0. 0.], shape = (4,), dtype = float64\n",[75,14725,14726],{"class":2385,"line":2413},[75,14727,2422],{"emptyLinePlaceholder":32},[75,14729,14730],{"class":2385,"line":2419},[75,14731,14732],{},"a = np.array([5, 4, 3, 2])\n",[75,14734,14735],{"class":2385,"line":2425},[75,14736,14737],{},"print(f\"np.array: a = {a}, shape = {a.shape}, dtype = {a.dtype}\")\n",[75,14739,14740],{"class":2385,"line":2431},[75,14741,14742],{},"# a = [5 4 3 2], shape = (4,), dtype = int64\n",[11,14744,14745,14746,14749],{},"Um detalhe que me pegou de primeira viagem: um único valor com ponto decimal na lista já é suficiente pra o array inteiro virar ",[65,14747,14748],{},"float64",". Faz sentido, já que todo elemento do array precisa ser do mesmo tipo.",[2371,14751,14753],{"id":14752},"indexação-e-fatiamento","Indexação e fatiamento",[11,14755,14756,14757,14760,14761,14764,14765,14768,14769,14771,14772,14774],{},"Indexar (",[65,14758,14759],{},"a[2]",") pega um elemento, enquanto fatiar (",[65,14762,14763],{},"a[2:7]",") pega um pedaço. As regras são as mesmas que listas Python: conta começa em zero, índice negativo conta do fim (",[65,14766,14767],{},"a[-1]"," é o último elemento), e o fim do fatiamento ",[15,14770,5955],{}," entra (",[65,14773,14763],{}," pega os índices 2, 3, 4, 5 e 6, cinco elementos, não seis).",[2376,14776,14778],{"className":2378,"code":14777,"language":2380,"meta":26,"style":26},"a = np.arange(10)          # [0 1 2 3 4 5 6 7 8 9]\n\nprint(a[2])                 # 2, um elemento pego = um escalar\nprint(a[-1])                 # 9, último elemento\nprint(a[2:7:1])              # [2 3 4 5 6], do índice 2 até o 6\nprint(a[3:])                  # [3 4 5 6 7 8 9], do índice 3 até o fim\nprint(a[:3])                   # [0 1 2], do início até o índice 2\n",[65,14779,14780,14785,14789,14794,14799,14804,14809],{"__ignoreMap":26},[75,14781,14782],{"class":2385,"line":33},[75,14783,14784],{},"a = np.arange(10)          # [0 1 2 3 4 5 6 7 8 9]\n",[75,14786,14787],{"class":2385,"line":27},[75,14788,2422],{"emptyLinePlaceholder":32},[75,14790,14791],{"class":2385,"line":2396},[75,14792,14793],{},"print(a[2])                 # 2, um elemento pego = um escalar\n",[75,14795,14796],{"class":2385,"line":2401},[75,14797,14798],{},"print(a[-1])                 # 9, último elemento\n",[75,14800,14801],{"class":2385,"line":2407},[75,14802,14803],{},"print(a[2:7:1])              # [2 3 4 5 6], do índice 2 até o 6\n",[75,14805,14806],{"class":2385,"line":2413},[75,14807,14808],{},"print(a[3:])                  # [3 4 5 6 7 8 9], do índice 3 até o fim\n",[75,14810,14811],{"class":2385,"line":2419},[75,14812,14813],{},"print(a[:3])                   # [0 1 2], do início até o índice 2\n",[2371,14815,14817],{"id":14816},"operações-sem-laço-nenhum","Operações sem laço nenhum",[11,14819,14820,14821,3538],{},"Aqui mora a parte boa. Operações de vetor rodam em cima do array inteiro de uma vez, sem você escrever nenhum ",[65,14822,8578],{},[2376,14824,14826],{"className":2378,"code":14825,"language":2380,"meta":26,"style":26},"a = np.array([1, 2, 3, 4])\n\nprint(-a)          # [-1 -2 -3 -4], troca o sinal de todo mundo de uma vez\nprint(np.sum(a))   # 10, soma tudo\nprint(a ** 2)       # [1 4 9 16], eleva cada elemento ao quadrado\nprint(5 * a)          # [5 10 15 20], multiplica cada elemento por 5\n",[65,14827,14828,14833,14837,14842,14847,14852],{"__ignoreMap":26},[75,14829,14830],{"class":2385,"line":33},[75,14831,14832],{},"a = np.array([1, 2, 3, 4])\n",[75,14834,14835],{"class":2385,"line":27},[75,14836,2422],{"emptyLinePlaceholder":32},[75,14838,14839],{"class":2385,"line":2396},[75,14840,14841],{},"print(-a)          # [-1 -2 -3 -4], troca o sinal de todo mundo de uma vez\n",[75,14843,14844],{"class":2385,"line":2401},[75,14845,14846],{},"print(np.sum(a))   # 10, soma tudo\n",[75,14848,14849],{"class":2385,"line":2407},[75,14850,14851],{},"print(a ** 2)       # [1 4 9 16], eleva cada elemento ao quadrado\n",[75,14853,14854],{"class":2385,"line":2413},[75,14855,14856],{},"print(5 * a)          # [5 10 15 20], multiplica cada elemento por 5\n",[11,14858,14859,14860,14863,14864,14868],{},"Repara no último exemplo: o ",[65,14861,14862],{},"5"," era só um número solto, mas o NumPy \"esticou\" ele sozinho pra combinar com os 4 elementos do array. Isso tem nome, ",[6867,14865,14867],{"definition":14866},"quando o NumPy estica um número (ou um array menor) pra combinar com o tamanho de um array maior, sem você escrever loop nenhum","broadcasting",", e vai aparecer bastante daqui pra frente.",[11,14870,14871,14872,14874],{},"Isso é a ideia central desse lab inteiro: você descreve a operação sobre o array inteiro, e deixa o NumPy decidir como aplicar em cada elemento por baixo do capô. Se você reparar que tá escrevendo um ",[65,14873,8578],{}," pra percorrer um array, provavelmente existe uma versão vetorizada equivalente esperando pra ser usada.",[289,14876,14878],{"id":14877},"produto-escalar-a-operação-que-sustenta-a-regressão-linear","Produto escalar: a operação que sustenta a regressão linear",[11,14880,14881,14882,10816,14886,14889,14890,14893,14894,14897],{},"O ",[6867,14883,14885],{"definition":14884},"multiplicar dois vetores elemento a elemento e somar tudo, resultando em um único número","produto escalar",[2366,14887,14888],{},"dot product",") é a operação mais importante desse lab, porque é literalmente o que vai substituir aquele ",[65,14891,14892],{},"w * x[i] + b"," que a gente escreveu com laço ",[557,14895,14896],{"href":6760},"nos posts anteriores",", quando o modelo ganhar várias features.",[11,14899,14900],{},[75,14901,14903,14956],{"className":14902},[78],[75,14904,14906],{"className":14905},[82],[84,14907,14908],{"xmlns":86},[88,14909,14910,14953],{},[91,14911,14912,14914,14917,14919,14921,14941,14947],{},[97,14913,557],{"mathvariant":596},[106,14915,14916],{},"⋅",[97,14918,112],{"mathvariant":596},[106,14920,125],{},[6966,14922,14923,14925,14933],{},[106,14924,6970],{},[91,14926,14927,14929,14931],{},[97,14928,731],{},[106,14930,125],{},[1316,14932,1835],{},[91,14934,14935,14937,14939],{},[97,14936,1482],{},[106,14938,4410],{},[1316,14940,1578],{},[94,14942,14943,14945],{},[97,14944,557],{},[97,14946,731],{},[94,14948,14949,14951],{},[97,14950,112],{},[97,14952,731],{},[140,14954,14955],{"encoding":142},"\\mathbf{a} \\cdot \\mathbf{b} = \\sum_{i=0}^{n-1} a_i b_i",[75,14957,14959,14978,14996],{"className":14958,"ariaHidden":108},[147],[75,14960,14962,14966,14969,14972,14975],{"className":14961},[151],[75,14963],{"className":14964,"style":14965},[155],"height:0.4445em;",[75,14967,557],{"className":14968},[160,613],[75,14970],{"className":14971,"style":270},[241],[75,14973,14916],{"className":14974},[274],[75,14976],{"className":14977,"style":270},[241],[75,14979,14981,14984,14987,14990,14993],{"className":14980},[151],[75,14982],{"className":14983,"style":284},[155],[75,14985,112],{"className":14986},[160,613],[75,14988],{"className":14989,"style":242},[241],[75,14991,125],{"className":14992},[246],[75,14994],{"className":14995,"style":242},[241],[75,14997,14999,15002,15071,15074,15117],{"className":14998},[151],[75,15000],{"className":15001,"style":8042},[155],[75,15003,15005,15008],{"className":15004},[7166],[75,15006,6970],{"className":15007,"style":7172},[7166,7170,7171],[75,15009,15011],{"className":15010},[169],[75,15012,15014,15063],{"className":15013},[173,174],[75,15015,15017,15060],{"className":15016},[178],[75,15018,15020,15040],{"className":15019,"style":7185},[182],[75,15021,15022,15025],{"style":7188},[75,15023],{"className":15024,"style":191},[190],[75,15026,15028],{"className":15027},[195,196,197,198],[75,15029,15031,15034,15037],{"className":15030},[160,198],[75,15032,731],{"className":15033},[160,164,198],[75,15035,125],{"className":15036},[246,198],[75,15038,1835],{"className":15039},[160,198],[75,15041,15042,15045],{"style":7209},[75,15043],{"className":15044,"style":191},[190],[75,15046,15048],{"className":15047},[195,196,197,198],[75,15049,15051,15054,15057],{"className":15050},[160,198],[75,15052,1482],{"className":15053},[160,164,198],[75,15055,4410],{"className":15056},[274,198],[75,15058,1578],{"className":15059},[160,198],[75,15061,217],{"className":15062},[216],[75,15064,15066],{"className":15065},[178],[75,15067,15069],{"className":15068,"style":7237},[182],[75,15070],{},[75,15072],{"className":15073,"style":263},[241],[75,15075,15077,15080],{"className":15076},[160],[75,15078,557],{"className":15079},[160,164],[75,15081,15083],{"className":15082},[169],[75,15084,15086,15108],{"className":15085},[173,174],[75,15087,15089,15105],{"className":15088},[178],[75,15090,15093],{"className":15091,"style":15092},[182],"height:0.3117em;",[75,15094,15096,15099],{"style":15095},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[75,15097],{"className":15098,"style":191},[190],[75,15100,15102],{"className":15101},[195,196,197,198],[75,15103,731],{"className":15104},[160,164,198],[75,15106,217],{"className":15107},[216],[75,15109,15111],{"className":15110},[178],[75,15112,15115],{"className":15113,"style":15114},[182],"height:0.15em;",[75,15116],{},[75,15118,15120,15123],{"className":15119},[160],[75,15121,112],{"className":15122},[160,164],[75,15124,15126],{"className":15125},[169],[75,15127,15129,15149],{"className":15128},[173,174],[75,15130,15132,15146],{"className":15131},[178],[75,15133,15135],{"className":15134,"style":15092},[182],[75,15136,15137,15140],{"style":15095},[75,15138],{"className":15139,"style":191},[190],[75,15141,15143],{"className":15142},[195,196,197,198],[75,15144,731],{"className":15145},[160,164,198],[75,15147,217],{"className":15148},[216],[75,15150,15152],{"className":15151},[178],[75,15153,15155],{"className":15154,"style":15114},[182],[75,15156],{},[11,15158,15159],{},"Multiplica par a par, soma tudo. Simples assim. Antes de usar a versão pronta do NumPy, escrevi a minha, só pra deixar claro o que tá rolando por dentro:",[2376,15161,15163],{"className":2378,"code":15162,"language":2380,"meta":26,"style":26},"def my_dot(a, b):\n    x = 0\n    for i in range(a.shape[0]):\n        x = x + a[i] * b[i]\n    return x\n\na = np.array([1, 2, 3, 4])\nb = np.array([-1, 4, 3, 2])\n\nprint(my_dot(a, b))       # 24\nprint(np.dot(a, b))       # 24, mesmo resultado, função pronta do NumPy\n",[65,15164,15165,15170,15175,15180,15185,15190,15194,15198,15203,15207,15212],{"__ignoreMap":26},[75,15166,15167],{"class":2385,"line":33},[75,15168,15169],{},"def my_dot(a, b):\n",[75,15171,15172],{"class":2385,"line":27},[75,15173,15174],{},"    x = 0\n",[75,15176,15177],{"class":2385,"line":2396},[75,15178,15179],{},"    for i in range(a.shape[0]):\n",[75,15181,15182],{"class":2385,"line":2401},[75,15183,15184],{},"        x = x + a[i] * b[i]\n",[75,15186,15187],{"class":2385,"line":2407},[75,15188,15189],{},"    return x\n",[75,15191,15192],{"class":2385,"line":2413},[75,15193,2422],{"emptyLinePlaceholder":32},[75,15195,15196],{"class":2385,"line":2419},[75,15197,14832],{},[75,15199,15200],{"class":2385,"line":2425},[75,15201,15202],{},"b = np.array([-1, 4, 3, 2])\n",[75,15204,15205],{"class":2385,"line":2431},[75,15206,2422],{"emptyLinePlaceholder":32},[75,15208,15209],{"class":2385,"line":2437},[75,15210,15211],{},"print(my_dot(a, b))       # 24\n",[75,15213,15214],{"class":2385,"line":2442},[75,15215,15216],{},"print(np.dot(a, b))       # 24, mesmo resultado, função pronta do NumPy\n",[289,15218,15220],{"id":15219},"a-diferença-de-velocidade-ao-vivo-no-seu-navegador","A diferença de velocidade, ao vivo no seu navegador",[11,15222,15223,15224,15227,15228,15230],{},"O notebook original testa isso com arrays de 10 milhões de elementos, comparando ",[65,15225,15226],{},"np.dot"," (vetorizado) contra um laço ",[65,15229,8578],{}," escrito à mão, em Python. O ganho lá é de dezenas a centenas de vezes.",[11,15232,15233,15234,15236],{},"Aqui embaixo você pode rodar um teste parecido, só que no seu próprio navegador, agora, com JavaScript. Só que preciso ser honesto com você sobre uma coisa antes: o navegador ",[15,15235,5955],{}," vai mostrar um ganho de 100 vezes. E não é porque o teste tá quebrado.",[11,15238,15239,15240,15242,15243,15246,15247,15249],{},"O motor JavaScript do seu navegador (o V8, se você usa Chrome ou Edge) já otimiza um laço ",[65,15241,8578],{}," simples de um jeito bem parecido com o que ele faz pra métodos prontos tipo ",[65,15244,15245],{},".reduce()",". Quando eu comparei \"laço\" contra \"",[65,15248,15245],{},"\" no mesmo tipo de array, deu um empate quase técnico, e isso era esperado, não bug do teste.",[11,15251,15252,15253,15256,15257,15260],{},"A comparação que de fato mostra uma diferença real e honesta é outra: ",[65,15254,15255],{},"Array"," comum do JavaScript (que guarda os números meio \"embrulhados\", parecido com a lista Python que a gente comentou lá em cima) contra ",[65,15258,15259],{},"Float64Array"," (memória contígua, tipo único, sem embrulho). Essa é a mesma razão de fundo que faz o NumPy ser rápido, só que reproduzida aqui no navegador com um ganho menor e honesto (geralmente de 2 a 5 vezes, às vezes mais), em vez de eu fingir que dava pra recriar o número gigante do Python num ambiente que não foi desenhado pra isso.",[15262,15263],"vectorization-benchmark",{},[11,15265,15266],{},"Roda algumas vezes com tamanhos diferentes. Repara que \"Array comum + laço\" costuma ser visivelmente mais lento que as outras duas, e que \"Float64Array + laço\" e \"Float64Array + .reduce()\" ficam bem próximos entre si. É exatamente esse padrão que a explicação acima previu.",[289,15268,15270],{"id":15269},"matrizes-quando-um-vetor-não-basta","Matrizes: quando um vetor não basta",[11,15272,15273,15274,15305,15306,15358,15359,15362],{},"Matriz é um array de duas dimensões, escrito com letra maiúscula em negrito (",[75,15275,15277,15292],{"className":15276},[78],[75,15278,15280],{"className":15279},[82],[84,15281,15282],{"xmlns":86},[88,15283,15284,15289],{},[91,15285,15286],{},[97,15287,15288],{"mathvariant":596},"X",[140,15290,15291],{"encoding":142},"\\mathbf{X}",[75,15293,15295],{"className":15294,"ariaHidden":108},[147],[75,15296,15298,15302],{"className":15297},[151],[75,15299],{"className":15300,"style":15301},[155],"height:0.6861em;",[75,15303,15288],{"className":15304},[160,613],"), com shape ",[75,15307,15309,15331],{"className":15308},[78],[75,15310,15312],{"className":15311},[82],[84,15313,15314],{"xmlns":86},[88,15315,15316,15328],{},[91,15317,15318,15320,15322,15324,15326],{},[106,15319,116],{"stretchy":115},[97,15321,317],{},[106,15323,109],{"separator":108},[97,15325,1482],{},[106,15327,122],{"stretchy":115},[140,15329,15330],{"encoding":142},"(m, n)",[75,15332,15334],{"className":15333,"ariaHidden":108},[147],[75,15335,15337,15340,15343,15346,15349,15352,15355],{"className":15336},[151],[75,15338],{"className":15339,"style":2081},[155],[75,15341,116],{"className":15342},[230],[75,15344,317],{"className":15345},[160,164],[75,15347,109],{"className":15348},[209],[75,15350],{"className":15351,"style":263},[241],[75,15353,1482],{"className":15354},[160,164],[75,15356,122],{"className":15357},[237],". No contexto do curso a convenção é sempre a mesma: ",[15,15360,15361],{},"linha é exemplo de treino, coluna é feature",". Uma casa por linha, um atributo (tamanho, quartos, idade) por coluna.",[2376,15364,15366],{"className":2378,"code":15365,"language":2380,"meta":26,"style":26},"X = np.array([[1, 5], [2, 3], [3, 1]])   # shape (3, 2): 3 exemplos, 2 features cada\n\nprint(X.shape)      # (3, 2)\nprint(X[1])          # [2 3], a linha 1 inteira, vira um vetor 1-D\nprint(X[1, 0])         # 2, um elemento específico, vira escalar\nprint(X[:, 0])           # [1 2 3], a coluna 0 inteira\n",[65,15367,15368,15373,15377,15382,15387,15392],{"__ignoreMap":26},[75,15369,15370],{"class":2385,"line":33},[75,15371,15372],{},"X = np.array([[1, 5], [2, 3], [3, 1]])   # shape (3, 2): 3 exemplos, 2 features cada\n",[75,15374,15375],{"class":2385,"line":27},[75,15376,2422],{"emptyLinePlaceholder":32},[75,15378,15379],{"class":2385,"line":2396},[75,15380,15381],{},"print(X.shape)      # (3, 2)\n",[75,15383,15384],{"class":2385,"line":2401},[75,15385,15386],{},"print(X[1])          # [2 3], a linha 1 inteira, vira um vetor 1-D\n",[75,15388,15389],{"class":2385,"line":2407},[75,15390,15391],{},"print(X[1, 0])         # 2, um elemento específico, vira escalar\n",[75,15393,15394],{"class":2385,"line":2413},[75,15395,15396],{},"print(X[:, 0])           # [1 2 3], a coluna 0 inteira\n",[11,15398,15399,15400,15402,15403,15406,15407,15410,15411,15413,15414,15417,15418,15421],{},"O detalhe que mais confunde gente nova aqui: indexar uma matriz com ",[15,15401,9589],{}," índice só (",[65,15404,15405],{},"X[1]",") devolve um array com ",[15,15408,15409],{},"uma dimensão a menos",", não uma matriz de uma linha só. ",[65,15412,15405],{}," tem shape ",[65,15415,15416],{},"(2,)",", não ",[65,15419,15420],{},"(1, 2)",". Essa pegadinha específica é a origem de boa parte dos erros de dimensão que você vai encontrar daqui pra frente no curso, e eu aprendi a grifar isso mentalmente sempre que mexo com shape.",[11,15423,15424,15425,15453,15454,15482,15483,15529,15530,15559,15560,15606,15607,15635,15636,15639,15640,15668],{},"E é justamente por causa disso que o produto escalar entra em cena de novo: quando o modelo tiver ",[75,15426,15428,15441],{"className":15427},[78],[75,15429,15431],{"className":15430},[82],[84,15432,15433],{"xmlns":86},[88,15434,15435,15439],{},[91,15436,15437],{},[97,15438,1482],{},[140,15440,1482],{"encoding":142},[75,15442,15444],{"className":15443,"ariaHidden":108},[147],[75,15445,15447,15450],{"className":15446},[151],[75,15448],{"className":15449,"style":329},[155],[75,15451,1482],{"className":15452},[160,164]," features, cada linha da matriz ",[75,15455,15457,15470],{"className":15456},[78],[75,15458,15460],{"className":15459},[82],[84,15461,15462],{"xmlns":86},[88,15463,15464,15468],{},[91,15465,15466],{},[97,15467,15288],{"mathvariant":596},[140,15469,15291],{"encoding":142},[75,15471,15473],{"className":15472,"ariaHidden":108},[147],[75,15474,15476,15479],{"className":15475},[151],[75,15477],{"className":15478,"style":15301},[155],[75,15480,15288],{"className":15481},[160,613]," vira um vetor de shape ",[75,15484,15486,15505],{"className":15485},[78],[75,15487,15489],{"className":15488},[82],[84,15490,15491],{"xmlns":86},[88,15492,15493,15503],{},[91,15494,15495,15497,15499,15501],{},[106,15496,116],{"stretchy":115},[97,15498,1482],{},[106,15500,109],{"separator":108},[106,15502,122],{"stretchy":115},[140,15504,14540],{"encoding":142},[75,15506,15508],{"className":15507,"ariaHidden":108},[147],[75,15509,15511,15514,15517,15520,15523,15526],{"className":15510},[151],[75,15512],{"className":15513,"style":2081},[155],[75,15515,116],{"className":15516},[230],[75,15518,1482],{"className":15519},[160,164],[75,15521,109],{"className":15522},[209],[75,15524],{"className":15525,"style":263},[241],[75,15527,122],{"className":15528},[237],", pronto pra fazer produto escalar direto com o vetor de pesos ",[75,15531,15533,15547],{"className":15532},[78],[75,15534,15536],{"className":15535},[82],[84,15537,15538],{"xmlns":86},[88,15539,15540,15544],{},[91,15541,15542],{},[97,15543,104],{"mathvariant":596},[140,15545,15546],{"encoding":142},"\\mathbf{w}",[75,15548,15550],{"className":15549,"ariaHidden":108},[147],[75,15551,15553,15556],{"className":15552},[151],[75,15554],{"className":15555,"style":609},[155],[75,15557,104],{"className":15558,"style":695},[160,613],", também de shape ",[75,15561,15563,15582],{"className":15562},[78],[75,15564,15566],{"className":15565},[82],[84,15567,15568],{"xmlns":86},[88,15569,15570,15580],{},[91,15571,15572,15574,15576,15578],{},[106,15573,116],{"stretchy":115},[97,15575,1482],{},[106,15577,109],{"separator":108},[106,15579,122],{"stretchy":115},[140,15581,14540],{"encoding":142},[75,15583,15585],{"className":15584,"ariaHidden":108},[147],[75,15586,15588,15591,15594,15597,15600,15603],{"className":15587},[151],[75,15589],{"className":15590,"style":2081},[155],[75,15592,116],{"className":15593},[230],[75,15595,1482],{"className":15596},[160,164],[75,15598,109],{"className":15599},[209],[75,15601],{"className":15602,"style":263},[241],[75,15604,122],{"className":15605},[237],". A previsão do exemplo ",[75,15608,15610,15623],{"className":15609},[78],[75,15611,15613],{"className":15612},[82],[84,15614,15615],{"xmlns":86},[88,15616,15617,15621],{},[91,15618,15619],{},[97,15620,731],{},[140,15622,731],{"encoding":142},[75,15624,15626],{"className":15625,"ariaHidden":108},[147],[75,15627,15629,15632],{"className":15628},[151],[75,15630],{"className":15631,"style":890},[155],[75,15633,731],{"className":15634},[160,164]," vira ",[65,15637,15638],{},"np.dot(w, X[i]) + b",", uma linha de código só, sem laço nenhum, não importa se ",[75,15641,15643,15656],{"className":15642},[78],[75,15644,15646],{"className":15645},[82],[84,15647,15648],{"xmlns":86},[88,15649,15650,15654],{},[91,15651,15652],{},[97,15653,1482],{},[140,15655,1482],{"encoding":142},[75,15657,15659],{"className":15658,"ariaHidden":108},[147],[75,15660,15662,15665],{"className":15661},[151],[75,15663],{"className":15664,"style":329},[155],[75,15666,1482],{"className":15667},[160,164]," é 1 ou 100.",[289,15670,5960],{"id":5959},[516,15672,15673,15682],{},[519,15674,15675],{},[522,15676,15677,15680],{},[525,15678,15679],{"align":527},"Tópico",[525,15681,9604],{"align":527},[536,15683,15684,15692,15846,15854,15866,15877],{},[522,15685,15686,15689],{},[541,15687,15688],{"align":527},"Por que NumPy",[541,15690,15691],{"align":527},"memória contígua e tipada, sem embrulho por elemento, é isso que dá velocidade",[522,15693,15694,15697],{},[541,15695,15696],{"align":527},"Shape",[541,15698,15699,15745,15746,15798,15799,15845],{"align":527},[75,15700,15702,15721],{"className":15701},[78],[75,15703,15705],{"className":15704},[82],[84,15706,15707],{"xmlns":86},[88,15708,15709,15719],{},[91,15710,15711,15713,15715,15717],{},[106,15712,116],{"stretchy":115},[97,15714,1482],{},[106,15716,109],{"separator":108},[106,15718,122],{"stretchy":115},[140,15720,14540],{"encoding":142},[75,15722,15724],{"className":15723,"ariaHidden":108},[147],[75,15725,15727,15730,15733,15736,15739,15742],{"className":15726},[151],[75,15728],{"className":15729,"style":2081},[155],[75,15731,116],{"className":15732},[230],[75,15734,1482],{"className":15735},[160,164],[75,15737,109],{"className":15738},[209],[75,15740],{"className":15741,"style":263},[241],[75,15743,122],{"className":15744},[237]," é vetor, ",[75,15747,15749,15771],{"className":15748},[78],[75,15750,15752],{"className":15751},[82],[84,15753,15754],{"xmlns":86},[88,15755,15756,15768],{},[91,15757,15758,15760,15762,15764,15766],{},[106,15759,116],{"stretchy":115},[97,15761,317],{},[106,15763,109],{"separator":108},[97,15765,1482],{},[106,15767,122],{"stretchy":115},[140,15769,15770],{"encoding":142},"(m,n)",[75,15772,15774],{"className":15773,"ariaHidden":108},[147],[75,15775,15777,15780,15783,15786,15789,15792,15795],{"className":15776},[151],[75,15778],{"className":15779,"style":2081},[155],[75,15781,116],{"className":15782},[230],[75,15784,317],{"className":15785},[160,164],[75,15787,109],{"className":15788},[209],[75,15790],{"className":15791,"style":263},[241],[75,15793,1482],{"className":15794},[160,164],[75,15796,122],{"className":15797},[237]," é matriz, e a vírgula solta em ",[75,15800,15802,15821],{"className":15801},[78],[75,15803,15805],{"className":15804},[82],[84,15806,15807],{"xmlns":86},[88,15808,15809,15819],{},[91,15810,15811,15813,15815,15817],{},[106,15812,116],{"stretchy":115},[97,15814,1482],{},[106,15816,109],{"separator":108},[106,15818,122],{"stretchy":115},[140,15820,14540],{"encoding":142},[75,15822,15824],{"className":15823,"ariaHidden":108},[147],[75,15825,15827,15830,15833,15836,15839,15842],{"className":15826},[151],[75,15828],{"className":15829,"style":2081},[155],[75,15831,116],{"className":15832},[230],[75,15834,1482],{"className":15835},[160,164],[75,15837,109],{"className":15838},[209],[75,15840],{"className":15841,"style":263},[241],[75,15843,122],{"className":15844},[237]," importa",[522,15847,15848,15851],{},[541,15849,15850],{"align":527},"Indexação",[541,15852,15853],{"align":527},"começa em zero, e um índice numa matriz devolve uma dimensão a menos",[522,15855,15856,15859],{},[541,15857,15858],{"align":527},"Fatiamento",[541,15860,15861,15862,15865],{"align":527},"fim é sempre exclusivo, igual ",[65,15863,15864],{},"range()"," do Python",[522,15867,15868,15871],{},[541,15869,15870],{"align":527},"Produto escalar",[541,15872,15873,15876],{"align":527},[65,15874,15875],{},"np.dot(a, b)",", multiplica par a par e soma, devolve um escalar",[522,15878,15879,15882],{},[541,15880,15881],{"align":527},"Vetorização",[541,15883,15884],{"align":527},"ganho real vem de memória contígua e tipo único, não de \"mágica de biblioteca\"",[11,15886,15887,15890,15891,15893,15894,15897,15898,15901],{},[15,15888,15889],{},"Como isso conecta com o resto da playlist:"," com essas ferramentas na mão, o modelo que você construiu no ",[557,15892,14024],{"href":6760}," com um ",[65,15895,15896],{},"w * x + b"," escrito à mão vira ",[65,15899,15900],{},"np.dot(w, x) + b",", funcionando pra qualquer número de features sem reescrever nada. É exatamente essa base que o curso usa pra estender tudo que você já viu (modelo, custo, gradiente descendente) pra regressão linear com várias variáveis.",[289,15903,6484],{"id":6483},[11,15905,15906,15907,15910,15911,503,15913,1613],{},"Mesmo dataset real de imóveis dos posts anteriores (",[557,15908,6493],{"href":6490,"rel":15909},[6492],"). Esse post não treina nada, então aqui a ideia é só aplicar a mecânica de matriz\u002Fvetor em cima de nomes de coluna reais, em vez dos exemplos de brinquedo ",[65,15912,557],{},[65,15914,112],{},[2376,15916,15918],{"className":2378,"code":15917,"language":2380,"meta":26,"style":26},"import pandas as pd\nimport numpy as np\n\ndf = pd.read_csv(\"real_estate_dataset.csv\")\n\nX = df[[\"Square_Feet\", \"Num_Bedrooms\"]].to_numpy()[:3]   # 3 primeiras casas, 2 features\n\nprint(\"X.shape:\", X.shape)        # (3, 2): 3 exemplos, 2 features\nprint(\"X[1]:\", X[1])              # a segunda casa inteira, vira vetor 1-D\nprint(\"X[:, 0]:\", X[:, 0])        # a coluna Square_Feet inteira, todas as casas\n",[65,15919,15920,15924,15928,15932,15936,15940,15945,15949,15954,15959],{"__ignoreMap":26},[75,15921,15922],{"class":2385,"line":33},[75,15923,6508],{},[75,15925,15926],{"class":2385,"line":27},[75,15927,14704],{},[75,15929,15930],{"class":2385,"line":2396},[75,15931,2422],{"emptyLinePlaceholder":32},[75,15933,15934],{"class":2385,"line":2401},[75,15935,6517],{},[75,15937,15938],{"class":2385,"line":2407},[75,15939,2422],{"emptyLinePlaceholder":32},[75,15941,15942],{"class":2385,"line":2413},[75,15943,15944],{},"X = df[[\"Square_Feet\", \"Num_Bedrooms\"]].to_numpy()[:3]   # 3 primeiras casas, 2 features\n",[75,15946,15947],{"class":2385,"line":2419},[75,15948,2422],{"emptyLinePlaceholder":32},[75,15950,15951],{"class":2385,"line":2425},[75,15952,15953],{},"print(\"X.shape:\", X.shape)        # (3, 2): 3 exemplos, 2 features\n",[75,15955,15956],{"class":2385,"line":2431},[75,15957,15958],{},"print(\"X[1]:\", X[1])              # a segunda casa inteira, vira vetor 1-D\n",[75,15960,15961],{"class":2385,"line":2437},[75,15962,15963],{},"print(\"X[:, 0]:\", X[:, 0])        # a coluna Square_Feet inteira, todas as casas\n",[46,15965,15966],{},[11,15967,15968,1286,15970,9978,15973,9978,15976],{},[15,15969,2458],{},[65,15971,15972],{},"X.shape: (3, 2)",[65,15974,15975],{},"X[1]: [55.15  5.]",[65,15977,15978],{},"X[:, 0]: [143.64  55.15 202.96]",[2376,15980,15982],{"className":2378,"code":15981,"language":2380,"meta":26,"style":26},"# Produto escalar de verdade, com pesos arbitrários só pra ilustrar a mecânica\n# (não treinamos nada nesse post, isso não é o ajuste \"certo\"):\nw = np.array([2000, 10000])\n\nfor i in range(X.shape[0]):\n    print(f\"np.dot(w, X[{i}]) = {np.dot(w, X[i]):,.0f}\")\n",[65,15983,15984,15989,15994,15999,16003,16008],{"__ignoreMap":26},[75,15985,15986],{"class":2385,"line":33},[75,15987,15988],{},"# Produto escalar de verdade, com pesos arbitrários só pra ilustrar a mecânica\n",[75,15990,15991],{"class":2385,"line":27},[75,15992,15993],{},"# (não treinamos nada nesse post, isso não é o ajuste \"certo\"):\n",[75,15995,15996],{"class":2385,"line":2396},[75,15997,15998],{},"w = np.array([2000, 10000])\n",[75,16000,16001],{"class":2385,"line":2401},[75,16002,2422],{"emptyLinePlaceholder":32},[75,16004,16005],{"class":2385,"line":2407},[75,16006,16007],{},"for i in range(X.shape[0]):\n",[75,16009,16010],{"class":2385,"line":2413},[75,16011,16012],{},"    print(f\"np.dot(w, X[{i}]) = {np.dot(w, X[i]):,.0f}\")\n",[46,16014,16015],{},[11,16016,16017,1286,16019,9978,16022,9978,16025],{},[15,16018,2458],{},[65,16020,16021],{},"np.dot(w, X[0]) = 297,280",[65,16023,16024],{},"np.dot(w, X[1]) = 160,300",[65,16026,16027],{},"np.dot(w, X[2]) = 455,920",[11,16029,16030,16031,503,16033,16036,16037,16040,16041,16069],{},"Mesma conta, mesma mecânica do resto do post, só que rodando em cima de ",[65,16032,6559],{},[65,16034,16035],{},"Num_Bedrooms"," de verdade em vez de ",[65,16038,16039],{},"[1, 2, 3, 4]",". Treinar esses pesos de verdade (achar o ",[75,16042,16044,16057],{"className":16043},[78],[75,16045,16047],{"className":16046},[82],[84,16048,16049],{"xmlns":86},[88,16050,16051,16055],{},[91,16052,16053],{},[97,16054,104],{"mathvariant":596},[140,16056,15546],{"encoding":142},[75,16058,16060],{"className":16059,"ariaHidden":108},[147],[75,16061,16063,16066],{"className":16062},[151],[75,16064],{"className":16065,"style":609},[155],[75,16067,104],{"className":16068,"style":695},[160,613]," que faz sentido pros dados) é conteúdo de mais pra frente no curso, com múltiplas features de uma vez.",[2371,16071,16073],{"id":16072},"escolhendo-as-colunas-da-matriz-ao-vivo","Escolhendo as colunas da matriz, ao vivo",[11,16075,16076,16077,16105,16106,503,16134,16164],{},"Lembra que ",[75,16078,16080,16093],{"className":16079},[78],[75,16081,16083],{"className":16082},[82],[84,16084,16085],{"xmlns":86},[88,16086,16087,16091],{},[91,16088,16089],{},[97,16090,15288],{"mathvariant":596},[140,16092,15291],{"encoding":142},[75,16094,16096],{"className":16095,"ariaHidden":108},[147],[75,16097,16099,16102],{"className":16098},[151],[75,16100],{"className":16101,"style":15301},[155],[75,16103,15288],{"className":16104},[160,613]," é só uma matriz, linha por exemplo, coluna por feature? Escolhe você mesmo quais duas colunas viram os eixos ",[75,16107,16109,16122],{"className":16108},[78],[75,16110,16112],{"className":16111},[82],[84,16113,16114],{"xmlns":86},[88,16115,16116,16120],{},[91,16117,16118],{},[97,16119,119],{},[140,16121,119],{"encoding":142},[75,16123,16125],{"className":16124,"ariaHidden":108},[147],[75,16126,16128,16131],{"className":16127},[151],[75,16129],{"className":16130,"style":329},[155],[75,16132,119],{"className":16133},[160,164],[75,16135,16137,16151],{"className":16136},[78],[75,16138,16140],{"className":16139},[82],[84,16141,16142],{"xmlns":86},[88,16143,16144,16149],{},[91,16145,16146],{},[97,16147,16148],{},"z",[140,16150,16148],{"encoding":142},[75,16152,16154],{"className":16153,"ariaHidden":108},[147],[75,16155,16157,16160],{"className":16156},[151],[75,16158],{"className":16159,"style":329},[155],[75,16161,16148],{"className":16162,"style":16163},[160,164],"margin-right:0.044em;"," do gráfico abaixo (a altura fica sempre com o preço) e gira pra sentir como cada combinação de colunas se relaciona com o preço das 50 casas:",[16166,16167],"housing-feature-explorer3d",{},[6712,16169,6714],{},{"title":26,"searchDepth":27,"depth":27,"links":16171},[16172,16173,16177,16178,16179,16180,16181],{"id":14458,"depth":27,"text":14459},{"id":14479,"depth":27,"text":14480,"children":16174},[16175,16176],{"id":14752,"depth":2396,"text":14753},{"id":14816,"depth":2396,"text":14817},{"id":14877,"depth":27,"text":14878},{"id":15219,"depth":27,"text":15220},{"id":15269,"depth":27,"text":15270},{"id":5959,"depth":27,"text":5960},{"id":6483,"depth":27,"text":6484,"children":16182},[16183],{"id":16072,"depth":2396,"text":16073},"Por que todo código sério de ML usa NumPy em vez de lista Python: vetores, matrizes, produto escalar, e a diferença real (não a lenda) entre laço e conta vetorizada.",{},"\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab01-numpy-vectorization",{"title":14441,"description":16184},"pt\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab01-numpy-vectorization",[6748,16190,16191],"vetorizacao","ferramentas","0awsiRJzZCdtP1PsGWrG5GOwbVQZBe60Esxs9O-4wLo",{"id":16194,"title":16195,"body":16196,"cover":3,"date":6739,"description":18266,"extension":30,"meta":18267,"navigation":32,"order":2407,"path":18268,"playlist":6743,"seo":18269,"status":36,"stem":18270,"tags":18271,"__hash__":18277},"posts\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Floss-functions.md","Só pra complementar: Funções de Perda (MSE, MAE, Huber)",{"type":8,"value":16197,"toc":18257},[16198,16204,16214,16218,16233,16686,16692,16696,16707,17206,17212,17216,17219,17224,17227,17231,17271,17851,17883,17887,17902,17907,17910,17912,17971,17973,17993,17995,18001,18063,18078,18249,18252,18255],[11,16199,16200],{},[57,16201],{"alt":16202,"src":16203},"Meme \"olha o que eles precisam pra imitar uma fração do nosso poder\": uma GPU e um gráfico 3D de uma superfície de custo cheia de vales, ao lado de um cérebro gigante, com a legenda debaixo","\u002Fimages\u002Fposts\u002Fmachine-learning-specialization\u002Floss-functions\u002Fmeme-loss-function.jpeg",[11,16205,16206,16207,1286,16210,16213],{},"Esse post não vem de nenhum lab específico do curso, é um extra que a gente ganhou de tanto martelar em cima da função de custo nos ",[557,16208,16209],{"href":3829},"posts 2",[557,16211,16212],{"href":3833},"e 3",". Lá atrás a gente elevou o erro ao quadrado sem questionar muito o porquê, só que \"elevar ao quadrado\" é uma escolha, não a única opção. Bora abrir esse leque.",[289,16215,16217],{"id":16216},"dando-nome-ao-que-você-já-construiu-mse","Dando nome ao que você já construiu: MSE",[11,16219,16220,16221,16224,16225,10816,16229,16232],{},"A função de custo que você já usa desde o ",[557,16222,16223],{"href":3829},"post 2"," tem um nome oficial: ",[6867,16226,16228],{"definition":16227},"Mean Squared Error, erro quadrático médio, a mesma função de custo que você já usa desde o post 2","MSE",[2366,16230,16231],{},"Mean Squared Error",", erro quadrático médio).",[11,16234,16235],{},[75,16236,16238,16332],{"className":16237},[78],[75,16239,16241],{"className":16240},[82],[84,16242,16243],{"xmlns":86},[88,16244,16245,16329],{},[91,16246,16247,16249,16251,16257,16277],{},[129,16248,16228],{},[106,16250,125],{},[4392,16252,16253,16255],{},[1316,16254,1578],{},[97,16256,317],{},[6966,16258,16259,16261,16269],{},[106,16260,6970],{},[91,16262,16263,16265,16267],{},[97,16264,731],{},[106,16266,125],{},[1316,16268,1835],{},[91,16270,16271,16273,16275],{},[97,16272,317],{},[106,16274,4410],{},[1316,16276,1578],{},[721,16278,16279,16327],{},[91,16280,16281,16283,16295,16297,16309,16311,16313,16325],{},[106,16282,116],{"fence":108},[94,16284,16285,16287],{},[97,16286,99],{},[91,16288,16289,16291,16293],{},[97,16290,104],{},[106,16292,109],{"separator":108},[97,16294,112],{},[106,16296,116],{"stretchy":115},[721,16298,16299,16301],{},[97,16300,119],{},[91,16302,16303,16305,16307],{},[106,16304,116],{"stretchy":115},[97,16306,731],{},[106,16308,122],{"stretchy":115},[106,16310,122],{"stretchy":115},[106,16312,4410],{},[721,16314,16315,16317],{},[97,16316,678],{},[91,16318,16319,16321,16323],{},[106,16320,116],{"stretchy":115},[97,16322,731],{},[106,16324,122],{"stretchy":115},[106,16326,122],{"fence":108},[1316,16328,1318],{},[140,16330,16331],{"encoding":142},"\\text{MSE} = \\frac{1}{m}\\sum_{i=0}^{m-1}\\left(f_{w,b}(x^{(i)}) - y^{(i)}\\right)^2",[75,16333,16335,16356],{"className":16334,"ariaHidden":108},[147],[75,16336,16338,16341,16347,16350,16353],{"className":16337},[151],[75,16339],{"className":16340,"style":8437},[155],[75,16342,16344],{"className":16343},[160,2464],[75,16345,16228],{"className":16346},[160],[75,16348],{"className":16349,"style":242},[241],[75,16351,125],{"className":16352},[246],[75,16354],{"className":16355,"style":242},[241],[75,16357,16359,16362,16430,16433,16502,16505],{"className":16358},[151],[75,16360],{"className":16361,"style":7087},[155],[75,16363,16365,16368,16427],{"className":16364},[160],[75,16366],{"className":16367},[230,4513],[75,16369,16371],{"className":16370},[4392],[75,16372,16374,16419],{"className":16373},[173,174],[75,16375,16377,16416],{"className":16376},[178],[75,16378,16380,16394,16402],{"className":16379,"style":4777},[182],[75,16381,16382,16385],{"style":4780},[75,16383],{"className":16384,"style":4533},[190],[75,16386,16388],{"className":16387},[195,196,197,198],[75,16389,16391],{"className":16390},[160,198],[75,16392,317],{"className":16393},[160,164,198],[75,16395,16396,16399],{"style":4626},[75,16397],{"className":16398,"style":4533},[190],[75,16400],{"className":16401,"style":4634},[4633],[75,16403,16404,16407],{"style":4809},[75,16405],{"className":16406,"style":4533},[190],[75,16408,16410],{"className":16409},[195,196,197,198],[75,16411,16413],{"className":16412},[160,198],[75,16414,1578],{"className":16415},[160,198],[75,16417,217],{"className":16418},[216],[75,16420,16422],{"className":16421},[178],[75,16423,16425],{"className":16424,"style":7154},[182],[75,16426],{},[75,16428],{"className":16429},[237,4513],[75,16431],{"className":16432,"style":263},[241],[75,16434,16436,16439],{"className":16435},[7166],[75,16437,6970],{"className":16438,"style":7172},[7166,7170,7171],[75,16440,16442],{"className":16441},[169],[75,16443,16445,16494],{"className":16444},[173,174],[75,16446,16448,16491],{"className":16447},[178],[75,16449,16451,16471],{"className":16450,"style":7185},[182],[75,16452,16453,16456],{"style":7188},[75,16454],{"className":16455,"style":191},[190],[75,16457,16459],{"className":16458},[195,196,197,198],[75,16460,16462,16465,16468],{"className":16461},[160,198],[75,16463,731],{"className":16464},[160,164,198],[75,16466,125],{"className":16467},[246,198],[75,16469,1835],{"className":16470},[160,198],[75,16472,16473,16476],{"style":7209},[75,16474],{"className":16475,"style":191},[190],[75,16477,16479],{"className":16478},[195,196,197,198],[75,16480,16482,16485,16488],{"className":16481},[160,198],[75,16483,317],{"className":16484},[160,164,198],[75,16486,4410],{"className":16487},[274,198],[75,16489,1578],{"className":16490},[160,198],[75,16492,217],{"className":16493},[216],[75,16495,16497],{"className":16496},[178],[75,16498,16500],{"className":16499,"style":7237},[182],[75,16501],{},[75,16503],{"className":16504,"style":263},[241],[75,16506,16508,16663],{"className":16507},[7246],[75,16509,16511,16517,16566,16569,16607,16610,16613,16616,16619,16657],{"className":16510},[7246],[75,16512,16514],{"className":16513,"style":7254},[230,7253],[75,16515,116],{"className":16516},[7258,4570],[75,16518,16520,16523],{"className":16519},[160],[75,16521,99],{"className":16522,"style":165},[160,164],[75,16524,16526],{"className":16525},[169],[75,16527,16529,16558],{"className":16528},[173,174],[75,16530,16532,16555],{"className":16531},[178],[75,16533,16535],{"className":16534,"style":183},[182],[75,16536,16537,16540],{"style":186},[75,16538],{"className":16539,"style":191},[190],[75,16541,16543],{"className":16542},[195,196,197,198],[75,16544,16546,16549,16552],{"className":16545},[160,198],[75,16547,104],{"className":16548,"style":205},[160,164,198],[75,16550,109],{"className":16551},[209,198],[75,16553,112],{"className":16554},[160,164,198],[75,16556,217],{"className":16557},[216],[75,16559,16561],{"className":16560},[178],[75,16562,16564],{"className":16563,"style":224},[182],[75,16565],{},[75,16567,116],{"className":16568},[230],[75,16570,16572,16575],{"className":16571},[160],[75,16573,119],{"className":16574},[160,164],[75,16576,16578],{"className":16577},[169],[75,16579,16581],{"className":16580},[173],[75,16582,16584],{"className":16583},[178],[75,16585,16587],{"className":16586,"style":746},[182],[75,16588,16589,16592],{"style":767},[75,16590],{"className":16591,"style":191},[190],[75,16593,16595],{"className":16594},[195,196,197,198],[75,16596,16598,16601,16604],{"className":16597},[160,198],[75,16599,116],{"className":16600},[230,198],[75,16602,731],{"className":16603},[160,164,198],[75,16605,122],{"className":16606},[237,198],[75,16608,122],{"className":16609},[237],[75,16611],{"className":16612,"style":270},[241],[75,16614,4410],{"className":16615},[274],[75,16617],{"className":16618,"style":270},[241],[75,16620,16622,16625],{"className":16621},[160],[75,16623,678],{"className":16624,"style":829},[160,164],[75,16626,16628],{"className":16627},[169],[75,16629,16631],{"className":16630},[173],[75,16632,16634],{"className":16633},[178],[75,16635,16637],{"className":16636,"style":746},[182],[75,16638,16639,16642],{"style":767},[75,16640],{"className":16641,"style":191},[190],[75,16643,16645],{"className":16644},[195,196,197,198],[75,16646,16648,16651,16654],{"className":16647},[160,198],[75,16649,116],{"className":16650},[230,198],[75,16652,731],{"className":16653},[160,164,198],[75,16655,122],{"className":16656},[237,198],[75,16658,16660],{"className":16659,"style":7254},[237,7253],[75,16661,122],{"className":16662},[7258,4570],[75,16664,16666],{"className":16665},[169],[75,16667,16669],{"className":16668},[173],[75,16670,16672],{"className":16671},[178],[75,16673,16675],{"className":16674,"style":7417},[182],[75,16676,16677,16680],{"style":7420},[75,16678],{"className":16679,"style":191},[190],[75,16681,16683],{"className":16682},[195,196,197,198],[75,16684,1318],{"className":16685},[160,198],[11,16687,16688,16689,16691],{},"Repara que é basicamente a mesma fórmula do ",[557,16690,16223],{"href":3829},", só sem o \"2\" extra no denominador (aquele 2 só existia pra facilitar a derivada do gradiente descendente, lembra?). O nome muda, a essência não.",[289,16693,16695],{"id":16694},"a-alternativa-mais-direta-mae","A alternativa mais direta: MAE",[11,16697,16698,16699,10816,16703,16706],{},"E se, em vez de elevar ao quadrado, a gente só pegasse o valor absoluto do erro? Essa é a ",[6867,16700,16702],{"definition":16701},"Mean Absolute Error, erro absoluto médio, usa o valor absoluto do erro em vez de elevar ao quadrado","MAE",[2366,16704,16705],{},"Mean Absolute Error",", erro absoluto médio):",[11,16708,16709],{},[75,16710,16712,16803],{"className":16711},[78],[75,16713,16715],{"className":16714},[82],[84,16716,16717],{"xmlns":86},[88,16718,16719,16800],{},[91,16720,16721,16723,16725,16731,16751],{},[129,16722,16702],{},[106,16724,125],{},[4392,16726,16727,16729],{},[1316,16728,1578],{},[97,16730,317],{},[6966,16732,16733,16735,16743],{},[106,16734,6970],{},[91,16736,16737,16739,16741],{},[97,16738,731],{},[106,16740,125],{},[1316,16742,1835],{},[91,16744,16745,16747,16749],{},[97,16746,317],{},[106,16748,4410],{},[1316,16750,1578],{},[91,16752,16753,16756,16768,16770,16782,16784,16786,16798],{},[106,16754,16755],{"fence":108},"∣",[94,16757,16758,16760],{},[97,16759,99],{},[91,16761,16762,16764,16766],{},[97,16763,104],{},[106,16765,109],{"separator":108},[97,16767,112],{},[106,16769,116],{"stretchy":115},[721,16771,16772,16774],{},[97,16773,119],{},[91,16775,16776,16778,16780],{},[106,16777,116],{"stretchy":115},[97,16779,731],{},[106,16781,122],{"stretchy":115},[106,16783,122],{"stretchy":115},[106,16785,4410],{},[721,16787,16788,16790],{},[97,16789,678],{},[91,16791,16792,16794,16796],{},[106,16793,116],{"stretchy":115},[97,16795,731],{},[106,16797,122],{"stretchy":115},[106,16799,16755],{"fence":108},[140,16801,16802],{"encoding":142},"\\text{MAE} = \\frac{1}{m}\\sum_{i=0}^{m-1}\\left|f_{w,b}(x^{(i)}) - y^{(i)}\\right|",[75,16804,16806,16827],{"className":16805,"ariaHidden":108},[147],[75,16807,16809,16812,16818,16821,16824],{"className":16808},[151],[75,16810],{"className":16811,"style":8437},[155],[75,16813,16815],{"className":16814},[160,2464],[75,16816,16702],{"className":16817},[160],[75,16819],{"className":16820,"style":242},[241],[75,16822,125],{"className":16823},[246],[75,16825],{"className":16826,"style":242},[241],[75,16828,16830,16833,16901,16904,16973,16976],{"className":16829},[151],[75,16831],{"className":16832,"style":11474},[155],[75,16834,16836,16839,16898],{"className":16835},[160],[75,16837],{"className":16838},[230,4513],[75,16840,16842],{"className":16841},[4392],[75,16843,16845,16890],{"className":16844},[173,174],[75,16846,16848,16887],{"className":16847},[178],[75,16849,16851,16865,16873],{"className":16850,"style":4777},[182],[75,16852,16853,16856],{"style":4780},[75,16854],{"className":16855,"style":4533},[190],[75,16857,16859],{"className":16858},[195,196,197,198],[75,16860,16862],{"className":16861},[160,198],[75,16863,317],{"className":16864},[160,164,198],[75,16866,16867,16870],{"style":4626},[75,16868],{"className":16869,"style":4533},[190],[75,16871],{"className":16872,"style":4634},[4633],[75,16874,16875,16878],{"style":4809},[75,16876],{"className":16877,"style":4533},[190],[75,16879,16881],{"className":16880},[195,196,197,198],[75,16882,16884],{"className":16883},[160,198],[75,16885,1578],{"className":16886},[160,198],[75,16888,217],{"className":16889},[216],[75,16891,16893],{"className":16892},[178],[75,16894,16896],{"className":16895,"style":7154},[182],[75,16897],{},[75,16899],{"className":16900},[237,4513],[75,16902],{"className":16903,"style":263},[241],[75,16905,16907,16910],{"className":16906},[7166],[75,16908,6970],{"className":16909,"style":7172},[7166,7170,7171],[75,16911,16913],{"className":16912},[169],[75,16914,16916,16965],{"className":16915},[173,174],[75,16917,16919,16962],{"className":16918},[178],[75,16920,16922,16942],{"className":16921,"style":7185},[182],[75,16923,16924,16927],{"style":7188},[75,16925],{"className":16926,"style":191},[190],[75,16928,16930],{"className":16929},[195,196,197,198],[75,16931,16933,16936,16939],{"className":16932},[160,198],[75,16934,731],{"className":16935},[160,164,198],[75,16937,125],{"className":16938},[246,198],[75,16940,1835],{"className":16941},[160,198],[75,16943,16944,16947],{"style":7209},[75,16945],{"className":16946,"style":191},[190],[75,16948,16950],{"className":16949},[195,196,197,198],[75,16951,16953,16956,16959],{"className":16952},[160,198],[75,16954,317],{"className":16955},[160,164,198],[75,16957,4410],{"className":16958},[274,198],[75,16960,1578],{"className":16961},[160,198],[75,16963,217],{"className":16964},[216],[75,16966,16968],{"className":16967},[178],[75,16969,16971],{"className":16970,"style":7237},[182],[75,16972],{},[75,16974],{"className":16975,"style":263},[241],[75,16977,16979,17029,17078,17081,17119,17122,17125,17128,17131,17169],{"className":16978},[7246],[75,16980,16982],{"className":16981},[230],[75,16983,16986],{"className":16984},[7258,16985],"mult",[75,16987,16989,17020],{"className":16988},[173,174],[75,16990,16992,17017],{"className":16991},[178],[75,16993,16996],{"className":16994,"style":16995},[182],"height:0.85em;",[75,16997,16999,17003],{"style":16998},"top:-2.85em;",[75,17000],{"className":17001,"style":17002},[190],"height:3.2em;",[75,17004,17006],{"style":17005},"width:0.333em;height:1.2em;",[17007,17008,17013],"svg",{"xmlns":17009,"width":17010,"height":17011,"viewBox":17012},"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","0.333em","1.2em","0 0 333 1200",[17014,17015],"path",{"d":17016},"M145 15 v585 v0 v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v0 v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v0 v585 h43z",[75,17018,217],{"className":17019},[216],[75,17021,17023],{"className":17022},[178],[75,17024,17027],{"className":17025,"style":17026},[182],"height:0.35em;",[75,17028],{},[75,17030,17032,17035],{"className":17031},[160],[75,17033,99],{"className":17034,"style":165},[160,164],[75,17036,17038],{"className":17037},[169],[75,17039,17041,17070],{"className":17040},[173,174],[75,17042,17044,17067],{"className":17043},[178],[75,17045,17047],{"className":17046,"style":183},[182],[75,17048,17049,17052],{"style":186},[75,17050],{"className":17051,"style":191},[190],[75,17053,17055],{"className":17054},[195,196,197,198],[75,17056,17058,17061,17064],{"className":17057},[160,198],[75,17059,104],{"className":17060,"style":205},[160,164,198],[75,17062,109],{"className":17063},[209,198],[75,17065,112],{"className":17066},[160,164,198],[75,17068,217],{"className":17069},[216],[75,17071,17073],{"className":17072},[178],[75,17074,17076],{"className":17075,"style":224},[182],[75,17077],{},[75,17079,116],{"className":17080},[230],[75,17082,17084,17087],{"className":17083},[160],[75,17085,119],{"className":17086},[160,164],[75,17088,17090],{"className":17089},[169],[75,17091,17093],{"className":17092},[173],[75,17094,17096],{"className":17095},[178],[75,17097,17099],{"className":17098,"style":746},[182],[75,17100,17101,17104],{"style":767},[75,17102],{"className":17103,"style":191},[190],[75,17105,17107],{"className":17106},[195,196,197,198],[75,17108,17110,17113,17116],{"className":17109},[160,198],[75,17111,116],{"className":17112},[230,198],[75,17114,731],{"className":17115},[160,164,198],[75,17117,122],{"className":17118},[237,198],[75,17120,122],{"className":17121},[237],[75,17123],{"className":17124,"style":270},[241],[75,17126,4410],{"className":17127},[274],[75,17129],{"className":17130,"style":270},[241],[75,17132,17134,17137],{"className":17133},[160],[75,17135,678],{"className":17136,"style":829},[160,164],[75,17138,17140],{"className":17139},[169],[75,17141,17143],{"className":17142},[173],[75,17144,17146],{"className":17145},[178],[75,17147,17149],{"className":17148,"style":746},[182],[75,17150,17151,17154],{"style":767},[75,17152],{"className":17153,"style":191},[190],[75,17155,17157],{"className":17156},[195,196,197,198],[75,17158,17160,17163,17166],{"className":17159},[160,198],[75,17161,116],{"className":17162},[230,198],[75,17164,731],{"className":17165},[160,164,198],[75,17167,122],{"className":17168},[237,198],[75,17170,17172],{"className":17171},[237],[75,17173,17175],{"className":17174},[7258,16985],[75,17176,17178,17198],{"className":17177},[173,174],[75,17179,17181,17195],{"className":17180},[178],[75,17182,17184],{"className":17183,"style":16995},[182],[75,17185,17186,17189],{"style":16998},[75,17187],{"className":17188,"style":17002},[190],[75,17190,17191],{"style":17005},[17007,17192,17193],{"xmlns":17009,"width":17010,"height":17011,"viewBox":17012},[17014,17194],{"d":17016},[75,17196,217],{"className":17197},[216],[75,17199,17201],{"className":17200},[178],[75,17202,17204],{"className":17203,"style":17026},[182],[75,17205],{},[11,17207,17208,17209,17211],{},"A diferença parece pequena no papel, mas muda tudo no comportamento. No MSE, errar o dobro custa quatro vezes mais (lembra do ",[557,17210,16223],{"href":3829},"?). No MAE, errar o dobro custa exatamente o dobro, nem mais, nem menos. É a diferença entre um juiz que enlouquece quando você erra feio e um juiz que só conta pontos de forma proporcional, sem drama extra.",[289,17213,17215],{"id":17214},"as-duas-formas-lado-a-lado","As duas formas lado a lado",[11,17217,17218],{},"Nada de imaginar a forma, olha ela:",[17220,17221],"loss-shape-chart",{":error-max":17222,":initial-delta":17223},"10","4",[11,17225,17226],{},"Repara: MSE é uma parábola (cresce cada vez mais rápido), MAE é um V (cresce sempre na mesma taxa). Segura essa imagem na cabeça, ela explica tudo que vem a seguir.",[289,17228,17230],{"id":17229},"o-melhor-dos-dois-mundos-huber","O melhor dos dois mundos: Huber",[11,17232,17233,17234,17238,17239,17270],{},"MSE é sensível demais a erro grande. MAE é durão demais, até com erro pequeno (repara no V: mesmo erros minúsculos custam proporcionalmente ao tamanho deles, sem o \"desconto\" que o quadrado dá perto de zero). A ",[6867,17235,17237],{"definition":17236},"uma função de perda híbrida, parábola pra erro pequeno e reta pra erro grande, com um limiar delta que decide onde a transição acontece","perda de Huber"," tenta pegar o melhor dos dois: parábola suave pertinho de zero, reta a partir de um limiar ",[75,17240,17242,17257],{"className":17241},[78],[75,17243,17245],{"className":17244},[82],[84,17246,17247],{"xmlns":86},[88,17248,17249,17254],{},[91,17250,17251],{},[97,17252,17253],{},"δ",[140,17255,17256],{"encoding":142},"\\delta",[75,17258,17260],{"className":17259,"ariaHidden":108},[147],[75,17261,17263,17266],{"className":17262},[151],[75,17264],{"className":17265,"style":284},[155],[75,17267,17253],{"className":17268,"style":17269},[160,164],"margin-right:0.0379em;"," (delta).",[11,17272,17273],{},[75,17274,17276,17408],{"className":17275},[78],[75,17277,17279],{"className":17278},[82],[84,17280,17281],{"xmlns":86},[88,17282,17283,17405],{},[91,17284,17285,17292,17294,17296,17298,17300],{},[94,17286,17287,17290],{},[97,17288,17289],{},"L",[97,17291,17253],{},[106,17293,116],{"stretchy":115},[97,17295,2641],{},[106,17297,122],{"stretchy":115},[106,17299,125],{},[91,17301,17302,17305],{},[106,17303,17304],{"fence":108},"{",[17306,17307,17311,17354],"mtable",{"rowspacing":17308,"columnalign":17309,"columnspacing":17310},"0.36em","left left","1em",[17312,17313,17314,17334],"mtr",{},[17315,17316,17317],"mtd",{},[17318,17319,17320],"mstyle",{"scriptlevel":1835,"displaystyle":115},[91,17321,17322,17328],{},[4392,17323,17324,17326],{},[1316,17325,1578],{},[1316,17327,1318],{},[721,17329,17330,17332],{},[97,17331,2641],{},[1316,17333,1318],{},[17315,17335,17336],{},[17318,17337,17338],{"scriptlevel":1835,"displaystyle":115},[91,17339,17340,17343,17345,17347,17349,17352],{},[129,17341,17342],{},"se ",[97,17344,16755],{"mathvariant":10324},[97,17346,2641],{},[97,17348,16755],{"mathvariant":10324},[106,17350,17351],{},"≤",[97,17353,17253],{},[17312,17355,17356,17386],{},[17315,17357,17358],{},[17318,17359,17360],{"scriptlevel":1835,"displaystyle":115},[91,17361,17362,17364],{},[97,17363,17253],{},[91,17365,17366,17368,17370,17372,17374,17376,17382,17384],{},[106,17367,116],{"fence":108},[97,17369,16755],{"mathvariant":10324},[97,17371,2641],{},[97,17373,16755],{"mathvariant":10324},[106,17375,4410],{},[4392,17377,17378,17380],{},[1316,17379,1578],{},[1316,17381,1318],{},[97,17383,17253],{},[106,17385,122],{"fence":108},[17315,17387,17388],{},[17318,17389,17390],{"scriptlevel":1835,"displaystyle":115},[91,17391,17392,17394,17396,17398,17400,17403],{},[129,17393,17342],{},[97,17395,16755],{"mathvariant":10324},[97,17397,2641],{},[97,17399,16755],{"mathvariant":10324},[106,17401,17402],{},">",[97,17404,17253],{},[140,17406,17407],{"encoding":142},"L_\\delta(e) = \\begin{cases} \\frac{1}{2}e^2 & \\text{se } |e| \\le \\delta \\\\ \\delta\\left(|e| - \\frac{1}{2}\\delta\\right) & \\text{se } |e| > \\delta \\end{cases}",[75,17409,17411,17475],{"className":17410,"ariaHidden":108},[147],[75,17412,17414,17417,17457,17460,17463,17466,17469,17472],{"className":17413},[151],[75,17415],{"className":17416,"style":2081},[155],[75,17418,17420,17423],{"className":17419},[160],[75,17421,17289],{"className":17422},[160,164],[75,17424,17426],{"className":17425},[169],[75,17427,17429,17449],{"className":17428},[173,174],[75,17430,17432,17446],{"className":17431},[178],[75,17433,17435],{"className":17434,"style":183},[182],[75,17436,17437,17440],{"style":15095},[75,17438],{"className":17439,"style":191},[190],[75,17441,17443],{"className":17442},[195,196,197,198],[75,17444,17253],{"className":17445,"style":17269},[160,164,198],[75,17447,217],{"className":17448},[216],[75,17450,17452],{"className":17451},[178],[75,17453,17455],{"className":17454,"style":15114},[182],[75,17456],{},[75,17458,116],{"className":17459},[230],[75,17461,2641],{"className":17462},[160,164],[75,17464,122],{"className":17465},[237],[75,17467],{"className":17468,"style":242},[241],[75,17470,125],{"className":17471},[246],[75,17473],{"className":17474,"style":242},[241],[75,17476,17478,17482],{"className":17477},[151],[75,17479],{"className":17480,"style":17481},[155],"height:3em;vertical-align:-1.25em;",[75,17483,17485,17492,17848],{"className":17484},[7246],[75,17486,17488],{"className":17487,"style":7254},[230,7253],[75,17489,17304],{"className":17490},[7258,17491],"size4",[75,17493,17495],{"className":17494},[160],[75,17496,17498,17750,17755],{"className":17497},[17306],[75,17499,17502],{"className":17500},[17501],"col-align-l",[75,17503,17505,17741],{"className":17504},[173,174],[75,17506,17508,17738],{"className":17507},[178],[75,17509,17512,17619],{"className":17510,"style":17511},[182],"height:1.69em;",[75,17513,17515,17519],{"style":17514},"top:-3.69em;",[75,17516],{"className":17517,"style":17518},[190],"height:3.008em;",[75,17520,17522,17590],{"className":17521},[160],[75,17523,17525,17528,17587],{"className":17524},[160],[75,17526],{"className":17527},[230,4513],[75,17529,17531],{"className":17530},[4392],[75,17532,17534,17579],{"className":17533},[173,174],[75,17535,17537,17576],{"className":17536},[178],[75,17538,17540,17554,17562],{"className":17539,"style":4777},[182],[75,17541,17542,17545],{"style":4780},[75,17543],{"className":17544,"style":4533},[190],[75,17546,17548],{"className":17547},[195,196,197,198],[75,17549,17551],{"className":17550},[160,198],[75,17552,1318],{"className":17553},[160,198],[75,17555,17556,17559],{"style":4626},[75,17557],{"className":17558,"style":4533},[190],[75,17560],{"className":17561,"style":4634},[4633],[75,17563,17564,17567],{"style":4809},[75,17565],{"className":17566,"style":4533},[190],[75,17568,17570],{"className":17569},[195,196,197,198],[75,17571,17573],{"className":17572},[160,198],[75,17574,1578],{"className":17575},[160,198],[75,17577,217],{"className":17578},[216],[75,17580,17582],{"className":17581},[178],[75,17583,17585],{"className":17584,"style":7154},[182],[75,17586],{},[75,17588],{"className":17589},[237,4513],[75,17591,17593,17596],{"className":17592},[160],[75,17594,2641],{"className":17595},[160,164],[75,17597,17599],{"className":17598},[169],[75,17600,17602],{"className":17601},[173],[75,17603,17605],{"className":17604},[178],[75,17606,17608],{"className":17607,"style":1402},[182],[75,17609,17610,17613],{"style":767},[75,17611],{"className":17612,"style":191},[190],[75,17614,17616],{"className":17615},[195,196,197,198],[75,17617,1318],{"className":17618},[160,198],[75,17620,17622,17625],{"style":17621},"top:-2.25em;",[75,17623],{"className":17624,"style":17518},[190],[75,17626,17628,17631,17634],{"className":17627},[160],[75,17629,17253],{"className":17630,"style":17269},[160,164],[75,17632],{"className":17633,"style":263},[241],[75,17635,17637,17643,17646,17649,17652,17655,17658,17661,17729,17732],{"className":17636},[7246],[75,17638,17640],{"className":17639,"style":7254},[230,7253],[75,17641,116],{"className":17642},[7258,4570],[75,17644,16755],{"className":17645},[160],[75,17647,2641],{"className":17648},[160,164],[75,17650,16755],{"className":17651},[160],[75,17653],{"className":17654,"style":270},[241],[75,17656,4410],{"className":17657},[274],[75,17659],{"className":17660,"style":270},[241],[75,17662,17664,17667,17726],{"className":17663},[160],[75,17665],{"className":17666},[230,4513],[75,17668,17670],{"className":17669},[4392],[75,17671,17673,17718],{"className":17672},[173,174],[75,17674,17676,17715],{"className":17675},[178],[75,17677,17679,17693,17701],{"className":17678,"style":4777},[182],[75,17680,17681,17684],{"style":4780},[75,17682],{"className":17683,"style":4533},[190],[75,17685,17687],{"className":17686},[195,196,197,198],[75,17688,17690],{"className":17689},[160,198],[75,17691,1318],{"className":17692},[160,198],[75,17694,17695,17698],{"style":4626},[75,17696],{"className":17697,"style":4533},[190],[75,17699],{"className":17700,"style":4634},[4633],[75,17702,17703,17706],{"style":4809},[75,17704],{"className":17705,"style":4533},[190],[75,17707,17709],{"className":17708},[195,196,197,198],[75,17710,17712],{"className":17711},[160,198],[75,17713,1578],{"className":17714},[160,198],[75,17716,217],{"className":17717},[216],[75,17719,17721],{"className":17720},[178],[75,17722,17724],{"className":17723,"style":7154},[182],[75,17725],{},[75,17727],{"className":17728},[237,4513],[75,17730,17253],{"className":17731,"style":17269},[160,164],[75,17733,17735],{"className":17734,"style":7254},[237,7253],[75,17736,122],{"className":17737},[7258,4570],[75,17739,217],{"className":17740},[216],[75,17742,17744],{"className":17743},[178],[75,17745,17748],{"className":17746,"style":17747},[182],"height:1.19em;",[75,17749],{},[75,17751],{"className":17752,"style":17754},[17753],"arraycolsep","width:1em;",[75,17756,17758],{"className":17757},[17501],[75,17759,17761,17840],{"className":17760},[173,174],[75,17762,17764,17837],{"className":17763},[178],[75,17765,17767,17802],{"className":17766,"style":17511},[182],[75,17768,17769,17772],{"style":17514},[75,17770],{"className":17771,"style":17518},[190],[75,17773,17775,17781,17784,17787,17790,17793,17796,17799],{"className":17774},[160],[75,17776,17778],{"className":17777},[160,2464],[75,17779,17342],{"className":17780},[160],[75,17782,16755],{"className":17783},[160],[75,17785,2641],{"className":17786},[160,164],[75,17788,16755],{"className":17789},[160],[75,17791],{"className":17792,"style":242},[241],[75,17794,17351],{"className":17795},[246],[75,17797],{"className":17798,"style":242},[241],[75,17800,17253],{"className":17801,"style":17269},[160,164],[75,17803,17804,17807],{"style":17621},[75,17805],{"className":17806,"style":17518},[190],[75,17808,17810,17816,17819,17822,17825,17828,17831,17834],{"className":17809},[160],[75,17811,17813],{"className":17812},[160,2464],[75,17814,17342],{"className":17815},[160],[75,17817,16755],{"className":17818},[160],[75,17820,2641],{"className":17821},[160,164],[75,17823,16755],{"className":17824},[160],[75,17826],{"className":17827,"style":242},[241],[75,17829,17402],{"className":17830},[246],[75,17832],{"className":17833,"style":242},[241],[75,17835,17253],{"className":17836,"style":17269},[160,164],[75,17838,217],{"className":17839},[216],[75,17841,17843],{"className":17842},[178],[75,17844,17846],{"className":17845,"style":17747},[182],[75,17847],{},[75,17849],{"className":17850},[237,4513],[11,17852,17853,17854,17882],{},"Onde ",[75,17855,17857,17870],{"className":17856},[78],[75,17858,17860],{"className":17859},[82],[84,17861,17862],{"xmlns":86},[88,17863,17864,17868],{},[91,17865,17866],{},[97,17867,2641],{},[140,17869,2641],{"encoding":142},[75,17871,17873],{"className":17872,"ariaHidden":108},[147],[75,17874,17876,17879],{"className":17875},[151],[75,17877],{"className":17878,"style":329},[155],[75,17880,2641],{"className":17881},[160,164]," é o erro de um exemplo. Arrasta o slider do delta lá em cima de novo e observa a curva laranja: com delta pequeno, Huber vira quase um MAE, e com delta grande, vira quase um MSE. Delta é literalmente o controle de \"a partir de que tamanho de erro eu paro de dar desconto\".",[289,17884,17886],{"id":17885},"o-impacto-de-um-outlier","O impacto de um outlier",[11,17888,17889,17890,17892,17893,17896,17897,17901],{},"Aqui é onde a escolha da função de perda deixa de ser teoria e vira decisão de verdade. Pega o dataset de 6 casas do ",[557,17891,16223],{"href":3829}," e adiciona ",[15,17894,17895],{},"uma"," casa a mais, numa posição fixa. Você controla o preço dela com o slider, arrastando de um valor razoável até um valor bem fora da curva (um ",[6867,17898,17900],{"definition":17899},"um ponto de dado bem fora do padrão dos outros, seja por erro de digitação, medição estranha, ou caso raro de verdade","outlier","), e observa três retas ajustadas ao vivo, uma pra cada função de perda:",[17903,17904],"outlier-impact-explorer",{":base-x":9267,":base-y":9268,":huber-delta":4053,":initial-outlier-y":9145,":outlier-x":17905,":outlier-y-max":17906,":outlier-y-min":4475,"x-label":3117,"y-label":3118},"2.2","1800",[11,17908,17909],{},"Arrasta até o valor máximo e observa: a reta azul (MSE) sai correndo atrás do ponto vermelho, se contorcendo pra tentar \"agradar\" o outlier. A reta verde (MAE) mal se mexe. A laranja (Huber) fica no meio do caminho. Isso não é coincidência nem só desse exemplo, é a consequência direta do gráfico das duas formas que você viu ali em cima: quadrado pune erro grande sem limite, valor absoluto não.",[289,17911,5960],{"id":5959},[516,17913,17914,17930],{},[519,17915,17916],{},[522,17917,17918,17921,17924,17927],{},[525,17919,17920],{"align":527},"Função de perda",[525,17922,17923],{"align":527},"Fórmula",[525,17925,17926],{"align":527},"Reação a outlier",[525,17928,17929],{"align":527},"Quando usar",[536,17931,17932,17944,17957],{},[522,17933,17934,17936,17938,17941],{},[541,17935,16228],{"align":527},[541,17937,7990],{"align":527},[541,17939,17940],{"align":527},"sensível, se deixa puxar",[541,17942,17943],{"align":527},"dado limpo, sem outlier relevante",[522,17945,17946,17948,17951,17954],{},[541,17947,16702],{"align":527},[541,17949,17950],{"align":527},"valor absoluto do erro",[541,17952,17953],{"align":527},"robusta, quase imune",[541,17955,17956],{"align":527},"dado com outlier que você quer ignorar",[522,17958,17959,17962,17965,17968],{},[541,17960,17961],{"align":527},"Huber",[541,17963,17964],{"align":527},"híbrida (quadrado perto de zero, reta longe)",[541,17966,17967],{"align":527},"meio-termo ajustável",[541,17969,17970],{"align":527},"quando você quer um pouco de cada, controlando via delta",[11,17972,6275],{},[294,17974,17975,17981,17987],{},[297,17976,17977,17980],{},[15,17978,17979],{},"A função de perda não é um detalhe técnico escondido, é uma escolha de design"," que muda o comportamento do modelo inteiro, principalmente na presença de dado real e sujo.",[297,17982,17983,17986],{},[15,17984,17985],{},"Elevar ao quadrado pune erro grande desproporcionalmente",", é ótimo quando você confia no seu dataset, perigoso quando não confia.",[297,17988,17989,17992],{},[15,17990,17991],{},"Huber existe justamente pra você não ter que escolher no escuro",": o delta é um botão que desliza entre os dois extremos.",[289,17994,6484],{"id":6483},[11,17996,15906,17997,18000],{},[557,17998,6493],{"href":6490,"rel":17999},[6492],"). Dessa vez, um cenário bem realista: um erro de digitação. Uma casa de 60 pés² (bem pequena) foi cadastrada por engano custando quase 2 milhões de dólares.",[2376,18002,18004],{"className":2378,"code":18003,"language":2380,"meta":26,"style":26},"# 50 casas reais + 1 erro de digitação: 60 pés², $1.9 milhão\nx_com_erro = [*x_sqft, 0.6]\ny_com_erro = [*y_price, 1900]\n\nols  = fit_mse(x_com_erro, y_com_erro)             # ajuste comum (mínimos quadrados)\nmae  = fit_irls(x_com_erro, y_com_erro, \"mae\")     # robusto a outlier\nhuber = fit_irls(x_com_erro, y_com_erro, \"huber\", delta=50)\n\ncasa_nova = 1.5   # 150 pés², na mesma escala dos posts anteriores\n\nfor nome, (w, b) in [(\"MSE\", ols), (\"MAE\", mae), (\"Huber\", huber)]:\n    print(f\"{nome}: ${(w * casa_nova + b) * 1000:,.0f}\")\n",[65,18005,18006,18011,18016,18021,18025,18030,18035,18040,18044,18049,18053,18058],{"__ignoreMap":26},[75,18007,18008],{"class":2385,"line":33},[75,18009,18010],{},"# 50 casas reais + 1 erro de digitação: 60 pés², $1.9 milhão\n",[75,18012,18013],{"class":2385,"line":27},[75,18014,18015],{},"x_com_erro = [*x_sqft, 0.6]\n",[75,18017,18018],{"class":2385,"line":2396},[75,18019,18020],{},"y_com_erro = [*y_price, 1900]\n",[75,18022,18023],{"class":2385,"line":2401},[75,18024,2422],{"emptyLinePlaceholder":32},[75,18026,18027],{"class":2385,"line":2407},[75,18028,18029],{},"ols  = fit_mse(x_com_erro, y_com_erro)             # ajuste comum (mínimos quadrados)\n",[75,18031,18032],{"class":2385,"line":2413},[75,18033,18034],{},"mae  = fit_irls(x_com_erro, y_com_erro, \"mae\")     # robusto a outlier\n",[75,18036,18037],{"class":2385,"line":2419},[75,18038,18039],{},"huber = fit_irls(x_com_erro, y_com_erro, \"huber\", delta=50)\n",[75,18041,18042],{"class":2385,"line":2425},[75,18043,2422],{"emptyLinePlaceholder":32},[75,18045,18046],{"class":2385,"line":2431},[75,18047,18048],{},"casa_nova = 1.5   # 150 pés², na mesma escala dos posts anteriores\n",[75,18050,18051],{"class":2385,"line":2437},[75,18052,2422],{"emptyLinePlaceholder":32},[75,18054,18055],{"class":2385,"line":2442},[75,18056,18057],{},"for nome, (w, b) in [(\"MSE\", ols), (\"MAE\", mae), (\"Huber\", huber)]:\n",[75,18059,18060],{"class":2385,"line":2448},[75,18061,18062],{},"    print(f\"{nome}: ${(w * casa_nova + b) * 1000:,.0f}\")\n",[46,18064,18065],{},[11,18066,18067,1286,18069,9978,18072,9978,18075],{},[15,18068,2458],{},[65,18070,18071],{},"MSE: $608,900",[65,18073,18074],{},"MAE: $570,700",[65,18076,18077],{},"Huber: $569,800",[11,18079,18080,18081,18116,18117,18245,18246,18248],{},"Sem o erro de digitação, os três dão praticamente o mesmo palpite pra essa casa (por volta de ",[75,18082,18084,18101],{"className":18083},[78],[75,18085,18087],{"className":18086},[82],[84,18088,18089],{"xmlns":86},[88,18090,18091,18098],{},[91,18092,18093,18096],{},[1316,18094,18095],{},"567",[97,18097,557],{},[140,18099,18100],{"encoding":142},"567 a ",[75,18102,18104],{"className":18103,"ariaHidden":108},[147],[75,18105,18107,18110,18113],{"className":18106},[151],[75,18108],{"className":18109,"style":1609},[155],[75,18111,18095],{"className":18112},[160],[75,18114,557],{"className":18115},[160,164],"573 mil). Com o erro de digitação, o MSE pula pra quase ",[75,18118,18120,18179],{"className":18119},[78],[75,18121,18123],{"className":18122},[82],[84,18124,18125],{"xmlns":86},[88,18126,18127,18176],{},[91,18128,18129,18132,18134,18136,18139,18141,18144,18146,18149,18151,18153,18156,18159,18162,18164,18166,18168,18170,18172,18174],{},[1316,18130,18131],{},"609",[97,18133,317],{},[97,18135,731],{},[97,18137,18138],{},"l",[106,18140,109],{"separator":108},[97,18142,18143],{},"u",[97,18145,317],{},[97,18147,18148],{},"s",[97,18150,18143],{},[97,18152,18148],{},[97,18154,18155],{},"t",[97,18157,18158],{},"o",[97,18160,18161],{},"d",[97,18163,2641],{},[97,18165,317],{},[97,18167,557],{},[97,18169,731],{},[97,18171,18148],{},[97,18173,18161],{},[97,18175,2641],{},[140,18177,18178],{"encoding":142},"609 mil, um susto de mais de ",[75,18180,18182],{"className":18181,"ariaHidden":108},[147],[75,18183,18185,18189,18192,18195,18199,18202,18205,18208,18211,18214,18217,18220,18223,18226,18229,18232,18236,18239,18242],{"className":18184},[151],[75,18186],{"className":18187,"style":18188},[155],"height:0.8889em;vertical-align:-0.1944em;",[75,18190,18131],{"className":18191},[160],[75,18193,97],{"className":18194},[160,164],[75,18196,18138],{"className":18197,"style":18198},[160,164],"margin-right:0.0197em;",[75,18200,109],{"className":18201},[209],[75,18203],{"className":18204,"style":263},[241],[75,18206,18143],{"className":18207},[160,164],[75,18209,317],{"className":18210},[160,164],[75,18212,18148],{"className":18213},[160,164],[75,18215,18143],{"className":18216},[160,164],[75,18218,18148],{"className":18219},[160,164],[75,18221,18155],{"className":18222},[160,164],[75,18224,18158],{"className":18225},[160,164],[75,18227,18161],{"className":18228},[160,164],[75,18230,2641],{"className":18231},[160,164],[75,18233,18235],{"className":18234},[160,164],"mai",[75,18237,18148],{"className":18238},[160,164],[75,18240,18161],{"className":18241},[160,164],[75,18243,2641],{"className":18244},[160,164],"35 mil só por causa de ",[15,18247,17895],{}," linha errada na planilha, enquanto MAE e Huber mal se mexem (menos de $3 mil de diferença). Testa você mesmo, arrastando o outlier:",[18250,18251],"housing-outlier-explorer",{},[11,18253,18254],{},"Numa base de dados de verdade, com milhares de linhas, erro de digitação acontece. A escolha da função de perda decide se um erro desses vira um problema seu ou não.",[6712,18256,6714],{},{"title":26,"searchDepth":27,"depth":27,"links":18258},[18259,18260,18261,18262,18263,18264,18265],{"id":16216,"depth":27,"text":16217},{"id":16694,"depth":27,"text":16695},{"id":17214,"depth":27,"text":17215},{"id":17229,"depth":27,"text":17230},{"id":17885,"depth":27,"text":17886},{"id":5959,"depth":27,"text":5960},{"id":6483,"depth":27,"text":6484},"Por que a gente elevou o erro ao quadrado lá no post 2, e o que acontece se a gente escolher diferente: MAE, Huber, e o impacto real que um único outlier tem em cada escolha.",{},"\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Floss-functions",{"title":16195,"description":18266},"pt\u002Fplaylists\u002Fmachine-learning-specialization\u002Floss-functions",[18272,18273,18274,18275,18276],"funcao-de-perda","mse","mae","huber","robustez","_XtljLuJAzOT8lwsLGBPxhyg9A43hb_BiclnG4LCVzs",{"id":18279,"title":18280,"body":18281,"cover":3,"date":26774,"description":26775,"extension":30,"meta":26776,"navigation":32,"order":2413,"path":26777,"playlist":6743,"seo":26778,"status":36,"stem":26779,"tags":26780,"__hash__":26784},"posts\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab03-feature-scaling.md","Normalização de Features e Taxa de Aprendizado",{"type":8,"value":18282,"toc":26759},[18283,18289,18332,18336,18342,18443,18450,18453,18456,18459,18462,18560,18563,18567,19116,19421,19453,19457,19460,19475,19599,20484,20487,20496,20689,20732,20735,20997,21150,21699,21921,22134,22166,22172,22269,22434,22611,22615,22647,24208,24387,24417,24420,24426,24430,24558,24563,24828,24895,24899,24902,24917,24923,24929,25004,25886,26052,26056,26072,26082,26087,26091,26096,26099,26102,26105,26110,26115,26120,26126,26129,26184,26186,26280,26282,26361,26363,26532,26577,26586,26749,26751,26754,26757],[11,18284,18285],{},[57,18286],{"alt":18287,"src":18288},"Meme de uma criança confusa com as mãos abertas e a legenda \"como assim eu preciso de scaling?\"","\u002Fimages\u002Fposts\u002Fmachine-learning-specialization\u002Fw2-lab03-feature-scaling\u002Fmeme-feature-scaling.jpeg",[11,18290,18291,18292,18295,18296,18298,18299,18302,18303,18331],{},"Peguei o lab opcional do Curso 1, Semana 2 (o ",[65,18293,18294],{},"C1_W2_Lab03",") esperando só mais um post de continuação, e acabei achando o assunto que mais me irritou até agora na especialização: o gradiente descendente que eu construí no ",[557,18297,8582],{"href":3833},", o mesmo algoritmo, sem nenhuma mudança de código, simplesmente ",[15,18300,18301],{},"para de funcionar"," dependendo da unidade que eu uso pra medir uma feature. Troquei metro por centímetro e o algoritmo divergiu. Isso não é bug, é matemática, e depois desse post você nunca mais vai escolher um ",[75,18304,18306,18319],{"className":18305},[78],[75,18307,18309],{"className":18308},[82],[84,18310,18311],{"xmlns":86},[88,18312,18313,18317],{},[91,18314,18315],{},[97,18316,10317],{},[140,18318,10803],{"encoding":142},[75,18320,18322],{"className":18321,"ariaHidden":108},[147],[75,18323,18325,18328],{"className":18324},[151],[75,18326],{"className":18327,"style":329},[155],[75,18329,10317],{"className":18330,"style":10433},[160,164]," no escuro sem entender por quê.",[289,18333,18335],{"id":18334},"o-problema-4-features-escalas-bem-diferentes","O problema: 4 features, escalas bem diferentes",[11,18337,18338,18339,1613],{},"O notebook original usa um dataset de 100 casas (derivado do Ames Housing dataset, o mesmo usado no curso) com 4 features: tamanho em pés², número de quartos, número de andares e idade em anos. A meta é prever o preço de uma casa de ",[15,18340,18341],{},"1200 pés², 3 quartos, 1 andar, 40 anos",[516,18343,18344,18367],{},[519,18345,18346],{},[522,18347,18348,18351,18355,18358,18361,18364],{},[525,18349,18350],{"align":527},"Feature",[525,18352,18354],{"align":18353},"right","Mínimo",[525,18356,18357],{"align":18353},"Máximo",[525,18359,18360],{"align":18353},"Média",[525,18362,18363],{"align":18353},"Desvio-padrão",[525,18365,18366],{"align":18353},"Amplitude",[536,18368,18369,18389,18406,18423],{},[522,18370,18371,18374,18377,18380,18383,18386],{},[541,18372,18373],{"align":527},"tamanho (pés²)",[541,18375,18376],{"align":18353},"788",[541,18378,18379],{"align":18353},"3194",[541,18381,18382],{"align":18353},"1413.7",[541,18384,18385],{"align":18353},"412.2",[541,18387,18388],{"align":18353},"2406",[522,18390,18391,18394,18396,18398,18401,18404],{},[541,18392,18393],{"align":527},"quartos",[541,18395,1835],{"align":18353},[541,18397,17223],{"align":18353},[541,18399,18400],{"align":18353},"2.7",[541,18402,18403],{"align":18353},"0.7",[541,18405,17223],{"align":18353},[522,18407,18408,18411,18413,18415,18418,18421],{},[541,18409,18410],{"align":527},"andares",[541,18412,1578],{"align":18353},[541,18414,1318],{"align":18353},[541,18416,18417],{"align":18353},"1.4",[541,18419,18420],{"align":18353},"0.5",[541,18422,1578],{"align":18353},[522,18424,18425,18428,18431,18434,18437,18440],{},[541,18426,18427],{"align":527},"idade (anos)",[541,18429,18430],{"align":18353},"12",[541,18432,18433],{"align":18353},"107",[541,18435,18436],{"align":18353},"38.6",[541,18438,18439],{"align":18353},"25.8",[541,18441,18442],{"align":18353},"95",[11,18444,18445,18446,18449],{},"Reparei nesse número assim que rodei a célula: a feature de maior amplitude (tamanho) é ",[15,18447,18448],{},"2406 vezes"," maior que a de menor amplitude (andares). Guardei esse número, porque ele é a raiz de tudo que vem a seguir.",[11,18451,18452],{},"Antes de sair modelando, olhei cada feature contra o preço, uma de cada vez:",[18454,18455],"feature-scaling-overview",{},[11,18457,18458],{},"Tamanho carrega sinal de verdade (a nuvem de pontos sobe claramente da esquerda pra direita). Quartos e andares são discretos e ruidosos, dá pra ver casas de 2 quartos custando mais que casas de 3. Idade puxa o preço pra baixo, mas com bastante dispersão. Isso não significa que quartos e andares são inúteis, só que sozinhas elas explicam pouco, o valor delas aparece quando entram no modelo junto com as outras (o coeficiente negativo de quartos que eu calculo mais na frente é exatamente esse tipo de efeito escondido).",[11,18460,18461],{},"Calculei também a correlação entre cada par de features (e entre cada feature e o preço):",[516,18463,18464,18483],{},[519,18465,18466],{},[522,18467,18468,18470,18473,18475,18477,18480],{},[525,18469],{"align":527},[525,18471,18472],{"align":18353},"tamanho",[525,18474,18393],{"align":18353},[525,18476,18410],{"align":18353},[525,18478,18479],{"align":18353},"idade",[525,18481,18482],{"align":18353},"preço",[536,18484,18485,18506,18525,18543],{},[522,18486,18487,18491,18494,18497,18500,18503],{},[541,18488,18489],{"align":527},[15,18490,18472],{},[541,18492,18493],{"align":18353},"1.00",[541,18495,18496],{"align":18353},"0.56",[541,18498,18499],{"align":18353},"0.60",[541,18501,18502],{"align":18353},"-0.27",[541,18504,18505],{"align":18353},"0.86",[522,18507,18508,18512,18514,18516,18519,18522],{},[541,18509,18510],{"align":527},[15,18511,18393],{},[541,18513,18496],{"align":18353},[541,18515,18493],{"align":18353},[541,18517,18518],{"align":18353},"0.38",[541,18520,18521],{"align":18353},"-0.06",[541,18523,18524],{"align":18353},"0.29",[522,18526,18527,18531,18533,18535,18537,18540],{},[541,18528,18529],{"align":527},[15,18530,18410],{},[541,18532,18499],{"align":18353},[541,18534,18518],{"align":18353},[541,18536,18493],{"align":18353},[541,18538,18539],{"align":18353},"-0.20",[541,18541,18542],{"align":18353},"0.32",[522,18544,18545,18549,18551,18553,18555,18557],{},[541,18546,18547],{"align":527},[15,18548,18479],{},[541,18550,18502],{"align":18353},[541,18552,18521],{"align":18353},[541,18554,18539],{"align":18353},[541,18556,18493],{"align":18353},[541,18558,18559],{"align":18353},"-0.58",[11,18561,18562],{},"Tamanho é de longe a feature mais correlacionada com o preço (0.86), o que bate com o gráfico de cima. E repara que tamanho e quartos não são independentes (0.56), casas maiores tendem a ter mais quartos, o que é meio óbvio quando você para pra pensar, mas é sempre bom confirmar com número em vez de achismo.",[289,18564,18566],{"id":18565},"recapitulando-rápido-com-uma-feature-só","Recapitulando rápido, com uma feature só",[11,18568,18569,18570,18718,18719,19111,19112,19115],{},"Pra manter a base que a gente já construiu, vou simplificar pra 1 feature só (tamanho) nessa primeira parte, exatamente como nos posts anteriores: ",[75,18571,18573,18612],{"className":18572},[78],[75,18574,18576],{"className":18575},[82],[84,18577,18578],{"xmlns":86},[88,18579,18580,18610],{},[91,18581,18582,18594,18596,18598,18600,18602,18604,18606,18608],{},[94,18583,18584,18586],{},[97,18585,99],{},[91,18587,18588,18590,18592],{},[97,18589,104],{},[106,18591,109],{"separator":108},[97,18593,112],{},[106,18595,116],{"stretchy":115},[97,18597,119],{},[106,18599,122],{"stretchy":115},[106,18601,125],{},[97,18603,104],{},[97,18605,119],{},[106,18607,136],{},[97,18609,112],{},[140,18611,382],{"encoding":142},[75,18613,18615,18688,18709],{"className":18614,"ariaHidden":108},[147],[75,18616,18618,18621,18670,18673,18676,18679,18682,18685],{"className":18617},[151],[75,18619],{"className":18620,"style":156},[155],[75,18622,18624,18627],{"className":18623},[160],[75,18625,99],{"className":18626,"style":165},[160,164],[75,18628,18630],{"className":18629},[169],[75,18631,18633,18662],{"className":18632},[173,174],[75,18634,18636,18659],{"className":18635},[178],[75,18637,18639],{"className":18638,"style":183},[182],[75,18640,18641,18644],{"style":186},[75,18642],{"className":18643,"style":191},[190],[75,18645,18647],{"className":18646},[195,196,197,198],[75,18648,18650,18653,18656],{"className":18649},[160,198],[75,18651,104],{"className":18652,"style":205},[160,164,198],[75,18654,109],{"className":18655},[209,198],[75,18657,112],{"className":18658},[160,164,198],[75,18660,217],{"className":18661},[216],[75,18663,18665],{"className":18664},[178],[75,18666,18668],{"className":18667,"style":224},[182],[75,18669],{},[75,18671,116],{"className":18672},[230],[75,18674,119],{"className":18675},[160,164],[75,18677,122],{"className":18678},[237],[75,18680],{"className":18681,"style":242},[241],[75,18683,125],{"className":18684},[246],[75,18686],{"className":18687,"style":242},[241],[75,18689,18691,18694,18697,18700,18703,18706],{"className":18690},[151],[75,18692],{"className":18693,"style":256},[155],[75,18695,104],{"className":18696,"style":205},[160,164],[75,18698,119],{"className":18699},[160,164],[75,18701],{"className":18702,"style":270},[241],[75,18704,136],{"className":18705},[274],[75,18707],{"className":18708,"style":270},[241],[75,18710,18712,18715],{"className":18711},[151],[75,18713],{"className":18714,"style":284},[155],[75,18716,112],{"className":18717},[160,164],", com custo ",[75,18720,18722,18810],{"className":18721},[78],[75,18723,18725],{"className":18724},[82],[84,18726,18727],{"xmlns":86},[88,18728,18729,18807],{},[91,18730,18731,18733,18735,18737,18739,18741,18743,18745,18755,18757,18759,18771,18773,18785,18787,18789,18801],{},[97,18732,5374],{},[106,18734,116],{"stretchy":115},[97,18736,104],{},[106,18738,109],{"separator":108},[97,18740,112],{},[106,18742,122],{"stretchy":115},[106,18744,125],{},[4392,18746,18747,18749],{},[1316,18748,1578],{},[91,18750,18751,18753],{},[1316,18752,1318],{},[97,18754,317],{},[106,18756,6970],{},[106,18758,116],{"stretchy":115},[94,18760,18761,18763],{},[97,18762,99],{},[91,18764,18765,18767,18769],{},[97,18766,104],{},[106,18768,109],{"separator":108},[97,18770,112],{},[106,18772,116],{"stretchy":115},[721,18774,18775,18777],{},[97,18776,119],{},[91,18778,18779,18781,18783],{},[106,18780,116],{"stretchy":115},[97,18782,731],{},[106,18784,122],{"stretchy":115},[106,18786,122],{"stretchy":115},[106,18788,4410],{},[721,18790,18791,18793],{},[97,18792,678],{},[91,18794,18795,18797,18799],{},[106,18796,116],{"stretchy":115},[97,18798,731],{},[106,18800,122],{"stretchy":115},[721,18802,18803,18805],{},[106,18804,122],{"stretchy":115},[1316,18806,1318],{},[140,18808,18809],{"encoding":142},"J(w,b) = \\frac{1}{2m}\\sum(f_{w,b}(x^{(i)}) - y^{(i)})^2",[75,18811,18813,18849,19038],{"className":18812,"ariaHidden":108},[147],[75,18814,18816,18819,18822,18825,18828,18831,18834,18837,18840,18843,18846],{"className":18815},[151],[75,18817],{"className":18818,"style":2081},[155],[75,18820,5374],{"className":18821,"style":5400},[160,164],[75,18823,116],{"className":18824},[230],[75,18826,104],{"className":18827,"style":205},[160,164],[75,18829,109],{"className":18830},[209],[75,18832],{"className":18833,"style":263},[241],[75,18835,112],{"className":18836},[160,164],[75,18838,122],{"className":18839},[237],[75,18841],{"className":18842,"style":242},[241],[75,18844,125],{"className":18845},[246],[75,18847],{"className":18848,"style":242},[241],[75,18850,18852,18856,18927,18930,18933,18936,18985,18988,19026,19029,19032,19035],{"className":18851},[151],[75,18853],{"className":18854,"style":18855},[155],"height:1.233em;vertical-align:-0.345em;",[75,18857,18859,18862,18924],{"className":18858},[160],[75,18860],{"className":18861},[230,4513],[75,18863,18865],{"className":18864},[4392],[75,18866,18868,18916],{"className":18867},[173,174],[75,18869,18871,18913],{"className":18870},[178],[75,18872,18874,18891,18899],{"className":18873,"style":4777},[182],[75,18875,18876,18879],{"style":4780},[75,18877],{"className":18878,"style":4533},[190],[75,18880,18882],{"className":18881},[195,196,197,198],[75,18883,18885,18888],{"className":18884},[160,198],[75,18886,1318],{"className":18887},[160,198],[75,18889,317],{"className":18890},[160,164,198],[75,18892,18893,18896],{"style":4626},[75,18894],{"className":18895,"style":4533},[190],[75,18897],{"className":18898,"style":4634},[4633],[75,18900,18901,18904],{"style":4809},[75,18902],{"className":18903,"style":4533},[190],[75,18905,18907],{"className":18906},[195,196,197,198],[75,18908,18910],{"className":18909},[160,198],[75,18911,1578],{"className":18912},[160,198],[75,18914,217],{"className":18915},[216],[75,18917,18919],{"className":18918},[178],[75,18920,18922],{"className":18921,"style":7154},[182],[75,18923],{},[75,18925],{"className":18926},[237,4513],[75,18928],{"className":18929,"style":263},[241],[75,18931,6970],{"className":18932,"style":7172},[7166,7170,7171],[75,18934,116],{"className":18935},[230],[75,18937,18939,18942],{"className":18938},[160],[75,18940,99],{"className":18941,"style":165},[160,164],[75,18943,18945],{"className":18944},[169],[75,18946,18948,18977],{"className":18947},[173,174],[75,18949,18951,18974],{"className":18950},[178],[75,18952,18954],{"className":18953,"style":183},[182],[75,18955,18956,18959],{"style":186},[75,18957],{"className":18958,"style":191},[190],[75,18960,18962],{"className":18961},[195,196,197,198],[75,18963,18965,18968,18971],{"className":18964},[160,198],[75,18966,104],{"className":18967,"style":205},[160,164,198],[75,18969,109],{"className":18970},[209,198],[75,18972,112],{"className":18973},[160,164,198],[75,18975,217],{"className":18976},[216],[75,18978,18980],{"className":18979},[178],[75,18981,18983],{"className":18982,"style":224},[182],[75,18984],{},[75,18986,116],{"className":18987},[230],[75,18989,18991,18994],{"className":18990},[160],[75,18992,119],{"className":18993},[160,164],[75,18995,18997],{"className":18996},[169],[75,18998,19000],{"className":18999},[173],[75,19001,19003],{"className":19002},[178],[75,19004,19006],{"className":19005,"style":746},[182],[75,19007,19008,19011],{"style":767},[75,19009],{"className":19010,"style":191},[190],[75,19012,19014],{"className":19013},[195,196,197,198],[75,19015,19017,19020,19023],{"className":19016},[160,198],[75,19018,116],{"className":19019},[230,198],[75,19021,731],{"className":19022},[160,164,198],[75,19024,122],{"className":19025},[237,198],[75,19027,122],{"className":19028},[237],[75,19030],{"className":19031,"style":270},[241],[75,19033,4410],{"className":19034},[274],[75,19036],{"className":19037,"style":270},[241],[75,19039,19041,19044,19082],{"className":19040},[151],[75,19042],{"className":19043,"style":1977},[155],[75,19045,19047,19050],{"className":19046},[160],[75,19048,678],{"className":19049,"style":829},[160,164],[75,19051,19053],{"className":19052},[169],[75,19054,19056],{"className":19055},[173],[75,19057,19059],{"className":19058},[178],[75,19060,19062],{"className":19061,"style":746},[182],[75,19063,19064,19067],{"style":767},[75,19065],{"className":19066,"style":191},[190],[75,19068,19070],{"className":19069},[195,196,197,198],[75,19071,19073,19076,19079],{"className":19072},[160,198],[75,19074,116],{"className":19075},[230,198],[75,19077,731],{"className":19078},[160,164,198],[75,19080,122],{"className":19081},[237,198],[75,19083,19085,19088],{"className":19084},[237],[75,19086,122],{"className":19087},[237],[75,19089,19091],{"className":19090},[169],[75,19092,19094],{"className":19093},[173],[75,19095,19097],{"className":19096},[178],[75,19098,19100],{"className":19099,"style":1402},[182],[75,19101,19102,19105],{"style":767},[75,19103],{"className":19104,"style":191},[190],[75,19106,19108],{"className":19107},[195,196,197,198],[75,19109,1318],{"className":19110},[160,198],". O gradiente descendente que eu montei ",[557,19113,19114],{"href":3833},"dois posts atrás"," não muda uma linha:",[11,19117,19118],{},[75,19119,19121,19183],{"className":19120},[78],[75,19122,19124],{"className":19123},[82],[84,19125,19126],{"xmlns":86},[88,19127,19128,19180],{},[91,19129,19130,19132,19134,19136,19138,19140,19154,19156,19158,19160,19162,19164,19166],{},[97,19131,104],{},[106,19133,125],{},[97,19135,104],{},[106,19137,4410],{},[97,19139,10317],{},[4392,19141,19142,19148],{},[91,19143,19144,19146],{},[97,19145,10325],{"mathvariant":10324},[97,19147,5374],{},[91,19149,19150,19152],{},[97,19151,10325],{"mathvariant":10324},[97,19153,104],{},[241,19155],{"width":10346},[97,19157,112],{},[106,19159,125],{},[97,19161,112],{},[106,19163,4410],{},[97,19165,10317],{},[4392,19167,19168,19174],{},[91,19169,19170,19172],{},[97,19171,10325],{"mathvariant":10324},[97,19173,5374],{},[91,19175,19176,19178],{},[97,19177,10325],{"mathvariant":10324},[97,19179,112],{},[140,19181,19182],{"encoding":142},"w = w - \\alpha \\frac{\\partial J}{\\partial w} \\qquad b = b - \\alpha \\frac{\\partial J}{\\partial b}",[75,19184,19186,19204,19222,19320,19338],{"className":19185,"ariaHidden":108},[147],[75,19187,19189,19192,19195,19198,19201],{"className":19188},[151],[75,19190],{"className":19191,"style":329},[155],[75,19193,104],{"className":19194,"style":205},[160,164],[75,19196],{"className":19197,"style":242},[241],[75,19199,125],{"className":19200},[246],[75,19202],{"className":19203,"style":242},[241],[75,19205,19207,19210,19213,19216,19219],{"className":19206},[151],[75,19208],{"className":19209,"style":256},[155],[75,19211,104],{"className":19212,"style":205},[160,164],[75,19214],{"className":19215,"style":270},[241],[75,19217,4410],{"className":19218},[274],[75,19220],{"className":19221,"style":270},[241],[75,19223,19225,19228,19231,19305,19308,19311,19314,19317],{"className":19224},[151],[75,19226],{"className":19227,"style":10710},[155],[75,19229,10317],{"className":19230,"style":10433},[160,164],[75,19232,19234,19237,19302],{"className":19233},[160],[75,19235],{"className":19236},[230,4513],[75,19238,19240],{"className":19239},[4392],[75,19241,19243,19294],{"className":19242},[173,174],[75,19244,19246,19291],{"className":19245},[178],[75,19247,19249,19266,19274],{"className":19248,"style":10729},[182],[75,19250,19251,19254],{"style":4780},[75,19252],{"className":19253,"style":4533},[190],[75,19255,19257],{"className":19256},[195,196,197,198],[75,19258,19260,19263],{"className":19259},[160,198],[75,19261,10325],{"className":19262,"style":10467},[160,198],[75,19264,104],{"className":19265,"style":205},[160,164,198],[75,19267,19268,19271],{"style":4626},[75,19269],{"className":19270,"style":4533},[190],[75,19272],{"className":19273,"style":4634},[4633],[75,19275,19276,19279],{"style":4809},[75,19277],{"className":19278,"style":4533},[190],[75,19280,19282],{"className":19281},[195,196,197,198],[75,19283,19285,19288],{"className":19284},[160,198],[75,19286,10325],{"className":19287,"style":10467},[160,198],[75,19289,5374],{"className":19290,"style":5400},[160,164,198],[75,19292,217],{"className":19293},[216],[75,19295,19297],{"className":19296},[178],[75,19298,19300],{"className":19299,"style":7154},[182],[75,19301],{},[75,19303],{"className":19304},[237,4513],[75,19306],{"className":19307,"style":10529},[241],[75,19309,112],{"className":19310},[160,164],[75,19312],{"className":19313,"style":242},[241],[75,19315,125],{"className":19316},[246],[75,19318],{"className":19319,"style":242},[241],[75,19321,19323,19326,19329,19332,19335],{"className":19322},[151],[75,19324],{"className":19325,"style":10548},[155],[75,19327,112],{"className":19328},[160,164],[75,19330],{"className":19331,"style":270},[241],[75,19333,4410],{"className":19334},[274],[75,19336],{"className":19337,"style":270},[241],[75,19339,19341,19344,19347],{"className":19340},[151],[75,19342],{"className":19343,"style":10710},[155],[75,19345,10317],{"className":19346,"style":10433},[160,164],[75,19348,19350,19353,19418],{"className":19349},[160],[75,19351],{"className":19352},[230,4513],[75,19354,19356],{"className":19355},[4392],[75,19357,19359,19410],{"className":19358},[173,174],[75,19360,19362,19407],{"className":19361},[178],[75,19363,19365,19382,19390],{"className":19364,"style":10729},[182],[75,19366,19367,19370],{"style":4780},[75,19368],{"className":19369,"style":4533},[190],[75,19371,19373],{"className":19372},[195,196,197,198],[75,19374,19376,19379],{"className":19375},[160,198],[75,19377,10325],{"className":19378,"style":10467},[160,198],[75,19380,112],{"className":19381},[160,164,198],[75,19383,19384,19387],{"style":4626},[75,19385],{"className":19386,"style":4533},[190],[75,19388],{"className":19389,"style":4634},[4633],[75,19391,19392,19395],{"style":4809},[75,19393],{"className":19394,"style":4533},[190],[75,19396,19398],{"className":19397},[195,196,197,198],[75,19399,19401,19404],{"className":19400},[160,198],[75,19402,10325],{"className":19403,"style":10467},[160,198],[75,19405,5374],{"className":19406,"style":5400},[160,164,198],[75,19408,217],{"className":19409},[216],[75,19411,19413],{"className":19412},[178],[75,19414,19416],{"className":19415,"style":7154},[182],[75,19417],{},[75,19419],{"className":19420},[237,4513],[11,19422,19423,19424,19452],{},"O notebook de verdade roda isso com as 4 features ao mesmo tempo (um ",[75,19425,19427,19440],{"className":19426},[78],[75,19428,19430],{"className":19429},[82],[84,19431,19432],{"xmlns":86},[88,19433,19434,19438],{},[91,19435,19436],{},[97,19437,104],{},[140,19439,104],{"encoding":142},[75,19441,19443],{"className":19442,"ariaHidden":108},[147],[75,19444,19446,19449],{"className":19445},[151],[75,19447],{"className":19448,"style":329},[155],[75,19450,104],{"className":19451,"style":205},[160,164]," pra cada), mas a lição central aparece inteira já com uma feature só, e fica bem mais fácil de visualizar num gráfico 2D. Guarda essa simplificação na cabeça, ela volta lá na frente quando eu mostrar o resultado com as 4 features de verdade.",[289,19454,19456],{"id":19455},"o-gradiente-descendente-diverge-sozinho","O gradiente descendente diverge sozinho",[11,19458,19459],{},"Peguei 8 casas reais do dataset do notebook (tamanho em pés², preço em milhares de dólares) pra testar isso na mão:",[2376,19461,19463],{"className":2378,"code":19462,"language":2380,"meta":26,"style":26},"x_train = [952, 1244, 1947, 1725, 1959, 1314, 864, 1836]\ny_train = [271.5, 300, 509.8, 394, 540, 415, 230, 560]\n",[65,19464,19465,19470],{"__ignoreMap":26},[75,19466,19467],{"class":2385,"line":33},[75,19468,19469],{},"x_train = [952, 1244, 1947, 1725, 1959, 1314, 864, 1836]\n",[75,19471,19472],{"class":2385,"line":27},[75,19473,19474],{},"y_train = [271.5, 300, 509.8, 394, 540, 415, 230, 560]\n",[11,19476,19477,19478,8579,19481,19483,19484,19512,19513,3538],{},"Rodei o mesmo ",[65,19479,19480],{},"gradient_descent",[557,19482,8582],{"href":3833}," com três valores de ",[75,19485,19487,19500],{"className":19486},[78],[75,19488,19490],{"className":19489},[82],[84,19491,19492],{"xmlns":86},[88,19493,19494,19498],{},[91,19495,19496],{},[97,19497,10317],{},[140,19499,10803],{"encoding":142},[75,19501,19503],{"className":19502,"ariaHidden":108},[147],[75,19504,19506,19509],{"className":19505},[151],[75,19507],{"className":19508,"style":329},[155],[75,19510,10317],{"className":19511,"style":10433},[160,164]," diferentes, só 10 iterações, começando em ",[75,19514,19516,19542],{"className":19515},[78],[75,19517,19519],{"className":19518},[82],[84,19520,19521],{"xmlns":86},[88,19522,19523,19539],{},[91,19524,19525,19527,19529,19531,19533,19535,19537],{},[97,19526,104],{},[106,19528,125],{},[1316,19530,1835],{},[106,19532,109],{"separator":108},[97,19534,112],{},[106,19536,125],{},[1316,19538,1835],{},[140,19540,19541],{"encoding":142},"w=0, b=0",[75,19543,19545,19563,19590],{"className":19544,"ariaHidden":108},[147],[75,19546,19548,19551,19554,19557,19560],{"className":19547},[151],[75,19549],{"className":19550,"style":329},[155],[75,19552,104],{"className":19553,"style":205},[160,164],[75,19555],{"className":19556,"style":242},[241],[75,19558,125],{"className":19559},[246],[75,19561],{"className":19562,"style":242},[241],[75,19564,19566,19569,19572,19575,19578,19581,19584,19587],{"className":19565},[151],[75,19567],{"className":19568,"style":18188},[155],[75,19570,1835],{"className":19571},[160],[75,19573,109],{"className":19574},[209],[75,19576],{"className":19577,"style":263},[241],[75,19579,112],{"className":19580},[160,164],[75,19582],{"className":19583,"style":242},[241],[75,19585,125],{"className":19586},[246],[75,19588],{"className":19589,"style":242},[241],[75,19591,19593,19596],{"className":19592},[151],[75,19594],{"className":19595,"style":1609},[155],[75,19597,1835],{"className":19598},[160],[46,19600,19601,19900,20193],{},[11,19602,19603,19724,19725,19810,19811,19896,19897,19899],{},[15,19604,19605,19606,3538],{},"Saída com ",[75,19607,19609,19641],{"className":19608},[78],[75,19610,19612],{"className":19611},[82],[84,19613,19614],{"xmlns":86},[88,19615,19616,19638],{},[91,19617,19618,19620,19622,19625,19627],{},[97,19619,10317],{},[106,19621,125],{},[1316,19623,19624],{},"9",[106,19626,2599],{},[721,19628,19629,19631],{},[1316,19630,17222],{},[91,19632,19633,19635],{},[106,19634,4410],{},[1316,19636,19637],{},"7",[140,19639,19640],{"encoding":142},"\\alpha = 9\\times10^{-7}",[75,19642,19644,19662,19680],{"className":19643,"ariaHidden":108},[147],[75,19645,19647,19650,19653,19656,19659],{"className":19646},[151],[75,19648],{"className":19649,"style":329},[155],[75,19651,10317],{"className":19652,"style":10433},[160,164],[75,19654],{"className":19655,"style":242},[241],[75,19657,125],{"className":19658},[246],[75,19660],{"className":19661,"style":242},[241],[75,19663,19665,19668,19671,19674,19677],{"className":19664},[151],[75,19666],{"className":19667,"style":5070},[155],[75,19669,19624],{"className":19670},[160],[75,19672],{"className":19673,"style":270},[241],[75,19675,2599],{"className":19676},[274],[75,19678],{"className":19679,"style":270},[241],[75,19681,19683,19686,19689],{"className":19682},[151],[75,19684],{"className":19685,"style":1402},[155],[75,19687,1578],{"className":19688},[160],[75,19690,19692,19695],{"className":19691},[160],[75,19693,1835],{"className":19694},[160],[75,19696,19698],{"className":19697},[169],[75,19699,19701],{"className":19700},[173],[75,19702,19704],{"className":19703},[178],[75,19705,19707],{"className":19706,"style":1402},[182],[75,19708,19709,19712],{"style":767},[75,19710],{"className":19711,"style":191},[190],[75,19713,19715],{"className":19714},[195,196,197,198],[75,19716,19718,19721],{"className":19717},[160,198],[75,19719,4410],{"className":19720},[160,198],[75,19722,19637],{"className":19723},[160,198]," custo sobe a cada iteração, de ",[75,19726,19728,19751],{"className":19727},[78],[75,19729,19731],{"className":19730},[82],[84,19732,19733],{"xmlns":86},[88,19734,19735,19748],{},[91,19736,19737,19740,19742],{},[1316,19738,19739],{},"8.8",[106,19741,2599],{},[721,19743,19744,19746],{},[1316,19745,17222],{},[1316,19747,17223],{},[140,19749,19750],{"encoding":142},"8.8\\times10^4",[75,19752,19754,19772],{"className":19753,"ariaHidden":108},[147],[75,19755,19757,19760,19763,19766,19769],{"className":19756},[151],[75,19758],{"className":19759,"style":5070},[155],[75,19761,19739],{"className":19762},[160],[75,19764],{"className":19765,"style":270},[241],[75,19767,2599],{"className":19768},[274],[75,19770],{"className":19771,"style":270},[241],[75,19773,19775,19778,19781],{"className":19774},[151],[75,19776],{"className":19777,"style":1402},[155],[75,19779,1578],{"className":19780},[160],[75,19782,19784,19787],{"className":19783},[160],[75,19785,1835],{"className":19786},[160],[75,19788,19790],{"className":19789},[169],[75,19791,19793],{"className":19792},[173],[75,19794,19796],{"className":19795},[178],[75,19797,19799],{"className":19798,"style":1402},[182],[75,19800,19801,19804],{"style":767},[75,19802],{"className":19803,"style":191},[190],[75,19805,19807],{"className":19806},[195,196,197,198],[75,19808,17223],{"className":19809},[160,198]," pra ",[75,19812,19814,19837],{"className":19813},[78],[75,19815,19817],{"className":19816},[82],[84,19818,19819],{"xmlns":86},[88,19820,19821,19834],{},[91,19822,19823,19826,19828],{},[1316,19824,19825],{},"9.4",[106,19827,2599],{},[721,19829,19830,19832],{},[1316,19831,17222],{},[1316,19833,14862],{},[140,19835,19836],{"encoding":142},"9.4\\times10^5",[75,19838,19840,19858],{"className":19839,"ariaHidden":108},[147],[75,19841,19843,19846,19849,19852,19855],{"className":19842},[151],[75,19844],{"className":19845,"style":5070},[155],[75,19847,19825],{"className":19848},[160],[75,19850],{"className":19851,"style":270},[241],[75,19853,2599],{"className":19854},[274],[75,19856],{"className":19857,"style":270},[241],[75,19859,19861,19864,19867],{"className":19860},[151],[75,19862],{"className":19863,"style":1402},[155],[75,19865,1578],{"className":19866},[160],[75,19868,19870,19873],{"className":19869},[160],[75,19871,1835],{"className":19872},[160],[75,19874,19876],{"className":19875},[169],[75,19877,19879],{"className":19878},[173],[75,19880,19882],{"className":19881},[178],[75,19883,19885],{"className":19884,"style":1402},[182],[75,19886,19887,19890],{"style":767},[75,19888],{"className":19889,"style":191},[190],[75,19891,19893],{"className":19892},[195,196,197,198],[75,19894,14862],{"className":19895},[160,198],". ",[65,19898,104],{}," troca de sinal toda hora.",[11,19901,19902,20021,20022,19810,20105,20189,20190,20192],{},[15,19903,19605,19904,3538],{},[75,19905,19907,19938],{"className":19906},[78],[75,19908,19910],{"className":19909},[82],[84,19911,19912],{"xmlns":86},[88,19913,19914,19935],{},[91,19915,19916,19918,19920,19923,19925],{},[97,19917,10317],{},[106,19919,125],{},[1316,19921,19922],{},"8",[106,19924,2599],{},[721,19926,19927,19929],{},[1316,19928,17222],{},[91,19930,19931,19933],{},[106,19932,4410],{},[1316,19934,19637],{},[140,19936,19937],{"encoding":142},"\\alpha = 8\\times10^{-7}",[75,19939,19941,19959,19977],{"className":19940,"ariaHidden":108},[147],[75,19942,19944,19947,19950,19953,19956],{"className":19943},[151],[75,19945],{"className":19946,"style":329},[155],[75,19948,10317],{"className":19949,"style":10433},[160,164],[75,19951],{"className":19952,"style":242},[241],[75,19954,125],{"className":19955},[246],[75,19957],{"className":19958,"style":242},[241],[75,19960,19962,19965,19968,19971,19974],{"className":19961},[151],[75,19963],{"className":19964,"style":5070},[155],[75,19966,19922],{"className":19967},[160],[75,19969],{"className":19970,"style":270},[241],[75,19972,2599],{"className":19973},[274],[75,19975],{"className":19976,"style":270},[241],[75,19978,19980,19983,19986],{"className":19979},[151],[75,19981],{"className":19982,"style":1402},[155],[75,19984,1578],{"className":19985},[160],[75,19987,19989,19992],{"className":19988},[160],[75,19990,1835],{"className":19991},[160],[75,19993,19995],{"className":19994},[169],[75,19996,19998],{"className":19997},[173],[75,19999,20001],{"className":20000},[178],[75,20002,20004],{"className":20003,"style":1402},[182],[75,20005,20006,20009],{"style":767},[75,20007],{"className":20008,"style":191},[190],[75,20010,20012],{"className":20011},[195,196,197,198],[75,20013,20015,20018],{"className":20014},[160,198],[75,20016,4410],{"className":20017},[160,198],[75,20019,19637],{"className":20020},[160,198]," custo cai de ",[75,20023,20025,20046],{"className":20024},[78],[75,20026,20028],{"className":20027},[82],[84,20029,20030],{"xmlns":86},[88,20031,20032,20044],{},[91,20033,20034,20036,20038],{},[1316,20035,19739],{},[106,20037,2599],{},[721,20039,20040,20042],{},[1316,20041,17222],{},[1316,20043,17223],{},[140,20045,19750],{"encoding":142},[75,20047,20049,20067],{"className":20048,"ariaHidden":108},[147],[75,20050,20052,20055,20058,20061,20064],{"className":20051},[151],[75,20053],{"className":20054,"style":5070},[155],[75,20056,19739],{"className":20057},[160],[75,20059],{"className":20060,"style":270},[241],[75,20062,2599],{"className":20063},[274],[75,20065],{"className":20066,"style":270},[241],[75,20068,20070,20073,20076],{"className":20069},[151],[75,20071],{"className":20072,"style":1402},[155],[75,20074,1578],{"className":20075},[160],[75,20077,20079,20082],{"className":20078},[160],[75,20080,1835],{"className":20081},[160],[75,20083,20085],{"className":20084},[169],[75,20086,20088],{"className":20087},[173],[75,20089,20091],{"className":20090},[178],[75,20092,20094],{"className":20093,"style":1402},[182],[75,20095,20096,20099],{"style":767},[75,20097],{"className":20098,"style":191},[190],[75,20100,20102],{"className":20101},[195,196,197,198],[75,20103,17223],{"className":20104},[160,198],[75,20106,20108,20130],{"className":20107},[78],[75,20109,20111],{"className":20110},[82],[84,20112,20113],{"xmlns":86},[88,20114,20115,20127],{},[91,20116,20117,20119,20121],{},[1316,20118,19825],{},[106,20120,2599],{},[721,20122,20123,20125],{},[1316,20124,17222],{},[1316,20126,13659],{},[140,20128,20129],{"encoding":142},"9.4\\times10^3",[75,20131,20133,20151],{"className":20132,"ariaHidden":108},[147],[75,20134,20136,20139,20142,20145,20148],{"className":20135},[151],[75,20137],{"className":20138,"style":5070},[155],[75,20140,19825],{"className":20141},[160],[75,20143],{"className":20144,"style":270},[241],[75,20146,2599],{"className":20147},[274],[75,20149],{"className":20150,"style":270},[241],[75,20152,20154,20157,20160],{"className":20153},[151],[75,20155],{"className":20156,"style":1402},[155],[75,20158,1578],{"className":20159},[160],[75,20161,20163,20166],{"className":20162},[160],[75,20164,1835],{"className":20165},[160],[75,20167,20169],{"className":20168},[169],[75,20170,20172],{"className":20171},[173],[75,20173,20175],{"className":20174},[178],[75,20176,20178],{"className":20177,"style":1402},[182],[75,20179,20180,20183],{"style":767},[75,20181],{"className":20182,"style":191},[190],[75,20184,20186],{"className":20185},[195,196,197,198],[75,20187,13659],{"className":20188},[160,198],", mas ",[65,20191,104],{}," ainda oscila (0 → 0.51 → 0.06 → 0.46 → 0.10...).",[11,20194,20195,20021,20313,19810,20396,499,20481,20483],{},[15,20196,19605,20197,3538],{},[75,20198,20200,20230],{"className":20199},[78],[75,20201,20203],{"className":20202},[82],[84,20204,20205],{"xmlns":86},[88,20206,20207,20227],{},[91,20208,20209,20211,20213,20215,20217],{},[97,20210,10317],{},[106,20212,125],{},[1316,20214,1578],{},[106,20216,2599],{},[721,20218,20219,20221],{},[1316,20220,17222],{},[91,20222,20223,20225],{},[106,20224,4410],{},[1316,20226,19637],{},[140,20228,20229],{"encoding":142},"\\alpha = 1\\times10^{-7}",[75,20231,20233,20251,20269],{"className":20232,"ariaHidden":108},[147],[75,20234,20236,20239,20242,20245,20248],{"className":20235},[151],[75,20237],{"className":20238,"style":329},[155],[75,20240,10317],{"className":20241,"style":10433},[160,164],[75,20243],{"className":20244,"style":242},[241],[75,20246,125],{"className":20247},[246],[75,20249],{"className":20250,"style":242},[241],[75,20252,20254,20257,20260,20263,20266],{"className":20253},[151],[75,20255],{"className":20256,"style":5070},[155],[75,20258,1578],{"className":20259},[160],[75,20261],{"className":20262,"style":270},[241],[75,20264,2599],{"className":20265},[274],[75,20267],{"className":20268,"style":270},[241],[75,20270,20272,20275,20278],{"className":20271},[151],[75,20273],{"className":20274,"style":1402},[155],[75,20276,1578],{"className":20277},[160],[75,20279,20281,20284],{"className":20280},[160],[75,20282,1835],{"className":20283},[160],[75,20285,20287],{"className":20286},[169],[75,20288,20290],{"className":20289},[173],[75,20291,20293],{"className":20292},[178],[75,20294,20296],{"className":20295,"style":1402},[182],[75,20297,20298,20301],{"style":767},[75,20299],{"className":20300,"style":191},[190],[75,20302,20304],{"className":20303},[195,196,197,198],[75,20305,20307,20310],{"className":20306},[160,198],[75,20308,4410],{"className":20309},[160,198],[75,20311,19637],{"className":20312},[160,198],[75,20314,20316,20337],{"className":20315},[78],[75,20317,20319],{"className":20318},[82],[84,20320,20321],{"xmlns":86},[88,20322,20323,20335],{},[91,20324,20325,20327,20329],{},[1316,20326,19739],{},[106,20328,2599],{},[721,20330,20331,20333],{},[1316,20332,17222],{},[1316,20334,17223],{},[140,20336,19750],{"encoding":142},[75,20338,20340,20358],{"className":20339,"ariaHidden":108},[147],[75,20341,20343,20346,20349,20352,20355],{"className":20342},[151],[75,20344],{"className":20345,"style":5070},[155],[75,20347,19739],{"className":20348},[160],[75,20350],{"className":20351,"style":270},[241],[75,20353,2599],{"className":20354},[274],[75,20356],{"className":20357,"style":270},[241],[75,20359,20361,20364,20367],{"className":20360},[151],[75,20362],{"className":20363,"style":1402},[155],[75,20365,1578],{"className":20366},[160],[75,20368,20370,20373],{"className":20369},[160],[75,20371,1835],{"className":20372},[160],[75,20374,20376],{"className":20375},[169],[75,20377,20379],{"className":20378},[173],[75,20380,20382],{"className":20381},[178],[75,20383,20385],{"className":20384,"style":1402},[182],[75,20386,20387,20390],{"style":767},[75,20388],{"className":20389,"style":191},[190],[75,20391,20393],{"className":20392},[195,196,197,198],[75,20394,17223],{"className":20395},[160,198],[75,20397,20399,20422],{"className":20398},[78],[75,20400,20402],{"className":20401},[82],[84,20403,20404],{"xmlns":86},[88,20405,20406,20419],{},[91,20407,20408,20411,20413],{},[1316,20409,20410],{},"1.3",[106,20412,2599],{},[721,20414,20415,20417],{},[1316,20416,17222],{},[1316,20418,13659],{},[140,20420,20421],{"encoding":142},"1.3\\times10^3",[75,20423,20425,20443],{"className":20424,"ariaHidden":108},[147],[75,20426,20428,20431,20434,20437,20440],{"className":20427},[151],[75,20429],{"className":20430,"style":5070},[155],[75,20432,20410],{"className":20433},[160],[75,20435],{"className":20436,"style":270},[241],[75,20438,2599],{"className":20439},[274],[75,20441],{"className":20442,"style":270},[241],[75,20444,20446,20449,20452],{"className":20445},[151],[75,20447],{"className":20448,"style":1402},[155],[75,20450,1578],{"className":20451},[160],[75,20453,20455,20458],{"className":20454},[160],[75,20456,1835],{"className":20457},[160],[75,20459,20461],{"className":20460},[169],[75,20462,20464],{"className":20463},[173],[75,20465,20467],{"className":20466},[178],[75,20468,20470],{"className":20469,"style":1402},[182],[75,20471,20472,20475],{"style":767},[75,20473],{"className":20474,"style":191},[190],[75,20476,20478],{"className":20477},[195,196,197,198],[75,20479,13659],{"className":20480},[160,198],[65,20482,104],{}," sobe direto sem oscilar (0 → 0.06 → 0.11 → 0.15...).",[11,20485,20486],{},"Testa você mesmo no simulador abaixo. Comecei com um alpha bem pequeno de propósito, arrasta o slider pra cima devagar e repara exatamente onde o custo vira de \"cai\" pra \"sobe\":",[13120,20488],{":b-range":20489,":initial-b":1835,":initial-w":1835,":w-range":20490,":x-train":20491,":y-train":20492,"b-label":112,"w-label":104,":alpha-presets":20493,":alpha-slider-max":20494,":alpha-slider-min":20495,":alpha-slider-step":20495},"[-250, 250]","[0, 0.6]","[952, 1244, 1947, 1725, 1959, 1314, 864, 1836]","[271.5, 300, 509.8, 394, 540, 415, 230, 560]","[1e-7, 3e-7, 8e-7, 9e-7, 9.9e-7]","2e-6","1e-8",[11,20497,20498,20499,503,20593,20688],{},"O padrão que eu vi bate certinho com o que o notebook descreve pro dataset completo (com as 100 casas e as 4 features, o limite fica entre ",[75,20500,20502,20528],{"className":20501},[78],[75,20503,20505],{"className":20504},[82],[84,20506,20507],{"xmlns":86},[88,20508,20509,20525],{},[91,20510,20511,20513,20515],{},[1316,20512,19624],{},[106,20514,2599],{},[721,20516,20517,20519],{},[1316,20518,17222],{},[91,20520,20521,20523],{},[106,20522,4410],{},[1316,20524,19637],{},[140,20526,20527],{"encoding":142},"9\\times10^{-7}",[75,20529,20531,20549],{"className":20530,"ariaHidden":108},[147],[75,20532,20534,20537,20540,20543,20546],{"className":20533},[151],[75,20535],{"className":20536,"style":5070},[155],[75,20538,19624],{"className":20539},[160],[75,20541],{"className":20542,"style":270},[241],[75,20544,2599],{"className":20545},[274],[75,20547],{"className":20548,"style":270},[241],[75,20550,20552,20555,20558],{"className":20551},[151],[75,20553],{"className":20554,"style":1402},[155],[75,20556,1578],{"className":20557},[160],[75,20559,20561,20564],{"className":20560},[160],[75,20562,1835],{"className":20563},[160],[75,20565,20567],{"className":20566},[169],[75,20568,20570],{"className":20569},[173],[75,20571,20573],{"className":20572},[178],[75,20574,20576],{"className":20575,"style":1402},[182],[75,20577,20578,20581],{"style":767},[75,20579],{"className":20580,"style":191},[190],[75,20582,20584],{"className":20583},[195,196,197,198],[75,20585,20587,20590],{"className":20586},[160,198],[75,20588,4410],{"className":20589},[160,198],[75,20591,19637],{"className":20592},[160,198],[75,20594,20596,20623],{"className":20595},[78],[75,20597,20599],{"className":20598},[82],[84,20600,20601],{"xmlns":86},[88,20602,20603,20620],{},[91,20604,20605,20608,20610],{},[1316,20606,20607],{},"9.9",[106,20609,2599],{},[721,20611,20612,20614],{},[1316,20613,17222],{},[91,20615,20616,20618],{},[106,20617,4410],{},[1316,20619,19637],{},[140,20621,20622],{"encoding":142},"9.9\\times10^{-7}",[75,20624,20626,20644],{"className":20625,"ariaHidden":108},[147],[75,20627,20629,20632,20635,20638,20641],{"className":20628},[151],[75,20630],{"className":20631,"style":5070},[155],[75,20633,20607],{"className":20634},[160],[75,20636],{"className":20637,"style":270},[241],[75,20639,2599],{"className":20640},[274],[75,20642],{"className":20643,"style":270},[241],[75,20645,20647,20650,20653],{"className":20646},[151],[75,20648],{"className":20649,"style":1402},[155],[75,20651,1578],{"className":20652},[160],[75,20654,20656,20659],{"className":20655},[160],[75,20657,1835],{"className":20658},[160],[75,20660,20662],{"className":20661},[169],[75,20663,20665],{"className":20664},[173],[75,20666,20668],{"className":20667},[178],[75,20669,20671],{"className":20670,"style":1402},[182],[75,20672,20673,20676],{"style":767},[75,20674],{"className":20675,"style":191},[190],[75,20677,20679],{"className":20678},[195,196,197,198],[75,20680,20682,20685],{"className":20681},[160,198],[75,20683,4410],{"className":20684},[160,198],[75,20686,19637],{"className":20687},[160,198],", bem parecido com o que eu achei aqui só com tamanho e um subconjunto menor). Não é coincidência, e a próxima seção explica exatamente por quê.",[289,20690,20692,20693,20731],{"id":20691},"por-que-exatamente-ali-o-limite-2l2l2l-e-o-número-de-condição","Por que exatamente ali: o limite ",[75,20694,20696,20715],{"className":20695},[78],[75,20697,20699],{"className":20698},[82],[84,20700,20701],{"xmlns":86},[88,20702,20703,20712],{},[91,20704,20705,20707,20710],{},[1316,20706,1318],{},[97,20708,20709],{"mathvariant":10324},"\u002F",[97,20711,17289],{},[140,20713,20714],{"encoding":142},"2\u002FL",[75,20716,20718],{"className":20717,"ariaHidden":108},[147],[75,20719,20721,20724,20728],{"className":20720},[151],[75,20722],{"className":20723,"style":2081},[155],[75,20725,20727],{"className":20726},[160],"2\u002F",[75,20729,17289],{"className":20730},[160,164]," e o número de condição",[11,20733,20734],{},"Isso não é tentativa e erro, dá pra calcular. Pra uma função de custo quadrática como a nossa, o gradiente descendente converge se e somente se",[11,20736,20737],{},[75,20738,20740,20793],{"className":20739},[78],[75,20741,20743],{"className":20742},[82],[84,20744,20745],{"xmlns":86},[88,20746,20747,20790],{},[91,20748,20749,20751,20754,20756,20758,20764,20766,20768,20770,20772,20783,20785,20788],{},[1316,20750,1835],{},[106,20752,20753],{},"\u003C",[97,20755,10317],{},[106,20757,20753],{},[4392,20759,20760,20762],{},[1316,20761,1318],{},[97,20763,17289],{},[106,20765,109],{"separator":108},[241,20767],{"width":10346},[97,20769,17289],{},[106,20771,125],{},[94,20773,20774,20777,20780],{},[97,20775,20776],{},"λ",[97,20778,20779],{},"max",[106,20781,20782],{},"⁡",[106,20784,116],{"stretchy":115},[97,20786,20787],{"mathvariant":596},"H",[106,20789,122],{"stretchy":115},[140,20791,20792],{"encoding":142},"0 \u003C \\alpha \u003C \\frac{2}{L}, \\qquad L = \\lambda_{\\max}(\\mathbf{H})",[75,20794,20796,20815,20834,20929],{"className":20795,"ariaHidden":108},[147],[75,20797,20799,20803,20806,20809,20812],{"className":20798},[151],[75,20800],{"className":20801,"style":20802},[155],"height:0.6835em;vertical-align:-0.0391em;",[75,20804,1835],{"className":20805},[160],[75,20807],{"className":20808,"style":242},[241],[75,20810,20753],{"className":20811},[246],[75,20813],{"className":20814,"style":242},[241],[75,20816,20818,20822,20825,20828,20831],{"className":20817},[151],[75,20819],{"className":20820,"style":20821},[155],"height:0.5782em;vertical-align:-0.0391em;",[75,20823,10317],{"className":20824,"style":10433},[160,164],[75,20826],{"className":20827,"style":242},[241],[75,20829,20753],{"className":20830},[246],[75,20832],{"className":20833,"style":242},[241],[75,20835,20837,20840,20908,20911,20914,20917,20920,20923,20926],{"className":20836},[151],[75,20838],{"className":20839,"style":8156},[155],[75,20841,20843,20846,20905],{"className":20842},[160],[75,20844],{"className":20845},[230,4513],[75,20847,20849],{"className":20848},[4392],[75,20850,20852,20897],{"className":20851},[173,174],[75,20853,20855,20894],{"className":20854},[178],[75,20856,20858,20872,20880],{"className":20857,"style":4777},[182],[75,20859,20860,20863],{"style":4780},[75,20861],{"className":20862,"style":4533},[190],[75,20864,20866],{"className":20865},[195,196,197,198],[75,20867,20869],{"className":20868},[160,198],[75,20870,17289],{"className":20871},[160,164,198],[75,20873,20874,20877],{"style":4626},[75,20875],{"className":20876,"style":4533},[190],[75,20878],{"className":20879,"style":4634},[4633],[75,20881,20882,20885],{"style":4809},[75,20883],{"className":20884,"style":4533},[190],[75,20886,20888],{"className":20887},[195,196,197,198],[75,20889,20891],{"className":20890},[160,198],[75,20892,1318],{"className":20893},[160,198],[75,20895,217],{"className":20896},[216],[75,20898,20900],{"className":20899},[178],[75,20901,20903],{"className":20902,"style":7154},[182],[75,20904],{},[75,20906],{"className":20907},[237,4513],[75,20909,109],{"className":20910},[209],[75,20912],{"className":20913,"style":10529},[241],[75,20915],{"className":20916,"style":263},[241],[75,20918,17289],{"className":20919},[160,164],[75,20921],{"className":20922,"style":242},[241],[75,20924,125],{"className":20925},[246],[75,20927],{"className":20928,"style":242},[241],[75,20930,20932,20935,20988,20991,20994],{"className":20931},[151],[75,20933],{"className":20934,"style":2081},[155],[75,20936,20938,20941],{"className":20937},[160],[75,20939,20776],{"className":20940},[160,164],[75,20942,20944],{"className":20943},[169],[75,20945,20947,20980],{"className":20946},[173,174],[75,20948,20950,20977],{"className":20949},[178],[75,20951,20954],{"className":20952,"style":20953},[182],"height:0.1514em;",[75,20955,20956,20959],{"style":15095},[75,20957],{"className":20958,"style":191},[190],[75,20960,20962],{"className":20961},[195,196,197,198],[75,20963,20965],{"className":20964},[160,198],[75,20966,20968,20971,20974],{"className":20967},[7166,198],[75,20969,317],{"className":20970},[198],[75,20972,557],{"className":20973},[198],[75,20975,119],{"className":20976},[198],[75,20978,217],{"className":20979},[216],[75,20981,20983],{"className":20982},[178],[75,20984,20986],{"className":20985,"style":15114},[182],[75,20987],{},[75,20989,116],{"className":20990},[230],[75,20992,20787],{"className":20993},[160,613],[75,20995,122],{"className":20996},[237],[11,20998,20999,21000,21029,21030,21034,21035,21120,21121,21149],{},"onde ",[75,21001,21003,21017],{"className":21002},[78],[75,21004,21006],{"className":21005},[82],[84,21007,21008],{"xmlns":86},[88,21009,21010,21014],{},[91,21011,21012],{},[97,21013,20787],{"mathvariant":596},[140,21015,21016],{"encoding":142},"\\mathbf{H}",[75,21018,21020],{"className":21019,"ariaHidden":108},[147],[75,21021,21023,21026],{"className":21022},[151],[75,21024],{"className":21025,"style":15301},[155],[75,21027,20787],{"className":21028},[160,613]," é a ",[6867,21031,21033],{"definition":21032},"a matriz das segundas derivadas da função de custo, ela descreve a curvatura da tigela em cada direção","Hessiana"," do custo e ",[75,21036,21038,21058],{"className":21037},[78],[75,21039,21041],{"className":21040},[82],[84,21042,21043],{"xmlns":86},[88,21044,21045,21055],{},[91,21046,21047],{},[94,21048,21049,21051,21053],{},[97,21050,20776],{},[97,21052,20779],{},[106,21054,20782],{},[140,21056,21057],{"encoding":142},"\\lambda_{\\max}",[75,21059,21061],{"className":21060,"ariaHidden":108},[147],[75,21062,21064,21068],{"className":21063},[151],[75,21065],{"className":21066,"style":21067},[155],"height:0.8444em;vertical-align:-0.15em;",[75,21069,21071,21074],{"className":21070},[160],[75,21072,20776],{"className":21073},[160,164],[75,21075,21077],{"className":21076},[169],[75,21078,21080,21112],{"className":21079},[173,174],[75,21081,21083,21109],{"className":21082},[178],[75,21084,21086],{"className":21085,"style":20953},[182],[75,21087,21088,21091],{"style":15095},[75,21089],{"className":21090,"style":191},[190],[75,21092,21094],{"className":21093},[195,196,197,198],[75,21095,21097],{"className":21096},[160,198],[75,21098,21100,21103,21106],{"className":21099},[7166,198],[75,21101,317],{"className":21102},[198],[75,21104,557],{"className":21105},[198],[75,21107,119],{"className":21108},[198],[75,21110,217],{"className":21111},[216],[75,21113,21115],{"className":21114},[178],[75,21116,21118],{"className":21117,"style":15114},[182],[75,21119],{}," é o maior autovalor dela. ",[75,21122,21124,21137],{"className":21123},[78],[75,21125,21127],{"className":21126},[82],[84,21128,21129],{"xmlns":86},[88,21130,21131,21135],{},[91,21132,21133],{},[97,21134,17289],{},[140,21136,17289],{"encoding":142},[75,21138,21140],{"className":21139,"ariaHidden":108},[147],[75,21141,21143,21146],{"className":21142},[151],[75,21144],{"className":21145,"style":8437},[155],[75,21147,17289],{"className":21148},[160,164]," é a curvatura máxima da tigela: quanto mais afiada a direção mais curva, menor o passo permitido antes de pular pro outro lado do vale.",[11,21151,21152,21153,21204,21205,503,21233,21261,21262,21370,21371,21399,21400,21509,21510,21603,21604,21698],{},"Calculei a Hessiana pro nosso exemplo de 8 casas (uma conta de ",[75,21154,21156,21174],{"className":21155},[78],[75,21157,21159],{"className":21158},[82],[84,21160,21161],{"xmlns":86},[88,21162,21163,21171],{},[91,21164,21165,21167,21169],{},[1316,21166,1318],{},[106,21168,2599],{},[1316,21170,1318],{},[140,21172,21173],{"encoding":142},"2\\times2",[75,21175,21177,21195],{"className":21176,"ariaHidden":108},[147],[75,21178,21180,21183,21186,21189,21192],{"className":21179},[151],[75,21181],{"className":21182,"style":5070},[155],[75,21184,1318],{"className":21185},[160],[75,21187],{"className":21188,"style":270},[241],[75,21190,2599],{"className":21191},[274],[75,21193],{"className":21194,"style":270},[241],[75,21196,21198,21201],{"className":21197},[151],[75,21199],{"className":21200,"style":1609},[155],[75,21202,1318],{"className":21203},[160],", já que é só ",[75,21206,21208,21221],{"className":21207},[78],[75,21209,21211],{"className":21210},[82],[84,21212,21213],{"xmlns":86},[88,21214,21215,21219],{},[91,21216,21217],{},[97,21218,104],{},[140,21220,104],{"encoding":142},[75,21222,21224],{"className":21223,"ariaHidden":108},[147],[75,21225,21227,21230],{"className":21226},[151],[75,21228],{"className":21229,"style":329},[155],[75,21231,104],{"className":21232,"style":205},[160,164],[75,21234,21236,21249],{"className":21235},[78],[75,21237,21239],{"className":21238},[82],[84,21240,21241],{"xmlns":86},[88,21242,21243,21247],{},[91,21244,21245],{},[97,21246,112],{},[140,21248,112],{"encoding":142},[75,21250,21252],{"className":21251,"ariaHidden":108},[147],[75,21253,21255,21258],{"className":21254},[151],[75,21256],{"className":21257,"style":284},[155],[75,21259,112],{"className":21260},[160,164],") e achei ",[75,21263,21265,21293],{"className":21264},[78],[75,21266,21268],{"className":21267},[82],[84,21269,21270],{"xmlns":86},[88,21271,21272,21290],{},[91,21273,21274,21276,21278,21281,21283],{},[97,21275,17289],{},[106,21277,9291],{},[1316,21279,21280],{},"2.36",[106,21282,2599],{},[721,21284,21285,21287],{},[1316,21286,17222],{},[1316,21288,21289],{},"6",[140,21291,21292],{"encoding":142},"L \\approx 2.36\\times10^6",[75,21294,21296,21314,21332],{"className":21295,"ariaHidden":108},[147],[75,21297,21299,21302,21305,21308,21311],{"className":21298},[151],[75,21300],{"className":21301,"style":8437},[155],[75,21303,17289],{"className":21304},[160,164],[75,21306],{"className":21307,"style":242},[241],[75,21309,9291],{"className":21310},[246],[75,21312],{"className":21313,"style":242},[241],[75,21315,21317,21320,21323,21326,21329],{"className":21316},[151],[75,21318],{"className":21319,"style":5070},[155],[75,21321,21280],{"className":21322},[160],[75,21324],{"className":21325,"style":270},[241],[75,21327,2599],{"className":21328},[274],[75,21330],{"className":21331,"style":270},[241],[75,21333,21335,21338,21341],{"className":21334},[151],[75,21336],{"className":21337,"style":1402},[155],[75,21339,1578],{"className":21340},[160],[75,21342,21344,21347],{"className":21343},[160],[75,21345,1835],{"className":21346},[160],[75,21348,21350],{"className":21349},[169],[75,21351,21353],{"className":21352},[173],[75,21354,21356],{"className":21355},[178],[75,21357,21359],{"className":21358,"style":1402},[182],[75,21360,21361,21364],{"style":767},[75,21362],{"className":21363,"style":191},[190],[75,21365,21367],{"className":21366},[195,196,197,198],[75,21368,21289],{"className":21369},[160,198],", o que dá ",[75,21372,21374,21387],{"className":21373},[78],[75,21375,21377],{"className":21376},[82],[84,21378,21379],{"xmlns":86},[88,21380,21381,21385],{},[91,21382,21383],{},[97,21384,10317],{},[140,21386,10803],{"encoding":142},[75,21388,21390],{"className":21389,"ariaHidden":108},[147],[75,21391,21393,21396],{"className":21392},[151],[75,21394],{"className":21395,"style":329},[155],[75,21397,10317],{"className":21398,"style":10433},[160,164]," crítico ",[75,21401,21403,21432],{"className":21402},[78],[75,21404,21406],{"className":21405},[82],[84,21407,21408],{"xmlns":86},[88,21409,21410,21429],{},[91,21411,21412,21414,21417,21419],{},[106,21413,9291],{},[1316,21415,21416],{},"8.46",[106,21418,2599],{},[721,21420,21421,21423],{},[1316,21422,17222],{},[91,21424,21425,21427],{},[106,21426,4410],{},[1316,21428,19637],{},[140,21430,21431],{"encoding":142},"\\approx 8.46\\times10^{-7}",[75,21433,21435,21447,21465],{"className":21434,"ariaHidden":108},[147],[75,21436,21438,21441,21444],{"className":21437},[151],[75,21439],{"className":21440,"style":9307},[155],[75,21442,9291],{"className":21443},[246],[75,21445],{"className":21446,"style":242},[241],[75,21448,21450,21453,21456,21459,21462],{"className":21449},[151],[75,21451],{"className":21452,"style":5070},[155],[75,21454,21416],{"className":21455},[160],[75,21457],{"className":21458,"style":270},[241],[75,21460,2599],{"className":21461},[274],[75,21463],{"className":21464,"style":270},[241],[75,21466,21468,21471,21474],{"className":21467},[151],[75,21469],{"className":21470,"style":1402},[155],[75,21472,1578],{"className":21473},[160],[75,21475,21477,21480],{"className":21476},[160],[75,21478,1835],{"className":21479},[160],[75,21481,21483],{"className":21482},[169],[75,21484,21486],{"className":21485},[173],[75,21487,21489],{"className":21488},[178],[75,21490,21492],{"className":21491,"style":1402},[182],[75,21493,21494,21497],{"style":767},[75,21495],{"className":21496,"style":191},[190],[75,21498,21500],{"className":21499},[195,196,197,198],[75,21501,21503,21506],{"className":21502},[160,198],[75,21504,4410],{"className":21505},[160,198],[75,21507,19637],{"className":21508},[160,198],". Bate com o que eu vi no simulador: ",[75,21511,21513,21538],{"className":21512},[78],[75,21514,21516],{"className":21515},[82],[84,21517,21518],{"xmlns":86},[88,21519,21520,21536],{},[91,21521,21522,21524,21526],{},[1316,21523,19624],{},[106,21525,2599],{},[721,21527,21528,21530],{},[1316,21529,17222],{},[91,21531,21532,21534],{},[106,21533,4410],{},[1316,21535,19637],{},[140,21537,20527],{"encoding":142},[75,21539,21541,21559],{"className":21540,"ariaHidden":108},[147],[75,21542,21544,21547,21550,21553,21556],{"className":21543},[151],[75,21545],{"className":21546,"style":5070},[155],[75,21548,19624],{"className":21549},[160],[75,21551],{"className":21552,"style":270},[241],[75,21554,2599],{"className":21555},[274],[75,21557],{"className":21558,"style":270},[241],[75,21560,21562,21565,21568],{"className":21561},[151],[75,21563],{"className":21564,"style":1402},[155],[75,21566,1578],{"className":21567},[160],[75,21569,21571,21574],{"className":21570},[160],[75,21572,1835],{"className":21573},[160],[75,21575,21577],{"className":21576},[169],[75,21578,21580],{"className":21579},[173],[75,21581,21583],{"className":21582},[178],[75,21584,21586],{"className":21585,"style":1402},[182],[75,21587,21588,21591],{"style":767},[75,21589],{"className":21590,"style":191},[190],[75,21592,21594],{"className":21593},[195,196,197,198],[75,21595,21597,21600],{"className":21596},[160,198],[75,21598,4410],{"className":21599},[160,198],[75,21601,19637],{"className":21602},[160,198]," passa desse limite e diverge, ",[75,21605,21607,21633],{"className":21606},[78],[75,21608,21610],{"className":21609},[82],[84,21611,21612],{"xmlns":86},[88,21613,21614,21630],{},[91,21615,21616,21618,21620],{},[1316,21617,19922],{},[106,21619,2599],{},[721,21621,21622,21624],{},[1316,21623,17222],{},[91,21625,21626,21628],{},[106,21627,4410],{},[1316,21629,19637],{},[140,21631,21632],{"encoding":142},"8\\times10^{-7}",[75,21634,21636,21654],{"className":21635,"ariaHidden":108},[147],[75,21637,21639,21642,21645,21648,21651],{"className":21638},[151],[75,21640],{"className":21641,"style":5070},[155],[75,21643,19922],{"className":21644},[160],[75,21646],{"className":21647,"style":270},[241],[75,21649,2599],{"className":21650},[274],[75,21652],{"className":21653,"style":270},[241],[75,21655,21657,21660,21663],{"className":21656},[151],[75,21658],{"className":21659,"style":1402},[155],[75,21661,1578],{"className":21662},[160],[75,21664,21666,21669],{"className":21665},[160],[75,21667,1835],{"className":21668},[160],[75,21670,21672],{"className":21671},[169],[75,21673,21675],{"className":21674},[173],[75,21676,21678],{"className":21677},[178],[75,21679,21681],{"className":21680,"style":1402},[182],[75,21682,21683,21686],{"style":767},[75,21684],{"className":21685,"style":191},[190],[75,21687,21689],{"className":21688},[195,196,197,198],[75,21690,21692,21695],{"className":21691},[160,198],[75,21693,4410],{"className":21694},[160,198],[75,21696,19637],{"className":21697},[160,198]," fica embaixo e converge.",[11,21700,21701,21702,21753,21754,21782,21783,21399,21811,21920],{},"O notebook original faz essa mesma conta com as 4 features de verdade (a Hessiana vira ",[75,21703,21705,21723],{"className":21704},[78],[75,21706,21708],{"className":21707},[82],[84,21709,21710],{"xmlns":86},[88,21711,21712,21720],{},[91,21713,21714,21716,21718],{},[1316,21715,14862],{},[106,21717,2599],{},[1316,21719,14862],{},[140,21721,21722],{"encoding":142},"5\\times5",[75,21724,21726,21744],{"className":21725,"ariaHidden":108},[147],[75,21727,21729,21732,21735,21738,21741],{"className":21728},[151],[75,21730],{"className":21731,"style":5070},[155],[75,21733,14862],{"className":21734},[160],[75,21736],{"className":21737,"style":270},[241],[75,21739,2599],{"className":21740},[274],[75,21742],{"className":21743,"style":270},[241],[75,21745,21747,21750],{"className":21746},[151],[75,21748],{"className":21749,"style":1609},[155],[75,21751,14862],{"className":21752},[160],", contando o ",[75,21755,21757,21770],{"className":21756},[78],[75,21758,21760],{"className":21759},[82],[84,21761,21762],{"xmlns":86},[88,21763,21764,21768],{},[91,21765,21766],{},[97,21767,112],{},[140,21769,112],{"encoding":142},[75,21771,21773],{"className":21772,"ariaHidden":108},[147],[75,21774,21776,21779],{"className":21775},[151],[75,21777],{"className":21778,"style":284},[155],[75,21780,112],{"className":21781},[160,164],") e chega em ",[75,21784,21786,21799],{"className":21785},[78],[75,21787,21789],{"className":21788},[82],[84,21790,21791],{"xmlns":86},[88,21792,21793,21797],{},[91,21794,21795],{},[97,21796,10317],{},[140,21798,10803],{"encoding":142},[75,21800,21802],{"className":21801,"ariaHidden":108},[147],[75,21803,21805,21808],{"className":21804},[151],[75,21806],{"className":21807,"style":329},[155],[75,21809,10317],{"className":21810,"style":10433},[160,164],[75,21812,21814,21843],{"className":21813},[78],[75,21815,21817],{"className":21816},[82],[84,21818,21819],{"xmlns":86},[88,21820,21821,21840],{},[91,21822,21823,21825,21828,21830],{},[106,21824,9291],{},[1316,21826,21827],{},"9.22",[106,21829,2599],{},[721,21831,21832,21834],{},[1316,21833,17222],{},[91,21835,21836,21838],{},[106,21837,4410],{},[1316,21839,19637],{},[140,21841,21842],{"encoding":142},"\\approx 9.22\\times10^{-7}",[75,21844,21846,21858,21876],{"className":21845,"ariaHidden":108},[147],[75,21847,21849,21852,21855],{"className":21848},[151],[75,21850],{"className":21851,"style":9307},[155],[75,21853,9291],{"className":21854},[246],[75,21856],{"className":21857,"style":242},[241],[75,21859,21861,21864,21867,21870,21873],{"className":21860},[151],[75,21862],{"className":21863,"style":5070},[155],[75,21865,21827],{"className":21866},[160],[75,21868],{"className":21869,"style":270},[241],[75,21871,2599],{"className":21872},[274],[75,21874],{"className":21875,"style":270},[241],[75,21877,21879,21882,21885],{"className":21878},[151],[75,21880],{"className":21881,"style":1402},[155],[75,21883,1578],{"className":21884},[160],[75,21886,21888,21891],{"className":21887},[160],[75,21889,1835],{"className":21890},[160],[75,21892,21894],{"className":21893},[169],[75,21895,21897],{"className":21896},[173],[75,21898,21900],{"className":21899},[178],[75,21901,21903],{"className":21902,"style":1402},[182],[75,21904,21905,21908],{"style":767},[75,21906],{"className":21907,"style":191},[190],[75,21909,21911],{"className":21910},[195,196,197,198],[75,21912,21914,21917],{"className":21913},[160,198],[75,21915,4410],{"className":21916},[160,198],[75,21918,19637],{"className":21919},[160,198],", praticamente o mesmo número que eu achei simplificando pra 1 feature. Faz sentido: o tamanho é a feature com a escala mais absurda, então ela sozinha já domina quase toda a curvatura da tigela.",[11,21922,21923,21924,1286,21928,21991,21992,22021,22022,22129,22130,22133],{},"Tem um segundo número que sai dessa mesma conta, o ",[6867,21925,21927],{"definition":21926},"a razão entre a maior e a menor curvatura da tigela de custo, kappa = L\u002Fmu, e quanto maior ele é, mais alongada a tigela e mais lento o gradiente descendente","número de condição",[75,21929,21931,21955],{"className":21930},[78],[75,21932,21934],{"className":21933},[82],[84,21935,21936],{"xmlns":86},[88,21937,21938,21952],{},[91,21939,21940,21943,21945,21947,21949],{},[97,21941,21942],{},"κ",[106,21944,125],{},[97,21946,17289],{},[97,21948,20709],{"mathvariant":10324},[97,21950,21951],{},"μ",[140,21953,21954],{"encoding":142},"\\kappa = L\u002F\\mu",[75,21956,21958,21976],{"className":21957,"ariaHidden":108},[147],[75,21959,21961,21964,21967,21970,21973],{"className":21960},[151],[75,21962],{"className":21963,"style":329},[155],[75,21965,21942],{"className":21966},[160,164],[75,21968],{"className":21969,"style":242},[241],[75,21971,125],{"className":21972},[246],[75,21974],{"className":21975,"style":242},[241],[75,21977,21979,21982,21985,21988],{"className":21978},[151],[75,21980],{"className":21981,"style":2081},[155],[75,21983,17289],{"className":21984},[160,164],[75,21986,20709],{"className":21987},[160],[75,21989,21951],{"className":21990},[160,164]," (onde ",[75,21993,21995,22009],{"className":21994},[78],[75,21996,21998],{"className":21997},[82],[84,21999,22000],{"xmlns":86},[88,22001,22002,22006],{},[91,22003,22004],{},[97,22005,21951],{},[140,22007,22008],{"encoding":142},"\\mu",[75,22010,22012],{"className":22011,"ariaHidden":108},[147],[75,22013,22015,22018],{"className":22014},[151],[75,22016],{"className":22017,"style":4281},[155],[75,22019,21951],{"className":22020},[160,164]," é a menor curvatura). Ele mede o quão \"esticada\" é a tigela. Achei ",[75,22023,22025,22052],{"className":22024},[78],[75,22026,22028],{"className":22027},[82],[84,22029,22030],{"xmlns":86},[88,22031,22032,22049],{},[91,22033,22034,22036,22038,22041,22043],{},[97,22035,21942],{},[106,22037,9291],{},[1316,22039,22040],{},"5.8",[106,22042,2599],{},[721,22044,22045,22047],{},[1316,22046,17222],{},[1316,22048,19637],{},[140,22050,22051],{"encoding":142},"\\kappa \\approx 5.8\\times10^7",[75,22053,22055,22073,22091],{"className":22054,"ariaHidden":108},[147],[75,22056,22058,22061,22064,22067,22070],{"className":22057},[151],[75,22059],{"className":22060,"style":9307},[155],[75,22062,21942],{"className":22063},[160,164],[75,22065],{"className":22066,"style":242},[241],[75,22068,9291],{"className":22069},[246],[75,22071],{"className":22072,"style":242},[241],[75,22074,22076,22079,22082,22085,22088],{"className":22075},[151],[75,22077],{"className":22078,"style":5070},[155],[75,22080,22040],{"className":22081},[160],[75,22083],{"className":22084,"style":270},[241],[75,22086,2599],{"className":22087},[274],[75,22089],{"className":22090,"style":270},[241],[75,22092,22094,22097,22100],{"className":22093},[151],[75,22095],{"className":22096,"style":1402},[155],[75,22098,1578],{"className":22099},[160],[75,22101,22103,22106],{"className":22102},[160],[75,22104,1835],{"className":22105},[160],[75,22107,22109],{"className":22108},[169],[75,22110,22112],{"className":22111},[173],[75,22113,22115],{"className":22114},[178],[75,22116,22118],{"className":22117,"style":1402},[182],[75,22119,22120,22123],{"style":767},[75,22121],{"className":22122,"style":191},[190],[75,22124,22126],{"className":22125},[195,196,197,198],[75,22127,19637],{"className":22128},[160,198]," pro dataset completo de 100 casas com as 4 features. Calculei também quantas iterações seriam necessárias, no melhor caso, só pra reduzir o erro em 10 vezes: ",[15,22131,22132],{},"cerca de 67 milhões",". Foi aí que eu entendi de vez por que \"diminui um pouco o alpha e espera mais\" não é uma solução de verdade aqui.",[289,22135,22137,22138],{"id":22136},"receita-prática-pra-escolher-αalphaα","Receita prática pra escolher ",[75,22139,22141,22154],{"className":22140},[78],[75,22142,22144],{"className":22143},[82],[84,22145,22146],{"xmlns":86},[88,22147,22148,22152],{},[91,22149,22150],{},[97,22151,10317],{},[140,22153,10803],{"encoding":142},[75,22155,22157],{"className":22156,"ariaHidden":108},[147],[75,22158,22160,22163],{"className":22159},[151],[75,22161],{"className":22162,"style":329},[155],[75,22164,10317],{"className":22165,"style":10433},[160,164],[11,22167,22168,22169,3538],{},"Nem sempre eu vou querer calcular autovalor. A receita que o Andrew Ng ensina, e que eu já uso desde ",[557,22170,22171],{"href":3833},"o post de gradiente descendente",[294,22173,22174,22228,22234,22237],{},[297,22175,22176,22177,1613],{},"Começa pequeno, tipo ",[75,22178,22180,22198],{"className":22179},[78],[75,22181,22183],{"className":22182},[82],[84,22184,22185],{"xmlns":86},[88,22186,22187,22195],{},[91,22188,22189,22191,22193],{},[97,22190,10317],{},[106,22192,125],{},[1316,22194,13283],{},[140,22196,22197],{"encoding":142},"\\alpha = 0.001",[75,22199,22201,22219],{"className":22200,"ariaHidden":108},[147],[75,22202,22204,22207,22210,22213,22216],{"className":22203},[151],[75,22205],{"className":22206,"style":329},[155],[75,22208,10317],{"className":22209,"style":10433},[160,164],[75,22211],{"className":22212,"style":242},[241],[75,22214,125],{"className":22215},[246],[75,22217],{"className":22218,"style":242},[241],[75,22220,22222,22225],{"className":22221},[151],[75,22223],{"className":22224,"style":1609},[155],[75,22226,13283],{"className":22227},[160],[297,22229,22230,22231],{},"Multiplica por uns 3 a cada tentativa: ",[65,22232,22233],{},"0.001, 0.003, 0.01, 0.03, 0.1...",[297,22235,22236],{},"Roda poucas iterações e olha o gráfico de custo por iteração.",[297,22238,22239,22240,22268],{},"Pega o maior ",[75,22241,22243,22256],{"className":22242},[78],[75,22244,22246],{"className":22245},[82],[84,22247,22248],{"xmlns":86},[88,22249,22250,22254],{},[91,22251,22252],{},[97,22253,10317],{},[140,22255,10803],{"encoding":142},[75,22257,22259],{"className":22258,"ariaHidden":108},[147],[75,22260,22262,22265],{"className":22261},[151],[75,22263],{"className":22264,"style":329},[155],[75,22266,10317],{"className":22267,"style":10433},[160,164]," que ainda dá uma curva decrescente e suave.",[516,22270,22271,22281],{},[519,22272,22273],{},[522,22274,22275,22278],{},[525,22276,22277],{"align":527},"O que aparece no gráfico",[525,22279,22280],{"align":527},"Diagnóstico",[536,22282,22283,22325,22361,22397],{},[522,22284,22285,22294],{},[541,22286,22287,22288,20709,22291],{"align":527},"Custo sobe, ou vira ",[65,22289,22290],{},"nan",[65,22292,22293],{},"inf",[541,22295,22296,22324],{"align":527},[75,22297,22299,22312],{"className":22298},[78],[75,22300,22302],{"className":22301},[82],[84,22303,22304],{"xmlns":86},[88,22305,22306,22310],{},[91,22307,22308],{},[97,22309,10317],{},[140,22311,10803],{"encoding":142},[75,22313,22315],{"className":22314,"ariaHidden":108},[147],[75,22316,22318,22321],{"className":22317},[151],[75,22319],{"className":22320,"style":329},[155],[75,22322,10317],{"className":22323,"style":10433},[160,164]," grande demais",[522,22326,22327,22330],{},[541,22328,22329],{"align":527},"Custo desce mas serrilhado, com picos",[541,22331,22332,22360],{"align":527},[75,22333,22335,22348],{"className":22334},[78],[75,22336,22338],{"className":22337},[82],[84,22339,22340],{"xmlns":86},[88,22341,22342,22346],{},[91,22343,22344],{},[97,22345,10317],{},[140,22347,10803],{"encoding":142},[75,22349,22351],{"className":22350,"ariaHidden":108},[147],[75,22352,22354,22357],{"className":22353},[151],[75,22355],{"className":22356,"style":329},[155],[75,22358,10317],{"className":22359,"style":10433},[160,164]," no limite, reduz",[522,22362,22363,22366],{},[541,22364,22365],{"align":527},"Custo desce numa linha quase reta e devagar",[541,22367,22368,22396],{"align":527},[75,22369,22371,22384],{"className":22370},[78],[75,22372,22374],{"className":22373},[82],[84,22375,22376],{"xmlns":86},[88,22377,22378,22382],{},[91,22379,22380],{},[97,22381,10317],{},[140,22383,10803],{"encoding":142},[75,22385,22387],{"className":22386,"ariaHidden":108},[147],[75,22388,22390,22393],{"className":22389},[151],[75,22391],{"className":22392,"style":329},[155],[75,22394,10317],{"className":22395,"style":10433},[160,164]," pequeno demais",[522,22398,22399,22402],{},[541,22400,22401],{"align":527},"Custo desce rápido e depois achata",[541,22403,22404,22405,22433],{"align":527},"bom ",[75,22406,22408,22421],{"className":22407},[78],[75,22409,22411],{"className":22410},[82],[84,22412,22413],{"xmlns":86},[88,22414,22415,22419],{},[91,22416,22417],{},[97,22418,10317],{},[140,22420,10803],{"encoding":142},[75,22422,22424],{"className":22423,"ariaHidden":108},[147],[75,22425,22427,22430],{"className":22426},[151],[75,22428],{"className":22429,"style":329},[155],[75,22431,10317],{"className":22432,"style":10433},[160,164],", convergiu",[11,22435,22436,22437,22465,22466,503,22538,22610],{},"Rodei essa varredura no dataset completo e achei que a faixa utilizável de ",[75,22438,22440,22453],{"className":22439},[78],[75,22441,22443],{"className":22442},[82],[84,22444,22445],{"xmlns":86},[88,22446,22447,22451],{},[91,22448,22449],{},[97,22450,10317],{},[140,22452,10803],{"encoding":142},[75,22454,22456],{"className":22455,"ariaHidden":108},[147],[75,22457,22459,22462],{"className":22458},[151],[75,22460],{"className":22461,"style":329},[155],[75,22463,10317],{"className":22464,"style":10433},[160,164]," (sem normalizar nada) fica entre ",[75,22467,22469,22491],{"className":22468},[78],[75,22470,22472],{"className":22471},[82],[84,22473,22474],{"xmlns":86},[88,22475,22476,22488],{},[91,22477,22478],{},[721,22479,22480,22482],{},[1316,22481,17222],{},[91,22483,22484,22486],{},[106,22485,4410],{},[1316,22487,19922],{},[140,22489,22490],{"encoding":142},"10^{-8}",[75,22492,22494],{"className":22493,"ariaHidden":108},[147],[75,22495,22497,22500,22503],{"className":22496},[151],[75,22498],{"className":22499,"style":1402},[155],[75,22501,1578],{"className":22502},[160],[75,22504,22506,22509],{"className":22505},[160],[75,22507,1835],{"className":22508},[160],[75,22510,22512],{"className":22511},[169],[75,22513,22515],{"className":22514},[173],[75,22516,22518],{"className":22517},[178],[75,22519,22521],{"className":22520,"style":1402},[182],[75,22522,22523,22526],{"style":767},[75,22524],{"className":22525,"style":191},[190],[75,22527,22529],{"className":22528},[195,196,197,198],[75,22530,22532,22535],{"className":22531},[160,198],[75,22533,4410],{"className":22534},[160,198],[75,22536,19922],{"className":22537},[160,198],[75,22539,22541,22563],{"className":22540},[78],[75,22542,22544],{"className":22543},[82],[84,22545,22546],{"xmlns":86},[88,22547,22548,22560],{},[91,22549,22550],{},[721,22551,22552,22554],{},[1316,22553,17222],{},[91,22555,22556,22558],{},[106,22557,4410],{},[1316,22559,21289],{},[140,22561,22562],{"encoding":142},"10^{-6}",[75,22564,22566],{"className":22565,"ariaHidden":108},[147],[75,22567,22569,22572,22575],{"className":22568},[151],[75,22570],{"className":22571,"style":1402},[155],[75,22573,1578],{"className":22574},[160],[75,22576,22578,22581],{"className":22577},[160],[75,22579,1835],{"className":22580},[160],[75,22582,22584],{"className":22583},[169],[75,22585,22587],{"className":22586},[173],[75,22588,22590],{"className":22589},[178],[75,22591,22593],{"className":22592,"style":1402},[182],[75,22594,22595,22598],{"style":767},[75,22596],{"className":22597,"style":191},[190],[75,22599,22601],{"className":22600},[195,196,197,198],[75,22602,22604,22607],{"className":22603},[160,198],[75,22605,4410],{"className":22606},[160,198],[75,22608,21289],{"className":22609},[160,198],". Uma faixa estreitíssima, e que depende inteiramente da unidade que eu usei pra medir tamanho. Se eu tivesse medido em metros quadrados em vez de pés², todos esses números mudariam. Isso é frágil, e não é assim que eu quero treinar modelo nenhum.",[289,22612,22614],{"id":22613},"as-técnicas-de-normalização","As técnicas de normalização",[11,22616,22617,22618,22646],{},"A solução não é caçar um ",[75,22619,22621,22634],{"className":22620},[78],[75,22622,22624],{"className":22623},[82],[84,22625,22626],{"xmlns":86},[88,22627,22628,22632],{},[91,22629,22630],{},[97,22631,10317],{},[140,22633,10803],{"encoding":142},[75,22635,22637],{"className":22636,"ariaHidden":108},[147],[75,22638,22640,22643],{"className":22639},[151],[75,22641],{"className":22642,"style":329},[155],[75,22644,10317],{"className":22645,"style":10433},[160,164]," melhor, é consertar a escala das features antes de rodar qualquer coisa. Existem algumas formas de fazer isso:",[516,22648,22649,22661],{},[519,22650,22651],{},[522,22652,22653,22656,22658],{},[525,22654,22655],{"align":527},"Técnica",[525,22657,17923],{"align":527},[525,22659,22660],{"align":527},"Faixa resultante",[536,22662,22663,22934,23430,23900],{},[522,22664,22665,22668,22878],{},[541,22666,22667],{"align":527},"Dividir pelo máximo",[541,22669,22670],{"align":527},[75,22671,22673,22717],{"className":22672},[78],[75,22674,22676],{"className":22675},[82],[84,22677,22678],{"xmlns":86},[88,22679,22680,22714],{},[91,22681,22682,22689,22692,22698,22700,22702,22704,22706,22712],{},[94,22683,22684,22686],{},[97,22685,119],{},[97,22687,22688],{},"j",[106,22690,22691],{},"←",[94,22693,22694,22696],{},[97,22695,119],{},[97,22697,22688],{},[97,22699,20709],{"mathvariant":10324},[97,22701,20779],{},[106,22703,20782],{},[106,22705,116],{"stretchy":115},[94,22707,22708,22710],{},[97,22709,119],{},[97,22711,22688],{},[106,22713,122],{"stretchy":115},[140,22715,22716],{"encoding":142},"x_j \\leftarrow x_j \u002F \\max(x_j)",[75,22718,22720,22777],{"className":22719,"ariaHidden":108},[147],[75,22721,22723,22727,22768,22771,22774],{"className":22722},[151],[75,22724],{"className":22725,"style":22726},[155],"height:0.7167em;vertical-align:-0.2861em;",[75,22728,22730,22733],{"className":22729},[160],[75,22731,119],{"className":22732},[160,164],[75,22734,22736],{"className":22735},[169],[75,22737,22739,22760],{"className":22738},[173,174],[75,22740,22742,22757],{"className":22741},[178],[75,22743,22745],{"className":22744,"style":15092},[182],[75,22746,22747,22750],{"style":15095},[75,22748],{"className":22749,"style":191},[190],[75,22751,22753],{"className":22752},[195,196,197,198],[75,22754,22688],{"className":22755,"style":22756},[160,164,198],"margin-right:0.0572em;",[75,22758,217],{"className":22759},[216],[75,22761,22763],{"className":22762},[178],[75,22764,22766],{"className":22765,"style":224},[182],[75,22767],{},[75,22769],{"className":22770,"style":242},[241],[75,22772,22691],{"className":22773},[246],[75,22775],{"className":22776,"style":242},[241],[75,22778,22780,22783,22823,22826,22829,22832,22835,22875],{"className":22779},[151],[75,22781],{"className":22782,"style":156},[155],[75,22784,22786,22789],{"className":22785},[160],[75,22787,119],{"className":22788},[160,164],[75,22790,22792],{"className":22791},[169],[75,22793,22795,22815],{"className":22794},[173,174],[75,22796,22798,22812],{"className":22797},[178],[75,22799,22801],{"className":22800,"style":15092},[182],[75,22802,22803,22806],{"style":15095},[75,22804],{"className":22805,"style":191},[190],[75,22807,22809],{"className":22808},[195,196,197,198],[75,22810,22688],{"className":22811,"style":22756},[160,164,198],[75,22813,217],{"className":22814},[216],[75,22816,22818],{"className":22817},[178],[75,22819,22821],{"className":22820,"style":224},[182],[75,22822],{},[75,22824,20709],{"className":22825},[160],[75,22827],{"className":22828,"style":263},[241],[75,22830,20779],{"className":22831},[7166],[75,22833,116],{"className":22834},[230],[75,22836,22838,22841],{"className":22837},[160],[75,22839,119],{"className":22840},[160,164],[75,22842,22844],{"className":22843},[169],[75,22845,22847,22867],{"className":22846},[173,174],[75,22848,22850,22864],{"className":22849},[178],[75,22851,22853],{"className":22852,"style":15092},[182],[75,22854,22855,22858],{"style":15095},[75,22856],{"className":22857,"style":191},[190],[75,22859,22861],{"className":22860},[195,196,197,198],[75,22862,22688],{"className":22863,"style":22756},[160,164,198],[75,22865,217],{"className":22866},[216],[75,22868,22870],{"className":22869},[178],[75,22871,22873],{"className":22872,"style":224},[182],[75,22874],{},[75,22876,122],{"className":22877},[237],[541,22879,22880],{"align":527},[75,22881,22883,22907],{"className":22882},[78],[75,22884,22886],{"className":22885},[82],[84,22887,22888],{"xmlns":86},[88,22889,22890,22904],{},[91,22891,22892,22895,22897,22899,22901],{},[106,22893,22894],{"stretchy":115},"[",[1316,22896,1835],{},[106,22898,109],{"separator":108},[1316,22900,1578],{},[106,22902,22903],{"stretchy":115},"]",[140,22905,22906],{"encoding":142},"[0, 1]",[75,22908,22910],{"className":22909,"ariaHidden":108},[147],[75,22911,22913,22916,22919,22922,22925,22928,22931],{"className":22912},[151],[75,22914],{"className":22915,"style":2081},[155],[75,22917,22894],{"className":22918},[230],[75,22920,1835],{"className":22921},[160],[75,22923,109],{"className":22924},[209],[75,22926],{"className":22927,"style":263},[241],[75,22929,1578],{"className":22930},[160],[75,22932,22903],{"className":22933},[237],[522,22935,22936,22939,23377],{},[541,22937,22938],{"align":527},"Min-max",[541,22940,22941],{"align":527},[75,22942,22944,23023],{"className":22943},[78],[75,22945,22947],{"className":22946},[82],[84,22948,22949],{"xmlns":86},[88,22950,22951,23020],{},[91,22952,22953,22959,22961],{},[94,22954,22955,22957],{},[97,22956,119],{},[97,22958,22688],{},[106,22960,22691],{},[4392,22962,22963,22988],{},[91,22964,22965,22971,22973,22976,22978,22980,22986],{},[94,22966,22967,22969],{},[97,22968,119],{},[97,22970,22688],{},[106,22972,4410],{},[97,22974,22975],{},"min",[106,22977,20782],{},[106,22979,116],{"stretchy":115},[94,22981,22982,22984],{},[97,22983,119],{},[97,22985,22688],{},[106,22987,122],{"stretchy":115},[91,22989,22990,22992,22994,22996,23002,23004,23006,23008,23010,23012,23018],{},[97,22991,20779],{},[106,22993,20782],{},[106,22995,116],{"stretchy":115},[94,22997,22998,23000],{},[97,22999,119],{},[97,23001,22688],{},[106,23003,122],{"stretchy":115},[106,23005,4410],{},[97,23007,22975],{},[106,23009,20782],{},[106,23011,116],{"stretchy":115},[94,23013,23014,23016],{},[97,23015,119],{},[97,23017,22688],{},[106,23019,122],{"stretchy":115},[140,23021,23022],{"encoding":142},"x_j \\leftarrow \\frac{x_j - \\min(x_j)}{\\max(x_j) - \\min(x_j)}",[75,23024,23026,23081],{"className":23025,"ariaHidden":108},[147],[75,23027,23029,23032,23072,23075,23078],{"className":23028},[151],[75,23030],{"className":23031,"style":22726},[155],[75,23033,23035,23038],{"className":23034},[160],[75,23036,119],{"className":23037},[160,164],[75,23039,23041],{"className":23040},[169],[75,23042,23044,23064],{"className":23043},[173,174],[75,23045,23047,23061],{"className":23046},[178],[75,23048,23050],{"className":23049,"style":15092},[182],[75,23051,23052,23055],{"style":15095},[75,23053],{"className":23054,"style":191},[190],[75,23056,23058],{"className":23057},[195,196,197,198],[75,23059,22688],{"className":23060,"style":22756},[160,164,198],[75,23062,217],{"className":23063},[216],[75,23065,23067],{"className":23066},[178],[75,23068,23070],{"className":23069,"style":224},[182],[75,23071],{},[75,23073],{"className":23074,"style":242},[241],[75,23076,22691],{"className":23077},[246],[75,23079],{"className":23080,"style":242},[241],[75,23082,23084,23088],{"className":23083},[151],[75,23085],{"className":23086,"style":23087},[155],"height:1.5746em;vertical-align:-0.5423em;",[75,23089,23091,23094,23374],{"className":23090},[160],[75,23092],{"className":23093},[230,4513],[75,23095,23097],{"className":23096},[4392],[75,23098,23100,23365],{"className":23099},[173,174],[75,23101,23103,23362],{"className":23102},[178],[75,23104,23107,23241,23249],{"className":23105,"style":23106},[182],"height:1.0323em;",[75,23108,23109,23112],{"style":4780},[75,23110],{"className":23111,"style":4533},[190],[75,23113,23115],{"className":23114},[195,196,197,198],[75,23116,23118,23130,23133,23177,23180,23183,23195,23198,23238],{"className":23117},[160,198],[75,23119,23121,23124,23127],{"className":23120},[7166,198],[75,23122,317],{"className":23123},[198],[75,23125,557],{"className":23126},[198],[75,23128,119],{"className":23129},[198],[75,23131,116],{"className":23132},[230,198],[75,23134,23136,23139],{"className":23135},[160,198],[75,23137,119],{"className":23138},[160,164,198],[75,23140,23142],{"className":23141},[169],[75,23143,23145,23168],{"className":23144},[173,174],[75,23146,23148,23165],{"className":23147},[178],[75,23149,23152],{"className":23150,"style":23151},[182],"height:0.3281em;",[75,23153,23155,23159],{"style":23154},"top:-2.357em;margin-left:0em;margin-right:0.0714em;",[75,23156],{"className":23157,"style":23158},[190],"height:2.5em;",[75,23160,23162],{"className":23161},[195,4569,4570,198],[75,23163,22688],{"className":23164,"style":22756},[160,164,198],[75,23166,217],{"className":23167},[216],[75,23169,23171],{"className":23170},[178],[75,23172,23175],{"className":23173,"style":23174},[182],"height:0.2819em;",[75,23176],{},[75,23178,122],{"className":23179},[237,198],[75,23181,4410],{"className":23182},[274,198],[75,23184,23186,23189,23192],{"className":23185},[7166,198],[75,23187,317],{"className":23188},[198],[75,23190,731],{"className":23191},[198],[75,23193,1482],{"className":23194},[198],[75,23196,116],{"className":23197},[230,198],[75,23199,23201,23204],{"className":23200},[160,198],[75,23202,119],{"className":23203},[160,164,198],[75,23205,23207],{"className":23206},[169],[75,23208,23210,23230],{"className":23209},[173,174],[75,23211,23213,23227],{"className":23212},[178],[75,23214,23216],{"className":23215,"style":23151},[182],[75,23217,23218,23221],{"style":23154},[75,23219],{"className":23220,"style":23158},[190],[75,23222,23224],{"className":23223},[195,4569,4570,198],[75,23225,22688],{"className":23226,"style":22756},[160,164,198],[75,23228,217],{"className":23229},[216],[75,23231,23233],{"className":23232},[178],[75,23234,23236],{"className":23235,"style":23174},[182],[75,23237],{},[75,23239,122],{"className":23240},[237,198],[75,23242,23243,23246],{"style":4626},[75,23244],{"className":23245,"style":4533},[190],[75,23247],{"className":23248,"style":4634},[4633],[75,23250,23252,23255],{"style":23251},"top:-3.5073em;",[75,23253],{"className":23254,"style":4533},[190],[75,23256,23258],{"className":23257},[195,196,197,198],[75,23259,23261,23301,23304,23316,23319,23359],{"className":23260},[160,198],[75,23262,23264,23267],{"className":23263},[160,198],[75,23265,119],{"className":23266},[160,164,198],[75,23268,23270],{"className":23269},[169],[75,23271,23273,23293],{"className":23272},[173,174],[75,23274,23276,23290],{"className":23275},[178],[75,23277,23279],{"className":23278,"style":23151},[182],[75,23280,23281,23284],{"style":23154},[75,23282],{"className":23283,"style":23158},[190],[75,23285,23287],{"className":23286},[195,4569,4570,198],[75,23288,22688],{"className":23289,"style":22756},[160,164,198],[75,23291,217],{"className":23292},[216],[75,23294,23296],{"className":23295},[178],[75,23297,23299],{"className":23298,"style":23174},[182],[75,23300],{},[75,23302,4410],{"className":23303},[274,198],[75,23305,23307,23310,23313],{"className":23306},[7166,198],[75,23308,317],{"className":23309},[198],[75,23311,731],{"className":23312},[198],[75,23314,1482],{"className":23315},[198],[75,23317,116],{"className":23318},[230,198],[75,23320,23322,23325],{"className":23321},[160,198],[75,23323,119],{"className":23324},[160,164,198],[75,23326,23328],{"className":23327},[169],[75,23329,23331,23351],{"className":23330},[173,174],[75,23332,23334,23348],{"className":23333},[178],[75,23335,23337],{"className":23336,"style":23151},[182],[75,23338,23339,23342],{"style":23154},[75,23340],{"className":23341,"style":23158},[190],[75,23343,23345],{"className":23344},[195,4569,4570,198],[75,23346,22688],{"className":23347,"style":22756},[160,164,198],[75,23349,217],{"className":23350},[216],[75,23352,23354],{"className":23353},[178],[75,23355,23357],{"className":23356,"style":23174},[182],[75,23358],{},[75,23360,122],{"className":23361},[237,198],[75,23363,217],{"className":23364},[216],[75,23366,23368],{"className":23367},[178],[75,23369,23372],{"className":23370,"style":23371},[182],"height:0.5423em;",[75,23373],{},[75,23375],{"className":23376},[237,4513],[541,23378,23379],{"align":527},[75,23380,23382,23403],{"className":23381},[78],[75,23383,23385],{"className":23384},[82],[84,23386,23387],{"xmlns":86},[88,23388,23389,23401],{},[91,23390,23391,23393,23395,23397,23399],{},[106,23392,22894],{"stretchy":115},[1316,23394,1835],{},[106,23396,109],{"separator":108},[1316,23398,1578],{},[106,23400,22903],{"stretchy":115},[140,23402,22906],{"encoding":142},[75,23404,23406],{"className":23405,"ariaHidden":108},[147],[75,23407,23409,23412,23415,23418,23421,23424,23427],{"className":23408},[151],[75,23410],{"className":23411,"style":2081},[155],[75,23413,22894],{"className":23414},[230],[75,23416,1835],{"className":23417},[160],[75,23419,109],{"className":23420},[209],[75,23422],{"className":23423,"style":263},[241],[75,23425,1578],{"className":23426},[160],[75,23428,22903],{"className":23429},[237],[522,23431,23432,23435,23840],{},[541,23433,23434],{"align":527},"Normalização de média",[541,23436,23437],{"align":527},[75,23438,23440,23510],{"className":23439},[78],[75,23441,23443],{"className":23442},[82],[84,23444,23445],{"xmlns":86},[88,23446,23447,23507],{},[91,23448,23449,23455,23457],{},[94,23450,23451,23453],{},[97,23452,119],{},[97,23454,22688],{},[106,23456,22691],{},[4392,23458,23459,23475],{},[91,23460,23461,23467,23469],{},[94,23462,23463,23465],{},[97,23464,119],{},[97,23466,22688],{},[106,23468,4410],{},[94,23470,23471,23473],{},[97,23472,21951],{},[97,23474,22688],{},[91,23476,23477,23479,23481,23483,23489,23491,23493,23495,23497,23499,23505],{},[97,23478,20779],{},[106,23480,20782],{},[106,23482,116],{"stretchy":115},[94,23484,23485,23487],{},[97,23486,119],{},[97,23488,22688],{},[106,23490,122],{"stretchy":115},[106,23492,4410],{},[97,23494,22975],{},[106,23496,20782],{},[106,23498,116],{"stretchy":115},[94,23500,23501,23503],{},[97,23502,119],{},[97,23504,22688],{},[106,23506,122],{"stretchy":115},[140,23508,23509],{"encoding":142},"x_j \\leftarrow \\frac{x_j - \\mu_j}{\\max(x_j) - \\min(x_j)}",[75,23511,23513,23568],{"className":23512,"ariaHidden":108},[147],[75,23514,23516,23519,23559,23562,23565],{"className":23515},[151],[75,23517],{"className":23518,"style":22726},[155],[75,23520,23522,23525],{"className":23521},[160],[75,23523,119],{"className":23524},[160,164],[75,23526,23528],{"className":23527},[169],[75,23529,23531,23551],{"className":23530},[173,174],[75,23532,23534,23548],{"className":23533},[178],[75,23535,23537],{"className":23536,"style":15092},[182],[75,23538,23539,23542],{"style":15095},[75,23540],{"className":23541,"style":191},[190],[75,23543,23545],{"className":23544},[195,196,197,198],[75,23546,22688],{"className":23547,"style":22756},[160,164,198],[75,23549,217],{"className":23550},[216],[75,23552,23554],{"className":23553},[178],[75,23555,23557],{"className":23556,"style":224},[182],[75,23558],{},[75,23560],{"className":23561,"style":242},[241],[75,23563,22691],{"className":23564},[246],[75,23566],{"className":23567,"style":242},[241],[75,23569,23571,23575],{"className":23570},[151],[75,23572],{"className":23573,"style":23574},[155],"height:1.458em;vertical-align:-0.5423em;",[75,23576,23578,23581,23837],{"className":23577},[160],[75,23579],{"className":23580},[230,4513],[75,23582,23584],{"className":23583},[4392],[75,23585,23587,23829],{"className":23586},[173,174],[75,23588,23590,23826],{"className":23589},[178],[75,23591,23594,23724,23732],{"className":23592,"style":23593},[182],"height:0.9157em;",[75,23595,23596,23599],{"style":4780},[75,23597],{"className":23598,"style":4533},[190],[75,23600,23602],{"className":23601},[195,196,197,198],[75,23603,23605,23617,23620,23660,23663,23666,23678,23681,23721],{"className":23604},[160,198],[75,23606,23608,23611,23614],{"className":23607},[7166,198],[75,23609,317],{"className":23610},[198],[75,23612,557],{"className":23613},[198],[75,23615,119],{"className":23616},[198],[75,23618,116],{"className":23619},[230,198],[75,23621,23623,23626],{"className":23622},[160,198],[75,23624,119],{"className":23625},[160,164,198],[75,23627,23629],{"className":23628},[169],[75,23630,23632,23652],{"className":23631},[173,174],[75,23633,23635,23649],{"className":23634},[178],[75,23636,23638],{"className":23637,"style":23151},[182],[75,23639,23640,23643],{"style":23154},[75,23641],{"className":23642,"style":23158},[190],[75,23644,23646],{"className":23645},[195,4569,4570,198],[75,23647,22688],{"className":23648,"style":22756},[160,164,198],[75,23650,217],{"className":23651},[216],[75,23653,23655],{"className":23654},[178],[75,23656,23658],{"className":23657,"style":23174},[182],[75,23659],{},[75,23661,122],{"className":23662},[237,198],[75,23664,4410],{"className":23665},[274,198],[75,23667,23669,23672,23675],{"className":23668},[7166,198],[75,23670,317],{"className":23671},[198],[75,23673,731],{"className":23674},[198],[75,23676,1482],{"className":23677},[198],[75,23679,116],{"className":23680},[230,198],[75,23682,23684,23687],{"className":23683},[160,198],[75,23685,119],{"className":23686},[160,164,198],[75,23688,23690],{"className":23689},[169],[75,23691,23693,23713],{"className":23692},[173,174],[75,23694,23696,23710],{"className":23695},[178],[75,23697,23699],{"className":23698,"style":23151},[182],[75,23700,23701,23704],{"style":23154},[75,23702],{"className":23703,"style":23158},[190],[75,23705,23707],{"className":23706},[195,4569,4570,198],[75,23708,22688],{"className":23709,"style":22756},[160,164,198],[75,23711,217],{"className":23712},[216],[75,23714,23716],{"className":23715},[178],[75,23717,23719],{"className":23718,"style":23174},[182],[75,23720],{},[75,23722,122],{"className":23723},[237,198],[75,23725,23726,23729],{"style":4626},[75,23727],{"className":23728,"style":4533},[190],[75,23730],{"className":23731,"style":4634},[4633],[75,23733,23734,23737],{"style":23251},[75,23735],{"className":23736,"style":4533},[190],[75,23738,23740],{"className":23739},[195,196,197,198],[75,23741,23743,23783,23786],{"className":23742},[160,198],[75,23744,23746,23749],{"className":23745},[160,198],[75,23747,119],{"className":23748},[160,164,198],[75,23750,23752],{"className":23751},[169],[75,23753,23755,23775],{"className":23754},[173,174],[75,23756,23758,23772],{"className":23757},[178],[75,23759,23761],{"className":23760,"style":23151},[182],[75,23762,23763,23766],{"style":23154},[75,23764],{"className":23765,"style":23158},[190],[75,23767,23769],{"className":23768},[195,4569,4570,198],[75,23770,22688],{"className":23771,"style":22756},[160,164,198],[75,23773,217],{"className":23774},[216],[75,23776,23778],{"className":23777},[178],[75,23779,23781],{"className":23780,"style":23174},[182],[75,23782],{},[75,23784,4410],{"className":23785},[274,198],[75,23787,23789,23792],{"className":23788},[160,198],[75,23790,21951],{"className":23791},[160,164,198],[75,23793,23795],{"className":23794},[169],[75,23796,23798,23818],{"className":23797},[173,174],[75,23799,23801,23815],{"className":23800},[178],[75,23802,23804],{"className":23803,"style":23151},[182],[75,23805,23806,23809],{"style":23154},[75,23807],{"className":23808,"style":23158},[190],[75,23810,23812],{"className":23811},[195,4569,4570,198],[75,23813,22688],{"className":23814,"style":22756},[160,164,198],[75,23816,217],{"className":23817},[216],[75,23819,23821],{"className":23820},[178],[75,23822,23824],{"className":23823,"style":23174},[182],[75,23825],{},[75,23827,217],{"className":23828},[216],[75,23830,23832],{"className":23831},[178],[75,23833,23835],{"className":23834,"style":23371},[182],[75,23836],{},[75,23838],{"className":23839},[237,4513],[541,23841,23842,23899],{"align":527},[75,23843,23845,23869],{"className":23844},[78],[75,23846,23848],{"className":23847},[82],[84,23849,23850],{"xmlns":86},[88,23851,23852,23866],{},[91,23853,23854,23856,23858,23860,23862,23864],{},[106,23855,22894],{"stretchy":115},[106,23857,4410],{},[1316,23859,1578],{},[106,23861,109],{"separator":108},[1316,23863,1578],{},[106,23865,22903],{"stretchy":115},[140,23867,23868],{"encoding":142},"[-1, 1]",[75,23870,23872],{"className":23871,"ariaHidden":108},[147],[75,23873,23875,23878,23881,23884,23887,23890,23893,23896],{"className":23874},[151],[75,23876],{"className":23877,"style":2081},[155],[75,23879,22894],{"className":23880},[230],[75,23882,4410],{"className":23883},[160],[75,23885,1578],{"className":23886},[160],[75,23888,109],{"className":23889},[209],[75,23891],{"className":23892,"style":263},[241],[75,23894,1578],{"className":23895},[160],[75,23897,22903],{"className":23898},[237],", média 0",[522,23901,23902,23905,24205],{},[541,23903,23904],{"align":527},"Z-score",[541,23906,23907],{"align":527},[75,23908,23910,23955],{"className":23909},[78],[75,23911,23913],{"className":23912},[82],[84,23914,23915],{"xmlns":86},[88,23916,23917,23952],{},[91,23918,23919,23925,23927],{},[94,23920,23921,23923],{},[97,23922,119],{},[97,23924,22688],{},[106,23926,22691],{},[4392,23928,23929,23945],{},[91,23930,23931,23937,23939],{},[94,23932,23933,23935],{},[97,23934,119],{},[97,23936,22688],{},[106,23938,4410],{},[94,23940,23941,23943],{},[97,23942,21951],{},[97,23944,22688],{},[94,23946,23947,23950],{},[97,23948,23949],{},"σ",[97,23951,22688],{},[140,23953,23954],{"encoding":142},"x_j \\leftarrow \\frac{x_j - \\mu_j}{\\sigma_j}",[75,23956,23958,24013],{"className":23957,"ariaHidden":108},[147],[75,23959,23961,23964,24004,24007,24010],{"className":23960},[151],[75,23962],{"className":23963,"style":22726},[155],[75,23965,23967,23970],{"className":23966},[160],[75,23968,119],{"className":23969},[160,164],[75,23971,23973],{"className":23972},[169],[75,23974,23976,23996],{"className":23975},[173,174],[75,23977,23979,23993],{"className":23978},[178],[75,23980,23982],{"className":23981,"style":15092},[182],[75,23983,23984,23987],{"style":15095},[75,23985],{"className":23986,"style":191},[190],[75,23988,23990],{"className":23989},[195,196,197,198],[75,23991,22688],{"className":23992,"style":22756},[160,164,198],[75,23994,217],{"className":23995},[216],[75,23997,23999],{"className":23998},[178],[75,24000,24002],{"className":24001,"style":224},[182],[75,24003],{},[75,24005],{"className":24006,"style":242},[241],[75,24008,22691],{"className":24009},[246],[75,24011],{"className":24012,"style":242},[241],[75,24014,24016,24019],{"className":24015},[151],[75,24017],{"className":24018,"style":23574},[155],[75,24020,24022,24025,24202],{"className":24021},[160],[75,24023],{"className":24024},[230,4513],[75,24026,24028],{"className":24027},[4392],[75,24029,24031,24194],{"className":24030},[173,174],[75,24032,24034,24191],{"className":24033},[178],[75,24035,24037,24089,24097],{"className":24036,"style":23593},[182],[75,24038,24039,24042],{"style":4780},[75,24040],{"className":24041,"style":4533},[190],[75,24043,24045],{"className":24044},[195,196,197,198],[75,24046,24048],{"className":24047},[160,198],[75,24049,24051,24054],{"className":24050},[160,198],[75,24052,23949],{"className":24053,"style":829},[160,164,198],[75,24055,24057],{"className":24056},[169],[75,24058,24060,24081],{"className":24059},[173,174],[75,24061,24063,24078],{"className":24062},[178],[75,24064,24066],{"className":24065,"style":23151},[182],[75,24067,24069,24072],{"style":24068},"top:-2.357em;margin-left:-0.0359em;margin-right:0.0714em;",[75,24070],{"className":24071,"style":23158},[190],[75,24073,24075],{"className":24074},[195,4569,4570,198],[75,24076,22688],{"className":24077,"style":22756},[160,164,198],[75,24079,217],{"className":24080},[216],[75,24082,24084],{"className":24083},[178],[75,24085,24087],{"className":24086,"style":23174},[182],[75,24088],{},[75,24090,24091,24094],{"style":4626},[75,24092],{"className":24093,"style":4533},[190],[75,24095],{"className":24096,"style":4634},[4633],[75,24098,24099,24102],{"style":23251},[75,24100],{"className":24101,"style":4533},[190],[75,24103,24105],{"className":24104},[195,196,197,198],[75,24106,24108,24148,24151],{"className":24107},[160,198],[75,24109,24111,24114],{"className":24110},[160,198],[75,24112,119],{"className":24113},[160,164,198],[75,24115,24117],{"className":24116},[169],[75,24118,24120,24140],{"className":24119},[173,174],[75,24121,24123,24137],{"className":24122},[178],[75,24124,24126],{"className":24125,"style":23151},[182],[75,24127,24128,24131],{"style":23154},[75,24129],{"className":24130,"style":23158},[190],[75,24132,24134],{"className":24133},[195,4569,4570,198],[75,24135,22688],{"className":24136,"style":22756},[160,164,198],[75,24138,217],{"className":24139},[216],[75,24141,24143],{"className":24142},[178],[75,24144,24146],{"className":24145,"style":23174},[182],[75,24147],{},[75,24149,4410],{"className":24150},[274,198],[75,24152,24154,24157],{"className":24153},[160,198],[75,24155,21951],{"className":24156},[160,164,198],[75,24158,24160],{"className":24159},[169],[75,24161,24163,24183],{"className":24162},[173,174],[75,24164,24166,24180],{"className":24165},[178],[75,24167,24169],{"className":24168,"style":23151},[182],[75,24170,24171,24174],{"style":23154},[75,24172],{"className":24173,"style":23158},[190],[75,24175,24177],{"className":24176},[195,4569,4570,198],[75,24178,22688],{"className":24179,"style":22756},[160,164,198],[75,24181,217],{"className":24182},[216],[75,24184,24186],{"className":24185},[178],[75,24187,24189],{"className":24188,"style":23174},[182],[75,24190],{},[75,24192,217],{"className":24193},[216],[75,24195,24197],{"className":24196},[178],[75,24198,24200],{"className":24199,"style":23371},[182],[75,24201],{},[75,24203],{"className":24204},[237,4513],[541,24206,24207],{"align":527},"média 0, desvio-padrão 1",[11,24209,24210,24211,503,24281,24352,24353,24382,24383,24386],{},"Usei z-score daqui pra frente, é a opção mais robusta (não depende só de dois pontos extremos do dataset, como o min-max depende). ",[75,24212,24214,24232],{"className":24213},[78],[75,24215,24217],{"className":24216},[82],[84,24218,24219],{"xmlns":86},[88,24220,24221,24229],{},[91,24222,24223],{},[94,24224,24225,24227],{},[97,24226,21951],{},[97,24228,22688],{},[140,24230,24231],{"encoding":142},"\\mu_j",[75,24233,24235],{"className":24234,"ariaHidden":108},[147],[75,24236,24238,24241],{"className":24237},[151],[75,24239],{"className":24240,"style":22726},[155],[75,24242,24244,24247],{"className":24243},[160],[75,24245,21951],{"className":24246},[160,164],[75,24248,24250],{"className":24249},[169],[75,24251,24253,24273],{"className":24252},[173,174],[75,24254,24256,24270],{"className":24255},[178],[75,24257,24259],{"className":24258,"style":15092},[182],[75,24260,24261,24264],{"style":15095},[75,24262],{"className":24263,"style":191},[190],[75,24265,24267],{"className":24266},[195,196,197,198],[75,24268,22688],{"className":24269,"style":22756},[160,164,198],[75,24271,217],{"className":24272},[216],[75,24274,24276],{"className":24275},[178],[75,24277,24279],{"className":24278,"style":224},[182],[75,24280],{},[75,24282,24284,24302],{"className":24283},[78],[75,24285,24287],{"className":24286},[82],[84,24288,24289],{"xmlns":86},[88,24290,24291,24299],{},[91,24292,24293],{},[94,24294,24295,24297],{},[97,24296,23949],{},[97,24298,22688],{},[140,24300,24301],{"encoding":142},"\\sigma_j",[75,24303,24305],{"className":24304,"ariaHidden":108},[147],[75,24306,24308,24311],{"className":24307},[151],[75,24309],{"className":24310,"style":22726},[155],[75,24312,24314,24317],{"className":24313},[160],[75,24315,23949],{"className":24316,"style":829},[160,164],[75,24318,24320],{"className":24319},[169],[75,24321,24323,24344],{"className":24322},[173,174],[75,24324,24326,24341],{"className":24325},[178],[75,24327,24329],{"className":24328,"style":15092},[182],[75,24330,24332,24335],{"style":24331},"top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;",[75,24333],{"className":24334,"style":191},[190],[75,24336,24338],{"className":24337},[195,196,197,198],[75,24339,22688],{"className":24340,"style":22756},[160,164,198],[75,24342,217],{"className":24343},[216],[75,24345,24347],{"className":24346},[178],[75,24348,24350],{"className":24349,"style":224},[182],[75,24351],{}," são a média e o desvio-padrão da feature ",[75,24354,24356,24369],{"className":24355},[78],[75,24357,24359],{"className":24358},[82],[84,24360,24361],{"xmlns":86},[88,24362,24363,24367],{},[91,24364,24365],{},[97,24366,22688],{},[140,24368,22688],{"encoding":142},[75,24370,24372],{"className":24371,"ariaHidden":108},[147],[75,24373,24375,24379],{"className":24374},[151],[75,24376],{"className":24377,"style":24378},[155],"height:0.854em;vertical-align:-0.1944em;",[75,24380,22688],{"className":24381,"style":22756},[160,164],", calculados ",[15,24384,24385],{},"só com os dados de treino",". Isso importa: eu guardo esses dois números e reuso pra qualquer dado novo que aparecer depois, nunca recalculo.",[2376,24388,24390],{"className":2378,"code":24389,"language":2380,"meta":26,"style":26},"def zscore_normalize_features(X):\n    mu = X.mean(axis=0)      # média de cada coluna\n    sigma = X.std(axis=0)    # desvio-padrao de cada coluna\n    X_norm = (X - mu) \u002F sigma\n    return X_norm, mu, sigma\n",[65,24391,24392,24397,24402,24407,24412],{"__ignoreMap":26},[75,24393,24394],{"class":2385,"line":33},[75,24395,24396],{},"def zscore_normalize_features(X):\n",[75,24398,24399],{"class":2385,"line":27},[75,24400,24401],{},"    mu = X.mean(axis=0)      # média de cada coluna\n",[75,24403,24404],{"class":2385,"line":2396},[75,24405,24406],{},"    sigma = X.std(axis=0)    # desvio-padrao de cada coluna\n",[75,24408,24409],{"class":2385,"line":2401},[75,24410,24411],{},"    X_norm = (X - mu) \u002F sigma\n",[75,24413,24414],{"class":2385,"line":2407},[75,24415,24416],{},"    return X_norm, mu, sigma\n",[11,24418,24419],{},"Pro nosso exemplo de 8 casas, a média do tamanho é 1480.1 pés² e o desvio-padrão é 414.7. Normalizei e a amplitude, que antes ia de centenas a milhares, virou algo entre -1 e 2, mais ou menos.",[11,24421,24422,24423,24425],{},"Um detalhe que eu quase escorreguei: z-score ",[15,24424,5955],{}," deixa o dado com distribuição normal, só reescala. A forma da distribuição continua a mesma, só o centro e a escala mudam.",[289,24427,24429],{"id":24428},"gradiente-descendente-com-features-normalizadas","Gradiente descendente com features normalizadas",[11,24431,24432,24433,24484,24485,24557],{},"Rodei o mesmo algoritmo, no mesmo dataset de 8 casas, só que agora com o tamanho normalizado por z-score, e usei ",[75,24434,24436,24454],{"className":24435},[78],[75,24437,24439],{"className":24438},[82],[84,24440,24441],{"xmlns":86},[88,24442,24443,24451],{},[91,24444,24445,24447,24449],{},[97,24446,10317],{},[106,24448,125],{},[1316,24450,13299],{},[140,24452,24453],{"encoding":142},"\\alpha = 0.1",[75,24455,24457,24475],{"className":24456,"ariaHidden":108},[147],[75,24458,24460,24463,24466,24469,24472],{"className":24459},[151],[75,24461],{"className":24462,"style":329},[155],[75,24464,10317],{"className":24465,"style":10433},[160,164],[75,24467],{"className":24468,"style":242},[241],[75,24470,125],{"className":24471},[246],[75,24473],{"className":24474,"style":242},[241],[75,24476,24478,24481],{"className":24477},[151],[75,24479],{"className":24480,"style":1609},[155],[75,24482,13299],{"className":24483},[160],", seis ordens de grandeza maior que os ",[75,24486,24488,24510],{"className":24487},[78],[75,24489,24491],{"className":24490},[82],[84,24492,24493],{"xmlns":86},[88,24494,24495,24507],{},[91,24496,24497],{},[721,24498,24499,24501],{},[1316,24500,17222],{},[91,24502,24503,24505],{},[106,24504,4410],{},[1316,24506,19637],{},[140,24508,24509],{"encoding":142},"10^{-7}",[75,24511,24513],{"className":24512,"ariaHidden":108},[147],[75,24514,24516,24519,24522],{"className":24515},[151],[75,24517],{"className":24518,"style":1402},[155],[75,24520,1578],{"className":24521},[160],[75,24523,24525,24528],{"className":24524},[160],[75,24526,1835],{"className":24527},[160],[75,24529,24531],{"className":24530},[169],[75,24532,24534],{"className":24533},[173],[75,24535,24537],{"className":24536},[178],[75,24538,24540],{"className":24539,"style":1402},[182],[75,24541,24542,24545],{"style":767},[75,24543],{"className":24544,"style":191},[190],[75,24546,24548],{"className":24547},[195,196,197,198],[75,24549,24551,24554],{"className":24550},[160,198],[75,24552,4410],{"className":24553},[160,198],[75,24555,19637],{"className":24556},[160,198]," de antes:",[13120,24559],{":b-range":3115,":initial-b":1835,":initial-w":1835,":w-range":24560,":x-train":24561,":y-train":20492,"b-label":112,"w-label":24562,":initial-alpha":13299},"[-50, 200]","[-1.273, -0.569, 1.125, 0.591, 1.155, -0.400, -1.486, 0.858]","w (normalizado)",[11,24564,24565,24566,24618,24619,24648,24649,24743,24744,24827],{},"Depois de umas 50 iterações o custo já achatou perto do mínimo (achei ",[75,24567,24569,24588],{"className":24568},[78],[75,24570,24572],{"className":24571},[82],[84,24573,24574],{"xmlns":86},[88,24575,24576,24585],{},[91,24577,24578,24580,24582],{},[97,24579,5374],{},[106,24581,9291],{},[1316,24583,24584],{},"919",[140,24586,24587],{"encoding":142},"J \\approx 919",[75,24589,24591,24609],{"className":24590,"ariaHidden":108},[147],[75,24592,24594,24597,24600,24603,24606],{"className":24593},[151],[75,24595],{"className":24596,"style":8437},[155],[75,24598,5374],{"className":24599,"style":5400},[160,164],[75,24601],{"className":24602,"style":242},[241],[75,24604,9291],{"className":24605},[246],[75,24607],{"className":24608,"style":242},[241],[75,24610,24612,24615],{"className":24611},[151],[75,24613],{"className":24614,"style":1609},[155],[75,24616,24584],{"className":24617},[160],", quase idêntico ao mínimo real de ",[75,24620,24622,24636],{"className":24621},[78],[75,24623,24625],{"className":24624},[82],[84,24626,24627],{"xmlns":86},[88,24628,24629,24634],{},[91,24630,24631],{},[1316,24632,24633],{},"919.37",[140,24635,24633],{"encoding":142},[75,24637,24639],{"className":24638,"ariaHidden":108},[147],[75,24640,24642,24645],{"className":24641},[151],[75,24643],{"className":24644,"style":1609},[155],[75,24646,24633],{"className":24647},[160]," que eu calculei direto por fórmula fechada). No exemplo cru, com ",[75,24650,24652,24678],{"className":24651},[78],[75,24653,24655],{"className":24654},[82],[84,24656,24657],{"xmlns":86},[88,24658,24659,24675],{},[91,24660,24661,24663,24665],{},[97,24662,10317],{},[106,24664,125],{},[721,24666,24667,24669],{},[1316,24668,17222],{},[91,24670,24671,24673],{},[106,24672,4410],{},[1316,24674,19637],{},[140,24676,24677],{"encoding":142},"\\alpha = 10^{-7}",[75,24679,24681,24699],{"className":24680,"ariaHidden":108},[147],[75,24682,24684,24687,24690,24693,24696],{"className":24683},[151],[75,24685],{"className":24686,"style":329},[155],[75,24688,10317],{"className":24689,"style":10433},[160,164],[75,24691],{"className":24692,"style":242},[241],[75,24694,125],{"className":24695},[246],[75,24697],{"className":24698,"style":242},[241],[75,24700,24702,24705,24708],{"className":24701},[151],[75,24703],{"className":24704,"style":1402},[155],[75,24706,1578],{"className":24707},[160],[75,24709,24711,24714],{"className":24710},[160],[75,24712,1835],{"className":24713},[160],[75,24715,24717],{"className":24716},[169],[75,24718,24720],{"className":24719},[173],[75,24721,24723],{"className":24722},[178],[75,24724,24726],{"className":24725,"style":1402},[182],[75,24727,24728,24731],{"style":767},[75,24729],{"className":24730,"style":191},[190],[75,24732,24734],{"className":24733},[195,196,197,198],[75,24735,24737,24740],{"className":24736},[160,198],[75,24738,4410],{"className":24739},[160,198],[75,24741,19637],{"className":24742},[160,198],", o custo mal tinha saído de ",[75,24745,24747,24768],{"className":24746},[78],[75,24748,24750],{"className":24749},[82],[84,24751,24752],{"xmlns":86},[88,24753,24754,24766],{},[91,24755,24756,24758,24760],{},[1316,24757,20410],{},[106,24759,2599],{},[721,24761,24762,24764],{},[1316,24763,17222],{},[1316,24765,13659],{},[140,24767,20421],{"encoding":142},[75,24769,24771,24789],{"className":24770,"ariaHidden":108},[147],[75,24772,24774,24777,24780,24783,24786],{"className":24773},[151],[75,24775],{"className":24776,"style":5070},[155],[75,24778,20410],{"className":24779},[160],[75,24781],{"className":24782,"style":270},[241],[75,24784,2599],{"className":24785},[274],[75,24787],{"className":24788,"style":270},[241],[75,24790,24792,24795,24798],{"className":24791},[151],[75,24793],{"className":24794,"style":1402},[155],[75,24796,1578],{"className":24797},[160],[75,24799,24801,24804],{"className":24800},[160],[75,24802,1835],{"className":24803},[160],[75,24805,24807],{"className":24806},[169],[75,24808,24810],{"className":24809},[173],[75,24811,24813],{"className":24812},[178],[75,24814,24816],{"className":24815,"style":1402},[182],[75,24817,24818,24821],{"style":767},[75,24819],{"className":24820,"style":191},[190],[75,24822,24824],{"className":24823},[195,196,197,198],[75,24825,13659],{"className":24826},[160,198]," depois de 10 iterações inteiras. Normalizar não mudou onde fica o mínimo, mudou completamente a velocidade de chegar lá.",[11,24829,24830,24831,24859,24860,24888,24889,24891,24892,24894],{},"Reparei também numa coisa boba mas satisfeita de entender: quando ",[75,24832,24834,24847],{"className":24833},[78],[75,24835,24837],{"className":24836},[82],[84,24838,24839],{"xmlns":86},[88,24840,24841,24845],{},[91,24842,24843],{},[97,24844,119],{},[140,24846,119],{"encoding":142},[75,24848,24850],{"className":24849,"ariaHidden":108},[147],[75,24851,24853,24856],{"className":24852},[151],[75,24854],{"className":24855,"style":329},[155],[75,24857,119],{"className":24858},[160,164]," está centrado em zero (média zero, por causa do z-score), o ",[75,24861,24863,24876],{"className":24862},[78],[75,24864,24866],{"className":24865},[82],[84,24867,24868],{"xmlns":86},[88,24869,24870,24874],{},[91,24871,24872],{},[97,24873,112],{},[140,24875,112],{"encoding":142},[75,24877,24879],{"className":24878,"ariaHidden":108},[147],[75,24880,24882,24885],{"className":24881},[151],[75,24883],{"className":24884,"style":284},[155],[75,24886,112],{"className":24887},[160,164]," ótimo vira exatamente a média dos preços de treino. Faz sentido geometricamente: se todo ",[65,24890,119],{}," é zero na média, a melhor reta passa pela média dos ",[65,24893,678],{}," nesse ponto.",[289,24896,24898],{"id":24897},"prevendo-uma-casa-nova-e-desnormalizando","Prevendo uma casa nova e desnormalizando",[11,24900,24901],{},"Ajustei o modelo com as 4 features de verdade (não só tamanho) no dataset completo de 100 casas, por equação normal (a solução exata, sem gradiente descendente):",[2376,24903,24905],{"className":2378,"code":24904,"language":2380,"meta":26,"style":26},"w = [0.268, -32.90, -67.29, -1.465]   # tamanho, quartos, andares, idade\nb = 221.50\n",[65,24906,24907,24912],{"__ignoreMap":26},[75,24908,24909],{"class":2385,"line":33},[75,24910,24911],{},"w = [0.268, -32.90, -67.29, -1.465]   # tamanho, quartos, andares, idade\n",[75,24913,24914],{"class":2385,"line":27},[75,24915,24916],{},"b = 221.50\n",[11,24918,24919,24920,1613],{},"Previ o preço da casa-alvo (1200 pés², 3 quartos, 1 andar, 40 anos) e cheguei em ",[15,24921,24922],{},"318.9 mil dólares",[11,24924,24925,24926,24928],{},"O que mais me chamou atenção foi o coeficiente de quartos: ",[15,24927,11095],{},". Isolado, ter mais quartos parece só coisa boa, mas controlando pelo tamanho da casa (que já está no modelo), mais quartos numa casa do mesmo tamanho normalmente significa quartos menores, o que puxa o preço um pouco pra baixo. É exatamente o tipo de coisa que só aparece quando você olha os coeficientes de um modelo com várias features ao mesmo tempo, não dá pra ver isso num gráfico de quartos-vs-preço sozinho.",[11,24930,24931,24932,25003],{},"Se eu tivesse ajustado com as features normalizadas, os pesos viriam numa escala diferente (cada ",[75,24933,24935,24953],{"className":24934},[78],[75,24936,24938],{"className":24937},[82],[84,24939,24940],{"xmlns":86},[88,24941,24942,24950],{},[91,24943,24944],{},[94,24945,24946,24948],{},[97,24947,104],{},[97,24949,22688],{},[140,24951,24952],{"encoding":142},"w_j",[75,24954,24956],{"className":24955,"ariaHidden":108},[147],[75,24957,24959,24962],{"className":24958},[151],[75,24960],{"className":24961,"style":22726},[155],[75,24963,24965,24968],{"className":24964},[160],[75,24966,104],{"className":24967,"style":205},[160,164],[75,24969,24971],{"className":24970},[169],[75,24972,24974,24995],{"className":24973},[173,174],[75,24975,24977,24992],{"className":24976},[178],[75,24978,24980],{"className":24979,"style":15092},[182],[75,24981,24983,24986],{"style":24982},"top:-2.55em;margin-left:-0.0269em;margin-right:0.05em;",[75,24984],{"className":24985,"style":191},[190],[75,24987,24989],{"className":24988},[195,196,197,198],[75,24990,22688],{"className":24991,"style":22756},[160,164,198],[75,24993,217],{"className":24994},[216],[75,24996,24998],{"className":24997},[178],[75,24999,25001],{"className":25000,"style":224},[182],[75,25002],{}," representaria \"quanto o preço muda por 1 desvio-padrão daquela feature\", não por 1 unidade real). Pra voltar aos coeficientes em unidade real, a fórmula de desnormalização é:",[11,25005,25006],{},[75,25007,25009,25197],{"className":25008},[78],[75,25010,25012],{"className":25011},[82],[84,25013,25014],{"xmlns":86},[88,25015,25016,25194],{},[91,25017,25018,25044,25046,25084,25086,25108,25110,25138,25140,25146],{},[6966,25019,25020,25022,25024],{},[97,25021,104],{},[97,25023,22688],{},[91,25025,25026,25028,25031,25033,25036,25038,25040,25042],{},[97,25027,18158],{},[97,25029,25030],{},"r",[97,25032,731],{},[97,25034,25035],{},"g",[97,25037,731],{},[97,25039,1482],{},[97,25041,557],{},[97,25043,18138],{},[106,25045,125],{},[4392,25047,25048,25078],{},[6966,25049,25050,25052,25054],{},[97,25051,104],{},[97,25053,22688],{},[91,25055,25056,25058,25060,25062,25064,25066,25068,25070,25072,25074,25076],{},[97,25057,1482],{},[97,25059,18158],{},[97,25061,25030],{},[97,25063,317],{},[97,25065,557],{},[97,25067,18138],{},[97,25069,731],{},[97,25071,16148],{},[97,25073,557],{},[97,25075,18161],{},[97,25077,18158],{},[94,25079,25080,25082],{},[97,25081,23949],{},[97,25083,22688],{},[241,25085],{"width":10346},[721,25087,25088,25090],{},[97,25089,112],{},[91,25091,25092,25094,25096,25098,25100,25102,25104,25106],{},[97,25093,18158],{},[97,25095,25030],{},[97,25097,731],{},[97,25099,25035],{},[97,25101,731],{},[97,25103,1482],{},[97,25105,557],{},[97,25107,18138],{},[106,25109,125],{},[721,25111,25112,25114],{},[97,25113,112],{},[91,25115,25116,25118,25120,25122,25124,25126,25128,25130,25132,25134,25136],{},[97,25117,1482],{},[97,25119,18158],{},[97,25121,25030],{},[97,25123,317],{},[97,25125,557],{},[97,25127,18138],{},[97,25129,731],{},[97,25131,16148],{},[97,25133,557],{},[97,25135,18161],{},[97,25137,18158],{},[106,25139,4410],{},[94,25141,25142,25144],{},[106,25143,6970],{},[97,25145,22688],{},[4392,25147,25148,25188],{},[91,25149,25150,25180,25182],{},[6966,25151,25152,25154,25156],{},[97,25153,104],{},[97,25155,22688],{},[91,25157,25158,25160,25162,25164,25166,25168,25170,25172,25174,25176,25178],{},[97,25159,1482],{},[97,25161,18158],{},[97,25163,25030],{},[97,25165,317],{},[97,25167,557],{},[97,25169,18138],{},[97,25171,731],{},[97,25173,16148],{},[97,25175,557],{},[97,25177,18161],{},[97,25179,18158],{},[106,25181,14916],{},[94,25183,25184,25186],{},[97,25185,21951],{},[97,25187,22688],{},[94,25189,25190,25192],{},[97,25191,23949],{},[97,25193,22688],{},[140,25195,25196],{"encoding":142},"w_j^{original} = \\frac{w_j^{normalizado}}{\\sigma_j} \\qquad b^{original} = b^{normalizado} - \\sum_j \\frac{w_j^{normalizado} \\cdot \\mu_j}{\\sigma_j}",[75,25198,25200,25289,25540,25612],{"className":25199,"ariaHidden":108},[147],[75,25201,25203,25207,25280,25283,25286],{"className":25202},[151],[75,25204],{"className":25205,"style":25206},[155],"height:1.38em;vertical-align:-0.413em;",[75,25208,25210,25213],{"className":25209},[160],[75,25211,104],{"className":25212,"style":205},[160,164],[75,25214,25216],{"className":25215},[169],[75,25217,25219,25271],{"className":25218},[173,174],[75,25220,25222,25268],{"className":25221},[178],[75,25223,25226,25238],{"className":25224,"style":25225},[182],"height:0.967em;",[75,25227,25229,25232],{"style":25228},"top:-2.4231em;margin-left:-0.0269em;margin-right:0.05em;",[75,25230],{"className":25231,"style":191},[190],[75,25233,25235],{"className":25234},[195,196,197,198],[75,25236,22688],{"className":25237,"style":22756},[160,164,198],[75,25239,25241,25244],{"style":25240},"top:-3.1809em;margin-right:0.05em;",[75,25242],{"className":25243,"style":191},[190],[75,25245,25247],{"className":25246},[195,196,197,198],[75,25248,25250,25255,25258,25261,25265],{"className":25249},[160,198],[75,25251,25254],{"className":25252,"style":25253},[160,164,198],"margin-right:0.0278em;","or",[75,25256,731],{"className":25257},[160,164,198],[75,25259,25035],{"className":25260,"style":829},[160,164,198],[75,25262,25264],{"className":25263},[160,164,198],"ina",[75,25266,18138],{"className":25267,"style":18198},[160,164,198],[75,25269,217],{"className":25270},[216],[75,25272,25274],{"className":25273},[178],[75,25275,25278],{"className":25276,"style":25277},[182],"height:0.413em;",[75,25279],{},[75,25281],{"className":25282,"style":242},[241],[75,25284,125],{"className":25285},[246],[75,25287],{"className":25288,"style":242},[241],[75,25290,25292,25296,25483,25486,25531,25534,25537],{"className":25291},[151],[75,25293],{"className":25294,"style":25295},[155],"height:1.7987em;vertical-align:-0.5423em;",[75,25297,25299,25302,25480],{"className":25298},[160],[75,25300],{"className":25301},[230,4513],[75,25303,25305],{"className":25304},[4392],[75,25306,25308,25472],{"className":25307},[173,174],[75,25309,25311,25469],{"className":25310},[178],[75,25312,25315,25366,25374],{"className":25313,"style":25314},[182],"height:1.2563em;",[75,25316,25317,25320],{"style":4780},[75,25318],{"className":25319,"style":4533},[190],[75,25321,25323],{"className":25322},[195,196,197,198],[75,25324,25326],{"className":25325},[160,198],[75,25327,25329,25332],{"className":25328},[160,198],[75,25330,23949],{"className":25331,"style":829},[160,164,198],[75,25333,25335],{"className":25334},[169],[75,25336,25338,25358],{"className":25337},[173,174],[75,25339,25341,25355],{"className":25340},[178],[75,25342,25344],{"className":25343,"style":23151},[182],[75,25345,25346,25349],{"style":24068},[75,25347],{"className":25348,"style":23158},[190],[75,25350,25352],{"className":25351},[195,4569,4570,198],[75,25353,22688],{"className":25354,"style":22756},[160,164,198],[75,25356,217],{"className":25357},[216],[75,25359,25361],{"className":25360},[178],[75,25362,25364],{"className":25363,"style":23174},[182],[75,25365],{},[75,25367,25368,25371],{"style":4626},[75,25369],{"className":25370,"style":4533},[190],[75,25372],{"className":25373,"style":4634},[4633],[75,25375,25377,25380],{"style":25376},"top:-3.6074em;",[75,25378],{"className":25379,"style":4533},[190],[75,25381,25383],{"className":25382},[195,196,197,198],[75,25384,25386],{"className":25385},[160,198],[75,25387,25389,25392],{"className":25388},[160,198],[75,25390,104],{"className":25391,"style":205},[160,164,198],[75,25393,25395],{"className":25394},[169],[75,25396,25398,25460],{"className":25397},[173,174],[75,25399,25401,25457],{"className":25400},[178],[75,25402,25405,25417],{"className":25403,"style":25404},[182],"height:0.927em;",[75,25406,25408,25411],{"style":25407},"top:-2.214em;margin-left:-0.0269em;margin-right:0.0714em;",[75,25409],{"className":25410,"style":23158},[190],[75,25412,25414],{"className":25413},[195,4569,4570,198],[75,25415,22688],{"className":25416,"style":22756},[160,164,198],[75,25418,25420,25423],{"style":25419},"top:-2.931em;margin-right:0.0714em;",[75,25421],{"className":25422,"style":23158},[190],[75,25424,25426],{"className":25425},[195,4569,4570,198],[75,25427,25429,25432,25435,25439,25442,25445,25448,25451,25454],{"className":25428},[160,198],[75,25430,1482],{"className":25431},[160,164,198],[75,25433,25254],{"className":25434,"style":25253},[160,164,198],[75,25436,25438],{"className":25437},[160,164,198],"ma",[75,25440,18138],{"className":25441,"style":18198},[160,164,198],[75,25443,731],{"className":25444},[160,164,198],[75,25446,16148],{"className":25447,"style":16163},[160,164,198],[75,25449,557],{"className":25450},[160,164,198],[75,25452,18161],{"className":25453},[160,164,198],[75,25455,18158],{"className":25456},[160,164,198],[75,25458,217],{"className":25459},[216],[75,25461,25463],{"className":25462},[178],[75,25464,25467],{"className":25465,"style":25466},[182],"height:0.4249em;",[75,25468],{},[75,25470,217],{"className":25471},[216],[75,25473,25475],{"className":25474},[178],[75,25476,25478],{"className":25477,"style":23371},[182],[75,25479],{},[75,25481],{"className":25482},[237,4513],[75,25484],{"className":25485,"style":10529},[241],[75,25487,25489,25492],{"className":25488},[160],[75,25490,112],{"className":25491},[160,164],[75,25493,25495],{"className":25494},[169],[75,25496,25498],{"className":25497},[173],[75,25499,25501],{"className":25500},[178],[75,25502,25505],{"className":25503,"style":25504},[182],"height:0.8491em;",[75,25506,25507,25510],{"style":767},[75,25508],{"className":25509,"style":191},[190],[75,25511,25513],{"className":25512},[195,196,197,198],[75,25514,25516,25519,25522,25525,25528],{"className":25515},[160,198],[75,25517,25254],{"className":25518,"style":25253},[160,164,198],[75,25520,731],{"className":25521},[160,164,198],[75,25523,25035],{"className":25524,"style":829},[160,164,198],[75,25526,25264],{"className":25527},[160,164,198],[75,25529,18138],{"className":25530,"style":18198},[160,164,198],[75,25532],{"className":25533,"style":242},[241],[75,25535,125],{"className":25536},[246],[75,25538],{"className":25539,"style":242},[241],[75,25541,25543,25547,25603,25606,25609],{"className":25542},[151],[75,25544],{"className":25545,"style":25546},[155],"height:0.9324em;vertical-align:-0.0833em;",[75,25548,25550,25553],{"className":25549},[160],[75,25551,112],{"className":25552},[160,164],[75,25554,25556],{"className":25555},[169],[75,25557,25559],{"className":25558},[173],[75,25560,25562],{"className":25561},[178],[75,25563,25565],{"className":25564,"style":25504},[182],[75,25566,25567,25570],{"style":767},[75,25568],{"className":25569,"style":191},[190],[75,25571,25573],{"className":25572},[195,196,197,198],[75,25574,25576,25579,25582,25585,25588,25591,25594,25597,25600],{"className":25575},[160,198],[75,25577,1482],{"className":25578},[160,164,198],[75,25580,25254],{"className":25581,"style":25253},[160,164,198],[75,25583,25438],{"className":25584},[160,164,198],[75,25586,18138],{"className":25587,"style":18198},[160,164,198],[75,25589,731],{"className":25590},[160,164,198],[75,25592,16148],{"className":25593,"style":16163},[160,164,198],[75,25595,557],{"className":25596},[160,164,198],[75,25598,18161],{"className":25599},[160,164,198],[75,25601,18158],{"className":25602},[160,164,198],[75,25604],{"className":25605,"style":270},[241],[75,25607,4410],{"className":25608},[274],[75,25610],{"className":25611,"style":270},[241],[75,25613,25615,25618,25660,25663],{"className":25614},[151],[75,25616],{"className":25617,"style":25295},[155],[75,25619,25621,25624],{"className":25620},[7166],[75,25622,6970],{"className":25623,"style":7172},[7166,7170,7171],[75,25625,25627],{"className":25626},[169],[75,25628,25630,25651],{"className":25629},[173,174],[75,25631,25633,25648],{"className":25632},[178],[75,25634,25637],{"className":25635,"style":25636},[182],"height:0.162em;",[75,25638,25639,25642],{"style":7188},[75,25640],{"className":25641,"style":191},[190],[75,25643,25645],{"className":25644},[195,196,197,198],[75,25646,22688],{"className":25647,"style":22756},[160,164,198],[75,25649,217],{"className":25650},[216],[75,25652,25654],{"className":25653},[178],[75,25655,25658],{"className":25656,"style":25657},[182],"height:0.4358em;",[75,25659],{},[75,25661],{"className":25662,"style":263},[241],[75,25664,25666,25669,25883],{"className":25665},[160],[75,25667],{"className":25668},[230,4513],[75,25670,25672],{"className":25671},[4392],[75,25673,25675,25875],{"className":25674},[173,174],[75,25676,25678,25872],{"className":25677},[178],[75,25679,25681,25732,25740],{"className":25680,"style":25314},[182],[75,25682,25683,25686],{"style":4780},[75,25684],{"className":25685,"style":4533},[190],[75,25687,25689],{"className":25688},[195,196,197,198],[75,25690,25692],{"className":25691},[160,198],[75,25693,25695,25698],{"className":25694},[160,198],[75,25696,23949],{"className":25697,"style":829},[160,164,198],[75,25699,25701],{"className":25700},[169],[75,25702,25704,25724],{"className":25703},[173,174],[75,25705,25707,25721],{"className":25706},[178],[75,25708,25710],{"className":25709,"style":23151},[182],[75,25711,25712,25715],{"style":24068},[75,25713],{"className":25714,"style":23158},[190],[75,25716,25718],{"className":25717},[195,4569,4570,198],[75,25719,22688],{"className":25720,"style":22756},[160,164,198],[75,25722,217],{"className":25723},[216],[75,25725,25727],{"className":25726},[178],[75,25728,25730],{"className":25729,"style":23174},[182],[75,25731],{},[75,25733,25734,25737],{"style":4626},[75,25735],{"className":25736,"style":4533},[190],[75,25738],{"className":25739,"style":4634},[4633],[75,25741,25742,25745],{"style":25376},[75,25743],{"className":25744,"style":4533},[190],[75,25746,25748],{"className":25747},[195,196,197,198],[75,25749,25751,25829,25832],{"className":25750},[160,198],[75,25752,25754,25757],{"className":25753},[160,198],[75,25755,104],{"className":25756,"style":205},[160,164,198],[75,25758,25760],{"className":25759},[169],[75,25761,25763,25821],{"className":25762},[173,174],[75,25764,25766,25818],{"className":25765},[178],[75,25767,25769,25780],{"className":25768,"style":25404},[182],[75,25770,25771,25774],{"style":25407},[75,25772],{"className":25773,"style":23158},[190],[75,25775,25777],{"className":25776},[195,4569,4570,198],[75,25778,22688],{"className":25779,"style":22756},[160,164,198],[75,25781,25782,25785],{"style":25419},[75,25783],{"className":25784,"style":23158},[190],[75,25786,25788],{"className":25787},[195,4569,4570,198],[75,25789,25791,25794,25797,25800,25803,25806,25809,25812,25815],{"className":25790},[160,198],[75,25792,1482],{"className":25793},[160,164,198],[75,25795,25254],{"className":25796,"style":25253},[160,164,198],[75,25798,25438],{"className":25799},[160,164,198],[75,25801,18138],{"className":25802,"style":18198},[160,164,198],[75,25804,731],{"className":25805},[160,164,198],[75,25807,16148],{"className":25808,"style":16163},[160,164,198],[75,25810,557],{"className":25811},[160,164,198],[75,25813,18161],{"className":25814},[160,164,198],[75,25816,18158],{"className":25817},[160,164,198],[75,25819,217],{"className":25820},[216],[75,25822,25824],{"className":25823},[178],[75,25825,25827],{"className":25826,"style":25466},[182],[75,25828],{},[75,25830,14916],{"className":25831},[274,198],[75,25833,25835,25838],{"className":25834},[160,198],[75,25836,21951],{"className":25837},[160,164,198],[75,25839,25841],{"className":25840},[169],[75,25842,25844,25864],{"className":25843},[173,174],[75,25845,25847,25861],{"className":25846},[178],[75,25848,25850],{"className":25849,"style":23151},[182],[75,25851,25852,25855],{"style":23154},[75,25853],{"className":25854,"style":23158},[190],[75,25856,25858],{"className":25857},[195,4569,4570,198],[75,25859,22688],{"className":25860,"style":22756},[160,164,198],[75,25862,217],{"className":25863},[216],[75,25865,25867],{"className":25866},[178],[75,25868,25870],{"className":25869,"style":23174},[182],[75,25871],{},[75,25873,217],{"className":25874},[216],[75,25876,25878],{"className":25877},[178],[75,25879,25881],{"className":25880,"style":23371},[182],[75,25882],{},[75,25884],{"className":25885},[237,4513],[11,25887,25888,25889,25917,25918,25946,25947,503,25999,26051],{},"Conferi isso no nosso exemplo de 1 feature: desnormalizando o ",[75,25890,25892,25905],{"className":25891},[78],[75,25893,25895],{"className":25894},[82],[84,25896,25897],{"xmlns":86},[88,25898,25899,25903],{},[91,25900,25901],{},[97,25902,104],{},[140,25904,104],{"encoding":142},[75,25906,25908],{"className":25907,"ariaHidden":108},[147],[75,25909,25911,25914],{"className":25910},[151],[75,25912],{"className":25913,"style":329},[155],[75,25915,104],{"className":25916,"style":205},[160,164]," e o ",[75,25919,25921,25934],{"className":25920},[78],[75,25922,25924],{"className":25923},[82],[84,25925,25926],{"xmlns":86},[88,25927,25928,25932],{},[91,25929,25930],{},[97,25931,112],{},[140,25933,112],{"encoding":142},[75,25935,25937],{"className":25936,"ariaHidden":108},[147],[75,25938,25940,25943],{"className":25939},[151],[75,25941],{"className":25942,"style":284},[155],[75,25944,112],{"className":25945},[160,164]," que o gradiente descendente achou em espaço normalizado, cheguei em ",[75,25948,25950,25969],{"className":25949},[78],[75,25951,25953],{"className":25952},[82],[84,25954,25955],{"xmlns":86},[88,25956,25957,25966],{},[91,25958,25959,25961,25963],{},[97,25960,104],{},[106,25962,125],{},[1316,25964,25965],{},"0.267",[140,25967,25968],{"encoding":142},"w = 0.267",[75,25970,25972,25990],{"className":25971,"ariaHidden":108},[147],[75,25973,25975,25978,25981,25984,25987],{"className":25974},[151],[75,25976],{"className":25977,"style":329},[155],[75,25979,104],{"className":25980,"style":205},[160,164],[75,25982],{"className":25983,"style":242},[241],[75,25985,125],{"className":25986},[246],[75,25988],{"className":25989,"style":242},[241],[75,25991,25993,25996],{"className":25992},[151],[75,25994],{"className":25995,"style":1609},[155],[75,25997,25965],{"className":25998},[160],[75,26000,26002,26021],{"className":26001},[78],[75,26003,26005],{"className":26004},[82],[84,26006,26007],{"xmlns":86},[88,26008,26009,26018],{},[91,26010,26011,26013,26015],{},[97,26012,112],{},[106,26014,125],{},[1316,26016,26017],{},"7.16",[140,26019,26020],{"encoding":142},"b = 7.16",[75,26022,26024,26042],{"className":26023,"ariaHidden":108},[147],[75,26025,26027,26030,26033,26036,26039],{"className":26026},[151],[75,26028],{"className":26029,"style":284},[155],[75,26031,112],{"className":26032},[160,164],[75,26034],{"className":26035,"style":242},[241],[75,26037,125],{"className":26038},[246],[75,26040],{"className":26041,"style":242},[241],[75,26043,26045,26048],{"className":26044},[151],[75,26046],{"className":26047,"style":1609},[155],[75,26049,26017],{"className":26050},[160],", exatamente os mesmos números que a fórmula fechada dá direto em espaço cru. Os dois caminhos levam ao mesmo lugar, só que um deles convergiu em 50 iterações e o outro precisaria de milhões.",[289,26053,26055],{"id":26054},"os-contornos-a-visão-geométrica","Os contornos: a visão geométrica",[11,26057,26058,26059,499,26062,499,26065,499,26068,26071],{},"Isso tudo que eu descrevi em número, dá pra ver de uma vez só numa imagem. A partir daqui troquei de dataset: uso o de 50 casas que já apareceu nos posts anteriores da playlist (",[65,26060,26061],{},"square_feet",[65,26063,26064],{},"num_bedrooms",[65,26066,26067],{},"nota de localização",[65,26069,26070],{},"distância do centro","), não mais o de 100 casas do notebook que usei lá em cima. É outro conjunto de casas, então os números de correlação daqui são diferentes dos que calculei na seção \"O problema\".",[11,26073,26074,26075,26077,26078,26081],{},"Antes de ir pro abstrato (o formato do ",[2366,26076,7442],{},"), vale ver o efeito bem mais direto e concreto: o formato dos próprios ",[2366,26079,26080],{},"pontos de dado",". Peguei tamanho e número de quartos dessas 50 casas e plotei um contra o outro, cru e depois normalizado:",[11,26083,26084],{},[15,26085,26086],{},"Pontos, sem normalizar:",[26088,26089],"housing-scaling-scatter",{"mode":26090},"raw",[11,26092,26093],{},[15,26094,26095],{},"Pontos, depois de normalizar (z-score):",[26088,26097],{"mode":26098},"normalized",[11,26100,26101],{},"Repara que a nuvem de pontos não muda de formato, ela só desloca e reescala pros dois eixos ficarem na mesma unidade (desvio-padrão em vez de pés²\u002Fquartos). E é exatamente essa mudança de escala relativa entre os dois eixos que faz toda a diferença lá na frente.",[11,26103,26104],{},"Agora o mapa de custo. Ajustei um modelo com as 4 features (tamanho, quartos, nota de localização, distância do centro), fixei duas delas nos valores ajustados, e desenhei um mapa de calor variando só o peso de tamanho e o peso de quartos, o mesmo truque que o notebook original usa. A bolinha vermelha marca exatamente onde meu ajuste caiu, e a linha logo abaixo do gráfico mostra os valores certinhos.",[11,26106,26107],{},[15,26108,26109],{},"Sem normalizar:",[26111,26112],"housing-cost-contour",{":b-max":4053,":b-min":17222,":w-max":1318,":w-min":1835,"b-label":26113,"mode":26090,"w-label":26114},"w_quartos (cru)","w_tamanho (cru)",[11,26116,26117],{},[15,26118,26119],{},"Depois de normalizar (z-score):",[26111,26121],{":b-max":26122,":b-min":9582,":w-max":8782,":w-min":26123,"b-label":26124,"mode":26098,"w-label":26125},"140","30","w_quartos (normalizado)","w_tamanho (normalizado)",[11,26127,26128],{},"Repara a diferença de forma. No contorno cru, o eixo de tamanho é muito mais sensível que o de quartos (uma mudancinha de 0.5 no peso de tamanho já dispara o custo lá em cima, enquanto o peso de quartos precisa mudar dezenas de unidades pra fazer o mesmo estrago). É um vale bem alongado, quase um corredor, e a bolinha vermelha (o ajuste real) fica espremida lá no fundo dele. No contorno normalizado, as duas direções ficam com sensibilidade parecida, o formato vira bem mais redondo, e a bolinha cai perto do centro de um círculo.",[11,26130,26131,26132,26183],{},"Não é um círculo perfeito (tamanho e número de quartos, nesse dataset de 50 casas, ainda têm uma correlaçãozinha residual, calculei e ficou em torno de 0.02, bem pertinho de zero mas não exatamente zero), mas a diferença de forma é gritante. E isso não é coincidência nem aproximação visual: pra uma única feature normalizada por z-score, dá pra provar que a Hessiana vira exatamente a matriz identidade, ",[75,26133,26135,26153],{"className":26134},[78],[75,26136,26138],{"className":26137},[82],[84,26139,26140],{"xmlns":86},[88,26141,26142,26150],{},[91,26143,26144,26146,26148],{},[97,26145,21942],{},[106,26147,125],{},[1316,26149,1578],{},[140,26151,26152],{"encoding":142},"\\kappa = 1",[75,26154,26156,26174],{"className":26155,"ariaHidden":108},[147],[75,26157,26159,26162,26165,26168,26171],{"className":26158},[151],[75,26160],{"className":26161,"style":329},[155],[75,26163,21942],{"className":26164},[160,164],[75,26166],{"className":26167,"style":242},[241],[75,26169,125],{"className":26170},[246],[75,26172],{"className":26173,"style":242},[241],[75,26175,26177,26180],{"className":26176},[151],[75,26178],{"className":26179,"style":1609},[155],[75,26181,1578],{"className":26182},[160],", círculo perfeito, resultado exato e não aproximado. Com duas features reais, o resultado fica quase circular, e o \"quase\" é literalmente o tamanho da correlação entre elas.",[289,26185,5960],{"id":5959},[516,26187,26188,26198],{},[519,26189,26190],{},[522,26191,26192,26195],{},[525,26193,26194],{"align":527},"O que eu já sabia",[525,26196,26197],{"align":527},"O que esse post resolveu",[536,26199,26200,26208,26272],{},[522,26201,26202,26205],{},[541,26203,26204],{"align":527},"Gradiente descendente acha o mínimo sozinho",[541,26206,26207],{"align":527},"Ele só acha rápido se a superfície de custo não for um corredor esticado",[522,26209,26210,26241],{},[541,26211,26212,26240],{"align":527},[75,26213,26215,26228],{"className":26214},[78],[75,26216,26218],{"className":26217},[82],[84,26219,26220],{"xmlns":86},[88,26221,26222,26226],{},[91,26223,26224],{},[97,26225,10317],{},[140,26227,10803],{"encoding":142},[75,26229,26231],{"className":26230,"ariaHidden":108},[147],[75,26232,26234,26237],{"className":26233},[151],[75,26235],{"className":26236,"style":329},[155],[75,26238,10317],{"className":26239,"style":10433},[160,164]," é o parâmetro mais sensível que eu mexo",[541,26242,14881,26243,26271],{"align":527},[75,26244,26246,26259],{"className":26245},[78],[75,26247,26249],{"className":26248},[82],[84,26250,26251],{"xmlns":86},[88,26252,26253,26257],{},[91,26254,26255],{},[97,26256,10317],{},[140,26258,10803],{"encoding":142},[75,26260,26262],{"className":26261,"ariaHidden":108},[147],[75,26263,26265,26268],{"className":26264},[151],[75,26266],{"className":26267,"style":329},[155],[75,26269,10317],{"className":26270,"style":10433},[160,164]," \"certo\" depende inteiramente da escala das features, não é uma constante universal",[522,26273,26274,26277],{},[541,26275,26276],{"align":527},"Vale de custo é sempre convexo, pra regressão linear",[541,26278,26279],{"align":527},"Convexo não é o mesmo que bem-condicionado: pode ser uma tigela funda e redonda, ou um cânion raso e alongado",[11,26281,6275],{},[294,26283,26284,26290,26355],{},[297,26285,26286,26289],{},[15,26287,26288],{},"A escala relativa das features decide o formato da tigela de custo",", não o algoritmo de otimização em si.",[297,26291,26292,26325,26326,26354],{},[15,26293,26294,26295,26324],{},"O número de condição ",[75,26296,26298,26312],{"className":26297},[78],[75,26299,26301],{"className":26300},[82],[84,26302,26303],{"xmlns":86},[88,26304,26305,26309],{},[91,26306,26307],{},[97,26308,21942],{},[140,26310,26311],{"encoding":142},"\\kappa",[75,26313,26315],{"className":26314,"ariaHidden":108},[147],[75,26316,26318,26321],{"className":26317},[151],[75,26319],{"className":26320,"style":329},[155],[75,26322,21942],{"className":26323},[160,164]," é a métrica que quantifica isso",": perto de 1 é uma tigela redonda e rápida de descer, muito maior que 1 é um cânion que qualquer ",[75,26327,26329,26342],{"className":26328},[78],[75,26330,26332],{"className":26331},[82],[84,26333,26334],{"xmlns":86},[88,26335,26336,26340],{},[91,26337,26338],{},[97,26339,10317],{},[140,26341,10803],{"encoding":142},[75,26343,26345],{"className":26344,"ariaHidden":108},[147],[75,26346,26348,26351],{"className":26347},[151],[75,26349],{"className":26350,"style":329},[155],[75,26352,10317],{"className":26353,"style":10433},[160,164]," fixo vai demorar uma eternidade pra atravessar.",[297,26356,26357,26360],{},[15,26358,26359],{},"Normalizar não muda a resposta, muda o caminho até ela",": mesmo mínimo, ordens de magnitude menos iterações pra chegar perto.",[289,26362,6484],{"id":6483},[11,26364,15906,26365,26368,26369,26372,26373,503,26376,26379,26380,26431,26432,26531],{},[557,26366,6493],{"href":6490,"rel":26367},[6492],"). Já vimos no ",[557,26370,26371],{"href":3833},"post de gradiente descendente"," que o algoritmo cru, com ",[65,26374,26375],{},"square_feet\u002F100",[65,26377,26378],{},"price\u002F1000",", converge devagar, precisando de ",[75,26381,26383,26401],{"className":26382},[78],[75,26384,26386],{"className":26385},[82],[84,26387,26388],{"xmlns":86},[88,26389,26390,26398],{},[91,26391,26392,26394,26396],{},[97,26393,10317],{},[106,26395,125],{},[1316,26397,13291],{},[140,26399,26400],{"encoding":142},"\\alpha=0.01",[75,26402,26404,26422],{"className":26403,"ariaHidden":108},[147],[75,26405,26407,26410,26413,26416,26419],{"className":26406},[151],[75,26408],{"className":26409,"style":329},[155],[75,26411,10317],{"className":26412,"style":10433},[160,164],[75,26414],{"className":26415,"style":242},[241],[75,26417,125],{"className":26418},[246],[75,26420],{"className":26421,"style":242},[241],[75,26423,26425,26428],{"className":26424},[151],[75,26426],{"className":26427,"style":1609},[155],[75,26429,13291],{"className":26430},[160]," e 4000 iterações pra chegar em ",[75,26433,26435,26471],{"className":26434},[78],[75,26436,26438],{"className":26437},[82],[84,26439,26440],{"xmlns":86},[88,26441,26442,26468],{},[91,26443,26444,26446,26448,26450,26452,26454,26456,26458,26461,26463,26466],{},[106,26445,116],{"stretchy":115},[97,26447,104],{},[106,26449,109],{"separator":108},[97,26451,112],{},[106,26453,122],{"stretchy":115},[106,26455,125],{},[106,26457,116],{"stretchy":115},[1316,26459,26460],{},"116.5",[106,26462,109],{"separator":108},[1316,26464,26465],{},"398.3",[106,26467,122],{"stretchy":115},[140,26469,26470],{"encoding":142},"(w,b) = (116.5, 398.3)",[75,26472,26474,26507],{"className":26473,"ariaHidden":108},[147],[75,26475,26477,26480,26483,26486,26489,26492,26495,26498,26501,26504],{"className":26476},[151],[75,26478],{"className":26479,"style":2081},[155],[75,26481,116],{"className":26482},[230],[75,26484,104],{"className":26485,"style":205},[160,164],[75,26487,109],{"className":26488},[209],[75,26490],{"className":26491,"style":263},[241],[75,26493,112],{"className":26494},[160,164],[75,26496,122],{"className":26497},[237],[75,26499],{"className":26500,"style":242},[241],[75,26502,125],{"className":26503},[246],[75,26505],{"className":26506,"style":242},[241],[75,26508,26510,26513,26516,26519,26522,26525,26528],{"className":26509},[151],[75,26511],{"className":26512,"style":2081},[155],[75,26514,116],{"className":26515},[230],[75,26517,26460],{"className":26518},[160],[75,26520,109],{"className":26521},[209],[75,26523],{"className":26524,"style":263},[241],[75,26526,26465],{"className":26527},[160],[75,26529,122],{"className":26530},[237],". Agora normalizei o tamanho por z-score antes de rodar:",[2376,26533,26535],{"className":2378,"code":26534,"language":2380,"meta":26,"style":26},"tamanho_norm, mu, sigma = zscore_normalize_features(square_feet)\n\nw, b, J_hist = gradient_descent(\n    tamanho_norm, price,\n    w_in=0, b_in=0,\n    alpha=0.3, num_iters=200,\n    cost_function=compute_cost, gradient_function=compute_gradient)\n\nprint(f\"(w, b) encontrados: ({w:.1f}, {b:.1f})\")\n",[65,26536,26537,26542,26546,26550,26555,26560,26565,26569,26573],{"__ignoreMap":26},[75,26538,26539],{"class":2385,"line":33},[75,26540,26541],{},"tamanho_norm, mu, sigma = zscore_normalize_features(square_feet)\n",[75,26543,26544],{"class":2385,"line":27},[75,26545,2422],{"emptyLinePlaceholder":32},[75,26547,26548],{"class":2385,"line":2396},[75,26549,14309],{},[75,26551,26552],{"class":2385,"line":2401},[75,26553,26554],{},"    tamanho_norm, price,\n",[75,26556,26557],{"class":2385,"line":2407},[75,26558,26559],{},"    w_in=0, b_in=0,\n",[75,26561,26562],{"class":2385,"line":2413},[75,26563,26564],{},"    alpha=0.3, num_iters=200,\n",[75,26566,26567],{"class":2385,"line":2419},[75,26568,14329],{},[75,26570,26571],{"class":2385,"line":2425},[75,26572,2422],{"emptyLinePlaceholder":32},[75,26574,26575],{"class":2385,"line":2431},[75,26576,14338],{},[46,26578,26579],{},[11,26580,26581,1286,26583],{},[15,26582,2458],{},[65,26584,26585],{},"(w, b) encontrados: (88.1, 593.0)",[11,26587,26588,26589,26641,26642,26696,26697,26748],{},"O custo final bate exatamente com o do exemplo cru (",[75,26590,26592,26611],{"className":26591},[78],[75,26593,26595],{"className":26594},[82],[84,26596,26597],{"xmlns":86},[88,26598,26599,26608],{},[91,26600,26601,26603,26605],{},[97,26602,5374],{},[106,26604,9291],{},[1316,26606,26607],{},"5189.6",[140,26609,26610],{"encoding":142},"J \\approx 5189.6",[75,26612,26614,26632],{"className":26613,"ariaHidden":108},[147],[75,26615,26617,26620,26623,26626,26629],{"className":26616},[151],[75,26618],{"className":26619,"style":8437},[155],[75,26621,5374],{"className":26622,"style":5400},[160,164],[75,26624],{"className":26625,"style":242},[241],[75,26627,9291],{"className":26628},[246],[75,26630],{"className":26631,"style":242},[241],[75,26633,26635,26638],{"className":26634},[151],[75,26636],{"className":26637,"style":1609},[155],[75,26639,26607],{"className":26640},[160]," nos dois casos, é o mesmo mínimo), só que aqui eu cheguei nele em ",[15,26643,26644,26645],{},"200 iterações com ",[75,26646,26648,26666],{"className":26647},[78],[75,26649,26651],{"className":26650},[82],[84,26652,26653],{"xmlns":86},[88,26654,26655,26663],{},[91,26656,26657,26659,26661],{},[97,26658,10317],{},[106,26660,125],{},[1316,26662,13307],{},[140,26664,26665],{"encoding":142},"\\alpha = 0.3",[75,26667,26669,26687],{"className":26668,"ariaHidden":108},[147],[75,26670,26672,26675,26678,26681,26684],{"className":26671},[151],[75,26673],{"className":26674,"style":329},[155],[75,26676,10317],{"className":26677,"style":10433},[160,164],[75,26679],{"className":26680,"style":242},[241],[75,26682,125],{"className":26683},[246],[75,26685],{"className":26686,"style":242},[241],[75,26688,26690,26693],{"className":26689},[151],[75,26691],{"className":26692,"style":1609},[155],[75,26694,13307],{"className":26695},[160],", contra as 4000 iterações com ",[75,26698,26700,26718],{"className":26699},[78],[75,26701,26703],{"className":26702},[82],[84,26704,26705],{"xmlns":86},[88,26706,26707,26715],{},[91,26708,26709,26711,26713],{},[97,26710,10317],{},[106,26712,125],{},[1316,26714,13291],{},[140,26716,26717],{"encoding":142},"\\alpha = 0.01",[75,26719,26721,26739],{"className":26720,"ariaHidden":108},[147],[75,26722,26724,26727,26730,26733,26736],{"className":26723},[151],[75,26725],{"className":26726,"style":329},[155],[75,26728,10317],{"className":26729,"style":10433},[160,164],[75,26731],{"className":26732,"style":242},[241],[75,26734,125],{"className":26735},[246],[75,26737],{"className":26738,"style":242},[241],[75,26740,26742,26745],{"className":26741},[151],[75,26743],{"className":26744,"style":1609},[155],[75,26746,13291],{"className":26747},[160]," de antes. Compara os dois ao vivo:",[14352,26750],{},[26752,26753],"housing-scaled-gradient-descent-simulator",{},[11,26755,26756],{},"Roda \"Rodar 100\" algumas vezes nos dois e cronometra na cabeça: um deles já achatou, o outro ainda tá subindo a ladeira. Mesma casa, mesmo preço final, e a única diferença entre os dois simuladores é uma linha de código a mais no começo.",[6712,26758,6714],{},{"title":26,"searchDepth":27,"depth":27,"links":26760},[26761,26762,26763,26764,26766,26768,26769,26770,26771,26772,26773],{"id":18334,"depth":27,"text":18335},{"id":18565,"depth":27,"text":18566},{"id":19455,"depth":27,"text":19456},{"id":20691,"depth":27,"text":26765},"Por que exatamente ali: o limite 2\u002FL2\u002FL2\u002FL e o número de condição",{"id":22136,"depth":27,"text":26767},"Receita prática pra escolher α\\alphaα",{"id":22613,"depth":27,"text":22614},{"id":24428,"depth":27,"text":24429},{"id":24897,"depth":27,"text":24898},{"id":26054,"depth":27,"text":26055},{"id":5959,"depth":27,"text":5960},{"id":6483,"depth":27,"text":6484},"2026-08-19","Por que o mesmo gradiente descendente que funcionou liso até aqui quebra assim que uma feature tem escala bem diferente das outras, e como um truque de estatística básica resolve isso de vez.",{},"\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab03-feature-scaling",{"title":18280,"description":26775},"pt\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab03-feature-scaling",[26781,26782,26783],"normalizacao","feature-scaling","taxa-de-aprendizado","Q586WKD7h4MCdQ5DyTBSBMl-hRGhNGLtuUlUXI9THiQ",{"id":26786,"title":26787,"body":26788,"cover":3,"date":26774,"description":30058,"extension":30,"meta":30059,"navigation":32,"order":2425,"path":30060,"playlist":6743,"seo":30061,"status":36,"stem":30062,"tags":30063,"__hash__":30066},"posts\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab04-feature-engineering.md","Engenharia de Features e Regressão Polinomial",{"type":8,"value":26789,"toc":30044},[26790,26796,26799,26803,26806,27313,27599,27603,27768,27783,27843,27848,27942,27946,28539,28549,28810,28884,28888,29132,29136,29217,29222,29386,29390,29401,29405,29408,29492,29503,29507,29510,29516,29519,29522,29529,29533,29573,29576,29904,29906,29942,29944,29964,29975,29977,29989,30013,30026,30039,30042],[11,26791,26792],{},[57,26793],{"alt":26794,"src":26795},"Meme \"Flex Tape\": em cima, um homem animado rotulado \"EU\" ao lado de um pote vazando água com a legenda \"MODELO FUNCIONANDO CADA VEZ MENOS PRECISO\". Embaixo, uma mão colando fita Flex Tape num vidro rachado que ainda vaza um pouco de água por baixo, rotulada \"ENGENHARIA DE FEATURES\"","\u002Fimages\u002Fposts\u002Fmachine-learning-specialization\u002Fw2-lab04-feature-engineering\u002Fmeme-feature-engineering.jpeg",[11,26797,26798],{},"Esse é o quarto lab da Semana 2, e o que eu esperava ser só \"mais um truque de matemática\" virou o post que mais me fez replanejar o que eu ia escrever. A ideia central cabe numa frase, mas as consequências dela (inclusive uma que o próprio lab original nunca menciona) tomaram o post inteiro.",[289,26800,26802],{"id":26801},"a-ideia-central-linear-nos-parâmetros-não-na-feature","A ideia central: linear nos parâmetros, não na feature",[11,26804,26805],{},"Regressão linear ajusta modelos da forma",[11,26807,26808],{},[75,26809,26811,26903],{"className":26810},[78],[75,26812,26814],{"className":26813},[82],[84,26815,26816],{"xmlns":86},[88,26817,26818,26900],{},[91,26819,26820,26832,26834,26836,26838,26840,26846,26852,26854,26860,26866,26868,26870,26872,26884,26896,26898],{},[94,26821,26822,26824],{},[97,26823,99],{},[91,26825,26826,26828,26830],{},[97,26827,104],{"mathvariant":596},[106,26829,109],{"separator":108},[97,26831,112],{},[106,26833,116],{"stretchy":115},[97,26835,119],{"mathvariant":596},[106,26837,122],{"stretchy":115},[106,26839,125],{},[94,26841,26842,26844],{},[97,26843,104],{},[1316,26845,1835],{},[94,26847,26848,26850],{},[97,26849,119],{},[1316,26851,1835],{},[106,26853,136],{},[94,26855,26856,26858],{},[97,26857,104],{},[1316,26859,1578],{},[94,26861,26862,26864],{},[97,26863,119],{},[1316,26865,1578],{},[106,26867,136],{},[106,26869,7933],{},[106,26871,136],{},[94,26873,26874,26876],{},[97,26875,104],{},[91,26877,26878,26880,26882],{},[97,26879,1482],{},[106,26881,4410],{},[1316,26883,1578],{},[94,26885,26886,26888],{},[97,26887,119],{},[91,26889,26890,26892,26894],{},[97,26891,1482],{},[106,26893,4410],{},[1316,26895,1578],{},[106,26897,136],{},[97,26899,112],{},[140,26901,26902],{"encoding":142},"f_{\\mathbf{w},b}(\\mathbf{x}) = w_0x_0 + w_1x_1 + \\ldots + w_{n-1}x_{n-1} + b",[75,26904,26906,26979,27076,27171,27189,27304],{"className":26905,"ariaHidden":108},[147],[75,26907,26909,26912,26961,26964,26967,26970,26973,26976],{"className":26908},[151],[75,26910],{"className":26911,"style":156},[155],[75,26913,26915,26918],{"className":26914},[160],[75,26916,99],{"className":26917,"style":165},[160,164],[75,26919,26921],{"className":26920},[169],[75,26922,26924,26953],{"className":26923},[173,174],[75,26925,26927,26950],{"className":26926},[178],[75,26928,26930],{"className":26929,"style":183},[182],[75,26931,26932,26935],{"style":186},[75,26933],{"className":26934,"style":191},[190],[75,26936,26938],{"className":26937},[195,196,197,198],[75,26939,26941,26944,26947],{"className":26940},[160,198],[75,26942,104],{"className":26943,"style":695},[160,613,198],[75,26945,109],{"className":26946},[209,198],[75,26948,112],{"className":26949},[160,164,198],[75,26951,217],{"className":26952},[216],[75,26954,26956],{"className":26955},[178],[75,26957,26959],{"className":26958,"style":224},[182],[75,26960],{},[75,26962,116],{"className":26963},[230],[75,26965,119],{"className":26966},[160,613],[75,26968,122],{"className":26969},[237],[75,26971],{"className":26972,"style":242},[241],[75,26974,125],{"className":26975},[246],[75,26977],{"className":26978,"style":242},[241],[75,26980,26982,26986,27027,27067,27070,27073],{"className":26981},[151],[75,26983],{"className":26984,"style":26985},[155],"height:0.7333em;vertical-align:-0.15em;",[75,26987,26989,26992],{"className":26988},[160],[75,26990,104],{"className":26991,"style":205},[160,164],[75,26993,26995],{"className":26994},[169],[75,26996,26998,27019],{"className":26997},[173,174],[75,26999,27001,27016],{"className":27000},[178],[75,27002,27005],{"className":27003,"style":27004},[182],"height:0.3011em;",[75,27006,27007,27010],{"style":24982},[75,27008],{"className":27009,"style":191},[190],[75,27011,27013],{"className":27012},[195,196,197,198],[75,27014,1835],{"className":27015},[160,198],[75,27017,217],{"className":27018},[216],[75,27020,27022],{"className":27021},[178],[75,27023,27025],{"className":27024,"style":15114},[182],[75,27026],{},[75,27028,27030,27033],{"className":27029},[160],[75,27031,119],{"className":27032},[160,164],[75,27034,27036],{"className":27035},[169],[75,27037,27039,27059],{"className":27038},[173,174],[75,27040,27042,27056],{"className":27041},[178],[75,27043,27045],{"className":27044,"style":27004},[182],[75,27046,27047,27050],{"style":15095},[75,27048],{"className":27049,"style":191},[190],[75,27051,27053],{"className":27052},[195,196,197,198],[75,27054,1835],{"className":27055},[160,198],[75,27057,217],{"className":27058},[216],[75,27060,27062],{"className":27061},[178],[75,27063,27065],{"className":27064,"style":15114},[182],[75,27066],{},[75,27068],{"className":27069,"style":270},[241],[75,27071,136],{"className":27072},[274],[75,27074],{"className":27075,"style":270},[241],[75,27077,27079,27082,27122,27162,27165,27168],{"className":27078},[151],[75,27080],{"className":27081,"style":26985},[155],[75,27083,27085,27088],{"className":27084},[160],[75,27086,104],{"className":27087,"style":205},[160,164],[75,27089,27091],{"className":27090},[169],[75,27092,27094,27114],{"className":27093},[173,174],[75,27095,27097,27111],{"className":27096},[178],[75,27098,27100],{"className":27099,"style":27004},[182],[75,27101,27102,27105],{"style":24982},[75,27103],{"className":27104,"style":191},[190],[75,27106,27108],{"className":27107},[195,196,197,198],[75,27109,1578],{"className":27110},[160,198],[75,27112,217],{"className":27113},[216],[75,27115,27117],{"className":27116},[178],[75,27118,27120],{"className":27119,"style":15114},[182],[75,27121],{},[75,27123,27125,27128],{"className":27124},[160],[75,27126,119],{"className":27127},[160,164],[75,27129,27131],{"className":27130},[169],[75,27132,27134,27154],{"className":27133},[173,174],[75,27135,27137,27151],{"className":27136},[178],[75,27138,27140],{"className":27139,"style":27004},[182],[75,27141,27142,27145],{"style":15095},[75,27143],{"className":27144,"style":191},[190],[75,27146,27148],{"className":27147},[195,196,197,198],[75,27149,1578],{"className":27150},[160,198],[75,27152,217],{"className":27153},[216],[75,27155,27157],{"className":27156},[178],[75,27158,27160],{"className":27159,"style":15114},[182],[75,27161],{},[75,27163],{"className":27164,"style":270},[241],[75,27166,136],{"className":27167},[274],[75,27169],{"className":27170,"style":270},[241],[75,27172,27174,27177,27180,27183,27186],{"className":27173},[151],[75,27175],{"className":27176,"style":256},[155],[75,27178,7933],{"className":27179},[7246],[75,27181],{"className":27182,"style":270},[241],[75,27184,136],{"className":27185},[274],[75,27187],{"className":27188,"style":270},[241],[75,27190,27192,27196,27246,27295,27298,27301],{"className":27191},[151],[75,27193],{"className":27194,"style":27195},[155],"height:0.7917em;vertical-align:-0.2083em;",[75,27197,27199,27202],{"className":27198},[160],[75,27200,104],{"className":27201,"style":205},[160,164],[75,27203,27205],{"className":27204},[169],[75,27206,27208,27237],{"className":27207},[173,174],[75,27209,27211,27234],{"className":27210},[178],[75,27212,27214],{"className":27213,"style":27004},[182],[75,27215,27216,27219],{"style":24982},[75,27217],{"className":27218,"style":191},[190],[75,27220,27222],{"className":27221},[195,196,197,198],[75,27223,27225,27228,27231],{"className":27224},[160,198],[75,27226,1482],{"className":27227},[160,164,198],[75,27229,4410],{"className":27230},[274,198],[75,27232,1578],{"className":27233},[160,198],[75,27235,217],{"className":27236},[216],[75,27238,27240],{"className":27239},[178],[75,27241,27244],{"className":27242,"style":27243},[182],"height:0.2083em;",[75,27245],{},[75,27247,27249,27252],{"className":27248},[160],[75,27250,119],{"className":27251},[160,164],[75,27253,27255],{"className":27254},[169],[75,27256,27258,27287],{"className":27257},[173,174],[75,27259,27261,27284],{"className":27260},[178],[75,27262,27264],{"className":27263,"style":27004},[182],[75,27265,27266,27269],{"style":15095},[75,27267],{"className":27268,"style":191},[190],[75,27270,27272],{"className":27271},[195,196,197,198],[75,27273,27275,27278,27281],{"className":27274},[160,198],[75,27276,1482],{"className":27277},[160,164,198],[75,27279,4410],{"className":27280},[274,198],[75,27282,1578],{"className":27283},[160,198],[75,27285,217],{"className":27286},[216],[75,27288,27290],{"className":27289},[178],[75,27291,27293],{"className":27292,"style":27243},[182],[75,27294],{},[75,27296],{"className":27297,"style":270},[241],[75,27299,136],{"className":27300},[274],[75,27302],{"className":27303,"style":270},[241],[75,27305,27307,27310],{"className":27306},[151],[75,27308],{"className":27309,"style":284},[155],[75,27311,112],{"className":27312},[160,164],[11,27314,27315,27316,1286,27319,27361,27362,27433,27434,27492,27493,27537,27538,503,27566,27594,27595,27598],{},"O que torna isso \"linear\" é a relação entre a saída e os ",[15,27317,27318],{},"parâmetros",[75,27320,27322,27340],{"className":27321},[78],[75,27323,27325],{"className":27324},[82],[84,27326,27327],{"xmlns":86},[88,27328,27329,27337],{},[91,27330,27331,27333,27335],{},[97,27332,104],{"mathvariant":596},[106,27334,109],{"separator":108},[97,27336,112],{},[140,27338,27339],{"encoding":142},"\\mathbf{w}, b",[75,27341,27343],{"className":27342,"ariaHidden":108},[147],[75,27344,27346,27349,27352,27355,27358],{"className":27345},[151],[75,27347],{"className":27348,"style":18188},[155],[75,27350,104],{"className":27351,"style":695},[160,613],[75,27353,109],{"className":27354},[209],[75,27356],{"className":27357,"style":263},[241],[75,27359,112],{"className":27360},[160,164],", não a relação entre a saída e a variável original. Nada impede que ",[75,27363,27365,27383],{"className":27364},[78],[75,27366,27368],{"className":27367},[82],[84,27369,27370],{"xmlns":86},[88,27371,27372,27380],{},[91,27373,27374],{},[94,27375,27376,27378],{},[97,27377,119],{},[1316,27379,1578],{},[140,27381,27382],{"encoding":142},"x_1",[75,27384,27386],{"className":27385,"ariaHidden":108},[147],[75,27387,27389,27393],{"className":27388},[151],[75,27390],{"className":27391,"style":27392},[155],"height:0.5806em;vertical-align:-0.15em;",[75,27394,27396,27399],{"className":27395},[160],[75,27397,119],{"className":27398},[160,164],[75,27400,27402],{"className":27401},[169],[75,27403,27405,27425],{"className":27404},[173,174],[75,27406,27408,27422],{"className":27407},[178],[75,27409,27411],{"className":27410,"style":27004},[182],[75,27412,27413,27416],{"style":15095},[75,27414],{"className":27415,"style":191},[190],[75,27417,27419],{"className":27418},[195,196,197,198],[75,27420,1578],{"className":27421},[160,198],[75,27423,217],{"className":27424},[216],[75,27426,27428],{"className":27427},[178],[75,27429,27431],{"className":27430,"style":15114},[182],[75,27432],{}," seja, ele próprio, ",[75,27435,27437,27454],{"className":27436},[78],[75,27438,27440],{"className":27439},[82],[84,27441,27442],{"xmlns":86},[88,27443,27444,27452],{},[91,27445,27446],{},[721,27447,27448,27450],{},[97,27449,119],{},[1316,27451,1318],{},[140,27453,1392],{"encoding":142},[75,27455,27457],{"className":27456,"ariaHidden":108},[147],[75,27458,27460,27463],{"className":27459},[151],[75,27461],{"className":27462,"style":1402},[155],[75,27464,27466,27469],{"className":27465},[160],[75,27467,119],{"className":27468},[160,164],[75,27470,27472],{"className":27471},[169],[75,27473,27475],{"className":27474},[173],[75,27476,27478],{"className":27477},[178],[75,27479,27481],{"className":27480,"style":1402},[182],[75,27482,27483,27486],{"style":767},[75,27484],{"className":27485,"style":191},[190],[75,27487,27489],{"className":27488},[195,196,197,198],[75,27490,1318],{"className":27491},[160,198],", ou ",[75,27494,27496,27515],{"className":27495},[78],[75,27497,27499],{"className":27498},[82],[84,27500,27501],{"xmlns":86},[88,27502,27503,27512],{},[91,27504,27505,27508,27510],{},[97,27506,27507],{},"log",[106,27509,20782],{},[97,27511,119],{},[140,27513,27514],{"encoding":142},"\\log x",[75,27516,27518],{"className":27517,"ariaHidden":108},[147],[75,27519,27521,27524,27531,27534],{"className":27520},[151],[75,27522],{"className":27523,"style":18188},[155],[75,27525,27527,27528],{"className":27526},[7166],"lo",[75,27529,25035],{"style":27530},"margin-right:0.0139em;",[75,27532],{"className":27533,"style":263},[241],[75,27535,119],{"className":27536},[160,164],", ou o produto de duas outras colunas. Por mais que eu ajuste ",[75,27539,27541,27554],{"className":27540},[78],[75,27542,27544],{"className":27543},[82],[84,27545,27546],{"xmlns":86},[88,27547,27548,27552],{},[91,27549,27550],{},[97,27551,104],{},[140,27553,104],{"encoding":142},[75,27555,27557],{"className":27556,"ariaHidden":108},[147],[75,27558,27560,27563],{"className":27559},[151],[75,27561],{"className":27562,"style":329},[155],[75,27564,104],{"className":27565,"style":205},[160,164],[75,27567,27569,27582],{"className":27568},[78],[75,27570,27572],{"className":27571},[82],[84,27573,27574],{"xmlns":86},[88,27575,27576,27580],{},[91,27577,27578],{},[97,27579,112],{},[140,27581,112],{"encoding":142},[75,27583,27585],{"className":27584,"ariaHidden":108},[147],[75,27586,27588,27591],{"className":27587},[151],[75,27589],{"className":27590,"style":284},[155],[75,27592,112],{"className":27593},[160,164],", a equação nunca vira uma curva se as features forem retas. Mas se eu ",[15,27596,27597],{},"criar"," uma feature curva e jogar ela lá dentro, a mesma maquinaria de sempre ajusta a curva. Isso é engenharia de features.",[289,27600,27602],{"id":27601},"features-polinomiais-na-prática","Features polinomiais na prática",[11,27604,27605,27606,27709,27710,27738,27739,27767],{},"Testei isso com um alvo simples: ",[75,27607,27609,27635],{"className":27608},[78],[75,27610,27612],{"className":27611},[82],[84,27613,27614],{"xmlns":86},[88,27615,27616,27632],{},[91,27617,27618,27620,27622,27624,27626],{},[97,27619,678],{},[106,27621,125],{},[1316,27623,1578],{},[106,27625,136],{},[721,27627,27628,27630],{},[97,27629,119],{},[1316,27631,1318],{},[140,27633,27634],{"encoding":142},"y = 1 + x^2",[75,27636,27638,27656,27674],{"className":27637,"ariaHidden":108},[147],[75,27639,27641,27644,27647,27650,27653],{"className":27640},[151],[75,27642],{"className":27643,"style":4281},[155],[75,27645,678],{"className":27646,"style":829},[160,164],[75,27648],{"className":27649,"style":242},[241],[75,27651,125],{"className":27652},[246],[75,27654],{"className":27655,"style":242},[241],[75,27657,27659,27662,27665,27668,27671],{"className":27658},[151],[75,27660],{"className":27661,"style":5070},[155],[75,27663,1578],{"className":27664},[160],[75,27666],{"className":27667,"style":270},[241],[75,27669,136],{"className":27670},[274],[75,27672],{"className":27673,"style":270},[241],[75,27675,27677,27680],{"className":27676},[151],[75,27678],{"className":27679,"style":1402},[155],[75,27681,27683,27686],{"className":27682},[160],[75,27684,119],{"className":27685},[160,164],[75,27687,27689],{"className":27688},[169],[75,27690,27692],{"className":27691},[173],[75,27693,27695],{"className":27694},[178],[75,27696,27698],{"className":27697,"style":1402},[182],[75,27699,27700,27703],{"style":767},[75,27701],{"className":27702,"style":191},[190],[75,27704,27706],{"className":27705},[195,196,197,198],[75,27707,1318],{"className":27708},[160,198],", pra ",[75,27711,27713,27726],{"className":27712},[78],[75,27714,27716],{"className":27715},[82],[84,27717,27718],{"xmlns":86},[88,27719,27720,27724],{},[91,27721,27722],{},[97,27723,119],{},[140,27725,119],{"encoding":142},[75,27727,27729],{"className":27728,"ariaHidden":108},[147],[75,27730,27732,27735],{"className":27731},[151],[75,27733],{"className":27734,"style":329},[155],[75,27736,119],{"className":27737},[160,164]," de 0 a 19. Primeiro, a tentativa ingênua: jogar o ",[75,27740,27742,27755],{"className":27741},[78],[75,27743,27745],{"className":27744},[82],[84,27746,27747],{"xmlns":86},[88,27748,27749,27753],{},[91,27750,27751],{},[97,27752,119],{},[140,27754,119],{"encoding":142},[75,27756,27758],{"className":27757,"ariaHidden":108},[147],[75,27759,27761,27764],{"className":27760},[151],[75,27762],{"className":27763,"style":329},[155],[75,27765,119],{"className":27766},[160,164]," cru no modelo.",[2376,27769,27771],{"className":2378,"code":27770,"language":2380,"meta":26,"style":26},"x = list(range(20))\ny = [1 + xi**2 for xi in x]\n",[65,27772,27773,27778],{"__ignoreMap":26},[75,27774,27775],{"class":2385,"line":33},[75,27776,27777],{},"x = list(range(20))\n",[75,27779,27780],{"class":2385,"line":27},[75,27781,27782],{},"y = [1 + xi**2 for xi in x]\n",[11,27784,27785,27786,503,27814,27842],{},"Arrasta o grau pra 1 no simulador abaixo e repara: nenhum valor de ",[75,27787,27789,27802],{"className":27788},[78],[75,27790,27792],{"className":27791},[82],[84,27793,27794],{"xmlns":86},[88,27795,27796,27800],{},[91,27797,27798],{},[97,27799,104],{},[140,27801,104],{"encoding":142},[75,27803,27805],{"className":27804,"ariaHidden":108},[147],[75,27806,27808,27811],{"className":27807},[151],[75,27809],{"className":27810,"style":329},[155],[75,27812,104],{"className":27813,"style":205},[160,164],[75,27815,27817,27830],{"className":27816},[78],[75,27818,27820],{"className":27819},[82],[84,27821,27822],{"xmlns":86},[88,27823,27824,27828],{},[91,27825,27826],{},[97,27827,112],{},[140,27829,112],{"encoding":142},[75,27831,27833],{"className":27832,"ariaHidden":108},[147],[75,27834,27836,27839],{"className":27835},[151],[75,27837],{"className":27838,"style":284},[155],[75,27840,112],{"className":27841},[160,164]," conserta isso, porque o modelo é uma reta e o alvo é uma parábola. Agora arrasta pra 2:",[27844,27845],"polynomial-fit-explorer",{":initial-degree":1578,":max-degree":17223,":x-train":27846,":y-train":27847,"x-label":119,"y-label":678},"[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]","[1,2,5,10,17,26,37,50,65,82,101,122,145,170,197,226,257,290,325,362]",[11,27849,27850,27851,27853,27854,27882,27883,27941],{},"No grau 2 o ajuste vira exato, RMSE zero. O que eu troquei não foi o algoritmo, foi a ",[15,27852,6286],{},": em vez de ",[75,27855,27857,27870],{"className":27856},[78],[75,27858,27860],{"className":27859},[82],[84,27861,27862],{"xmlns":86},[88,27863,27864,27868],{},[91,27865,27866],{},[97,27867,119],{},[140,27869,119],{"encoding":142},[75,27871,27873],{"className":27872,"ariaHidden":108},[147],[75,27874,27876,27879],{"className":27875},[151],[75,27877],{"className":27878,"style":329},[155],[75,27880,119],{"className":27881},[160,164],", entrei com ",[75,27884,27886,27903],{"className":27885},[78],[75,27887,27889],{"className":27888},[82],[84,27890,27891],{"xmlns":86},[88,27892,27893,27901],{},[91,27894,27895],{},[721,27896,27897,27899],{},[97,27898,119],{},[1316,27900,1318],{},[140,27902,1392],{"encoding":142},[75,27904,27906],{"className":27905,"ariaHidden":108},[147],[75,27907,27909,27912],{"className":27908},[151],[75,27910],{"className":27911,"style":1402},[155],[75,27913,27915,27918],{"className":27914},[160],[75,27916,119],{"className":27917},[160,164],[75,27919,27921],{"className":27920},[169],[75,27922,27924],{"className":27923},[173],[75,27925,27927],{"className":27926},[178],[75,27928,27930],{"className":27929,"style":1402},[182],[75,27931,27932,27935],{"style":767},[75,27933],{"className":27934,"style":191},[190],[75,27936,27938],{"className":27937},[195,196,197,198],[75,27939,1318],{"className":27940},[160,198]," (e o resto do polinômio) e deixei a mesma regressão linear de sempre encontrar o peso certo.",[289,27943,27945],{"id":27944},"escolhendo-features-sem-saber-a-resposta-de-antemão","Escolhendo features, sem saber a resposta de antemão",[11,27947,27948,27949,27952,27953,28011,28012,28328,28329,28387,28388,503,28416,28475,28476,28534,28535,28538],{},"Ali em cima eu ",[15,27950,27951],{},"já sabia"," que o termo certo era ",[75,27954,27956,27973],{"className":27955},[78],[75,27957,27959],{"className":27958},[82],[84,27960,27961],{"xmlns":86},[88,27962,27963,27971],{},[91,27964,27965],{},[721,27966,27967,27969],{},[97,27968,119],{},[1316,27970,1318],{},[140,27972,1392],{"encoding":142},[75,27974,27976],{"className":27975,"ariaHidden":108},[147],[75,27977,27979,27982],{"className":27978},[151],[75,27980],{"className":27981,"style":1402},[155],[75,27983,27985,27988],{"className":27984},[160],[75,27986,119],{"className":27987},[160,164],[75,27989,27991],{"className":27990},[169],[75,27992,27994],{"className":27993},[173],[75,27995,27997],{"className":27996},[178],[75,27998,28000],{"className":27999,"style":1402},[182],[75,28001,28002,28005],{"style":767},[75,28003],{"className":28004,"style":191},[190],[75,28006,28008],{"className":28007},[195,196,197,198],[75,28009,1318],{"className":28010},[160,198],". Na prática, você não sabe. Uma estratégia é jogar vários candidatos e deixar o ajuste decidir: testei ",[75,28013,28015,28071],{"className":28014},[78],[75,28016,28018],{"className":28017},[82],[84,28019,28020],{"xmlns":86},[88,28021,28022,28068],{},[91,28023,28024,28026,28028,28034,28036,28038,28044,28050,28052,28058,28064,28066],{},[97,28025,678],{},[106,28027,125],{},[94,28029,28030,28032],{},[97,28031,104],{},[1316,28033,1835],{},[97,28035,119],{},[106,28037,136],{},[94,28039,28040,28042],{},[97,28041,104],{},[1316,28043,1578],{},[721,28045,28046,28048],{},[97,28047,119],{},[1316,28049,1318],{},[106,28051,136],{},[94,28053,28054,28056],{},[97,28055,104],{},[1316,28057,1318],{},[721,28059,28060,28062],{},[97,28061,119],{},[1316,28063,13659],{},[106,28065,136],{},[97,28067,112],{},[140,28069,28070],{"encoding":142},"y = w_0x + w_1x^2 + w_2x^3 + b",[75,28072,28074,28092,28150,28235,28319],{"className":28073,"ariaHidden":108},[147],[75,28075,28077,28080,28083,28086,28089],{"className":28076},[151],[75,28078],{"className":28079,"style":4281},[155],[75,28081,678],{"className":28082,"style":829},[160,164],[75,28084],{"className":28085,"style":242},[241],[75,28087,125],{"className":28088},[246],[75,28090],{"className":28091,"style":242},[241],[75,28093,28095,28098,28138,28141,28144,28147],{"className":28094},[151],[75,28096],{"className":28097,"style":26985},[155],[75,28099,28101,28104],{"className":28100},[160],[75,28102,104],{"className":28103,"style":205},[160,164],[75,28105,28107],{"className":28106},[169],[75,28108,28110,28130],{"className":28109},[173,174],[75,28111,28113,28127],{"className":28112},[178],[75,28114,28116],{"className":28115,"style":27004},[182],[75,28117,28118,28121],{"style":24982},[75,28119],{"className":28120,"style":191},[190],[75,28122,28124],{"className":28123},[195,196,197,198],[75,28125,1835],{"className":28126},[160,198],[75,28128,217],{"className":28129},[216],[75,28131,28133],{"className":28132},[178],[75,28134,28136],{"className":28135,"style":15114},[182],[75,28137],{},[75,28139,119],{"className":28140},[160,164],[75,28142],{"className":28143,"style":270},[241],[75,28145,136],{"className":28146},[274],[75,28148],{"className":28149,"style":270},[241],[75,28151,28153,28157,28197,28226,28229,28232],{"className":28152},[151],[75,28154],{"className":28155,"style":28156},[155],"height:0.9641em;vertical-align:-0.15em;",[75,28158,28160,28163],{"className":28159},[160],[75,28161,104],{"className":28162,"style":205},[160,164],[75,28164,28166],{"className":28165},[169],[75,28167,28169,28189],{"className":28168},[173,174],[75,28170,28172,28186],{"className":28171},[178],[75,28173,28175],{"className":28174,"style":27004},[182],[75,28176,28177,28180],{"style":24982},[75,28178],{"className":28179,"style":191},[190],[75,28181,28183],{"className":28182},[195,196,197,198],[75,28184,1578],{"className":28185},[160,198],[75,28187,217],{"className":28188},[216],[75,28190,28192],{"className":28191},[178],[75,28193,28195],{"className":28194,"style":15114},[182],[75,28196],{},[75,28198,28200,28203],{"className":28199},[160],[75,28201,119],{"className":28202},[160,164],[75,28204,28206],{"className":28205},[169],[75,28207,28209],{"className":28208},[173],[75,28210,28212],{"className":28211},[178],[75,28213,28215],{"className":28214,"style":1402},[182],[75,28216,28217,28220],{"style":767},[75,28218],{"className":28219,"style":191},[190],[75,28221,28223],{"className":28222},[195,196,197,198],[75,28224,1318],{"className":28225},[160,198],[75,28227],{"className":28228,"style":270},[241],[75,28230,136],{"className":28231},[274],[75,28233],{"className":28234,"style":270},[241],[75,28236,28238,28241,28281,28310,28313,28316],{"className":28237},[151],[75,28239],{"className":28240,"style":28156},[155],[75,28242,28244,28247],{"className":28243},[160],[75,28245,104],{"className":28246,"style":205},[160,164],[75,28248,28250],{"className":28249},[169],[75,28251,28253,28273],{"className":28252},[173,174],[75,28254,28256,28270],{"className":28255},[178],[75,28257,28259],{"className":28258,"style":27004},[182],[75,28260,28261,28264],{"style":24982},[75,28262],{"className":28263,"style":191},[190],[75,28265,28267],{"className":28266},[195,196,197,198],[75,28268,1318],{"className":28269},[160,198],[75,28271,217],{"className":28272},[216],[75,28274,28276],{"className":28275},[178],[75,28277,28279],{"className":28278,"style":15114},[182],[75,28280],{},[75,28282,28284,28287],{"className":28283},[160],[75,28285,119],{"className":28286},[160,164],[75,28288,28290],{"className":28289},[169],[75,28291,28293],{"className":28292},[173],[75,28294,28296],{"className":28295},[178],[75,28297,28299],{"className":28298,"style":1402},[182],[75,28300,28301,28304],{"style":767},[75,28302],{"className":28303,"style":191},[190],[75,28305,28307],{"className":28306},[195,196,197,198],[75,28308,13659],{"className":28309},[160,198],[75,28311],{"className":28312,"style":270},[241],[75,28314,136],{"className":28315},[274],[75,28317],{"className":28318,"style":270},[241],[75,28320,28322,28325],{"className":28321},[151],[75,28323],{"className":28324,"style":284},[155],[75,28326,112],{"className":28327},[160,164]," contra um alvo puro ",[75,28330,28332,28349],{"className":28331},[78],[75,28333,28335],{"className":28334},[82],[84,28336,28337],{"xmlns":86},[88,28338,28339,28347],{},[91,28340,28341],{},[721,28342,28343,28345],{},[97,28344,119],{},[1316,28346,1318],{},[140,28348,1392],{"encoding":142},[75,28350,28352],{"className":28351,"ariaHidden":108},[147],[75,28353,28355,28358],{"className":28354},[151],[75,28356],{"className":28357,"style":1402},[155],[75,28359,28361,28364],{"className":28360},[160],[75,28362,119],{"className":28363},[160,164],[75,28365,28367],{"className":28366},[169],[75,28368,28370],{"className":28369},[173],[75,28371,28373],{"className":28372},[178],[75,28374,28376],{"className":28375,"style":1402},[182],[75,28377,28378,28381],{"style":767},[75,28379],{"className":28380,"style":191},[190],[75,28382,28384],{"className":28383},[195,196,197,198],[75,28385,1318],{"className":28386},[160,198],", e o solver zerou os pesos de ",[75,28389,28391,28404],{"className":28390},[78],[75,28392,28394],{"className":28393},[82],[84,28395,28396],{"xmlns":86},[88,28397,28398,28402],{},[91,28399,28400],{},[97,28401,119],{},[140,28403,119],{"encoding":142},[75,28405,28407],{"className":28406,"ariaHidden":108},[147],[75,28408,28410,28413],{"className":28409},[151],[75,28411],{"className":28412,"style":329},[155],[75,28414,119],{"className":28415},[160,164],[75,28417,28419,28437],{"className":28418},[78],[75,28420,28422],{"className":28421},[82],[84,28423,28424],{"xmlns":86},[88,28425,28426,28434],{},[91,28427,28428],{},[721,28429,28430,28432],{},[97,28431,119],{},[1316,28433,13659],{},[140,28435,28436],{"encoding":142},"x^3",[75,28438,28440],{"className":28439,"ariaHidden":108},[147],[75,28441,28443,28446],{"className":28442},[151],[75,28444],{"className":28445,"style":1402},[155],[75,28447,28449,28452],{"className":28448},[160],[75,28450,119],{"className":28451},[160,164],[75,28453,28455],{"className":28454},[169],[75,28456,28458],{"className":28457},[173],[75,28459,28461],{"className":28460},[178],[75,28462,28464],{"className":28463,"style":1402},[182],[75,28465,28466,28469],{"style":767},[75,28467],{"className":28468,"style":191},[190],[75,28470,28472],{"className":28471},[195,196,197,198],[75,28473,13659],{"className":28474},[160,198]," sozinho, deixando praticamente só o de ",[75,28477,28479,28496],{"className":28478},[78],[75,28480,28482],{"className":28481},[82],[84,28483,28484],{"xmlns":86},[88,28485,28486,28494],{},[91,28487,28488],{},[721,28489,28490,28492],{},[97,28491,119],{},[1316,28493,1318],{},[140,28495,1392],{"encoding":142},[75,28497,28499],{"className":28498,"ariaHidden":108},[147],[75,28500,28502,28505],{"className":28501},[151],[75,28503],{"className":28504,"style":1402},[155],[75,28506,28508,28511],{"className":28507},[160],[75,28509,119],{"className":28510},[160,164],[75,28512,28514],{"className":28513},[169],[75,28515,28517],{"className":28516},[173],[75,28518,28520],{"className":28519},[178],[75,28521,28523],{"className":28522,"style":1402},[182],[75,28524,28525,28528],{"style":767},[75,28526],{"className":28527,"style":191},[190],[75,28529,28531],{"className":28530},[195,196,197,198],[75,28532,1318],{"className":28533},[160,198]," de pé. (O notebook original faz essa mesma conta com gradiente descendente e só consegue ",[2366,28536,28537],{},"reduzir"," os pesos errados, não zerá-los, porque a convergência nunca termina de verdade. Com solução exata, o resultado sai limpo.)",[11,28540,28541,28542,28545,28546,28548],{},"Outra forma de pensar: depois de criar as features, eu continuo fazendo regressão ",[15,28543,28544],{},"linear",". Então a melhor feature é a que tem relação ",[15,28547,28544],{}," com o alvo. Isso vira uma correlação de Pearson fácil de calcular:",[516,28550,28551,28641],{},[519,28552,28553],{},[522,28554,28555,28557],{},[525,28556,18350],{"align":527},[525,28558,28559,28560],{"align":18353},"Correlação com ",[75,28561,28563,28585],{"className":28562},[78],[75,28564,28566],{"className":28565},[82],[84,28567,28568],{"xmlns":86},[88,28569,28570,28582],{},[91,28571,28572,28574,28576],{},[97,28573,678],{},[106,28575,125],{},[721,28577,28578,28580],{},[97,28579,119],{},[1316,28581,1318],{},[140,28583,28584],{"encoding":142},"y=x^2",[75,28586,28588,28606],{"className":28587,"ariaHidden":108},[147],[75,28589,28591,28594,28597,28600,28603],{"className":28590},[151],[75,28592],{"className":28593,"style":4281},[155],[75,28595,678],{"className":28596,"style":829},[160,164],[75,28598],{"className":28599,"style":242},[241],[75,28601,125],{"className":28602},[246],[75,28604],{"className":28605,"style":242},[241],[75,28607,28609,28612],{"className":28608},[151],[75,28610],{"className":28611,"style":1402},[155],[75,28613,28615,28618],{"className":28614},[160],[75,28616,119],{"className":28617},[160,164],[75,28619,28621],{"className":28620},[169],[75,28622,28624],{"className":28623},[173],[75,28625,28627],{"className":28626},[178],[75,28628,28630],{"className":28629,"style":1402},[182],[75,28631,28632,28635],{"style":767},[75,28633],{"className":28634,"style":191},[190],[75,28636,28638],{"className":28637},[195,196,197,198],[75,28639,1318],{"className":28640},[160,198],[536,28642,28643,28678,28745],{},[522,28644,28645,28675],{},[541,28646,28647],{"align":527},[75,28648,28650,28663],{"className":28649},[78],[75,28651,28653],{"className":28652},[82],[84,28654,28655],{"xmlns":86},[88,28656,28657,28661],{},[91,28658,28659],{},[97,28660,119],{},[140,28662,119],{"encoding":142},[75,28664,28666],{"className":28665,"ariaHidden":108},[147],[75,28667,28669,28672],{"className":28668},[151],[75,28670],{"className":28671,"style":329},[155],[75,28673,119],{"className":28674},[160,164],[541,28676,28677],{"align":18353},"0.965",[522,28679,28680,28740],{},[541,28681,28682],{"align":527},[75,28683,28685,28702],{"className":28684},[78],[75,28686,28688],{"className":28687},[82],[84,28689,28690],{"xmlns":86},[88,28691,28692,28700],{},[91,28693,28694],{},[721,28695,28696,28698],{},[97,28697,119],{},[1316,28699,1318],{},[140,28701,1392],{"encoding":142},[75,28703,28705],{"className":28704,"ariaHidden":108},[147],[75,28706,28708,28711],{"className":28707},[151],[75,28709],{"className":28710,"style":1402},[155],[75,28712,28714,28717],{"className":28713},[160],[75,28715,119],{"className":28716},[160,164],[75,28718,28720],{"className":28719},[169],[75,28721,28723],{"className":28722},[173],[75,28724,28726],{"className":28725},[178],[75,28727,28729],{"className":28728,"style":1402},[182],[75,28730,28731,28734],{"style":767},[75,28732],{"className":28733,"style":191},[190],[75,28735,28737],{"className":28736},[195,196,197,198],[75,28738,1318],{"className":28739},[160,198],[541,28741,28742],{"align":18353},[15,28743,28744],{},"1.000",[522,28746,28747,28807],{},[541,28748,28749],{"align":527},[75,28750,28752,28769],{"className":28751},[78],[75,28753,28755],{"className":28754},[82],[84,28756,28757],{"xmlns":86},[88,28758,28759,28767],{},[91,28760,28761],{},[721,28762,28763,28765],{},[97,28764,119],{},[1316,28766,13659],{},[140,28768,28436],{"encoding":142},[75,28770,28772],{"className":28771,"ariaHidden":108},[147],[75,28773,28775,28778],{"className":28774},[151],[75,28776],{"className":28777,"style":1402},[155],[75,28779,28781,28784],{"className":28780},[160],[75,28782,119],{"className":28783},[160,164],[75,28785,28787],{"className":28786},[169],[75,28788,28790],{"className":28789},[173],[75,28791,28793],{"className":28792},[178],[75,28794,28796],{"className":28795,"style":1402},[182],[75,28797,28798,28801],{"style":767},[75,28799],{"className":28800,"style":191},[190],[75,28802,28804],{"className":28803},[195,196,197,198],[75,28805,13659],{"className":28806},[160,198],[541,28808,28809],{"align":18353},"0.986",[11,28811,28812,28870,28871,28874,28875,28879,28880,28883],{},[75,28813,28815,28832],{"className":28814},[78],[75,28816,28818],{"className":28817},[82],[84,28819,28820],{"xmlns":86},[88,28821,28822,28830],{},[91,28823,28824],{},[721,28825,28826,28828],{},[97,28827,119],{},[1316,28829,1318],{},[140,28831,1392],{"encoding":142},[75,28833,28835],{"className":28834,"ariaHidden":108},[147],[75,28836,28838,28841],{"className":28837},[151],[75,28839],{"className":28840,"style":1402},[155],[75,28842,28844,28847],{"className":28843},[160],[75,28845,119],{"className":28846},[160,164],[75,28848,28850],{"className":28849},[169],[75,28851,28853],{"className":28852},[173],[75,28854,28856],{"className":28855},[178],[75,28857,28859],{"className":28858,"style":1402},[182],[75,28860,28861,28864],{"style":767},[75,28862],{"className":28863,"style":191},[190],[75,28865,28867],{"className":28866},[195,196,197,198],[75,28868,1318],{"className":28869},[160,198]," tem correlação perfeita porque ela ",[15,28872,28873],{},"é"," o alvo, a menos de escala. Já falei dessa mesma heurística (plotar feature contra alvo e procurar a reta) no ",[557,28876,28878],{"href":28877},"\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab03-feature-scaling","post de normalização",", é a mesma ideia, só que agora aplicada pra escolher a ",[2366,28881,28882],{},"forma"," certa da feature, não só sua escala.",[289,28885,28887],{"id":28886},"normalizando-de-novo-versão-mais-extrema","Normalizando, de novo (versão mais extrema)",[11,28889,28890,28891,28919,28920,28978,28979,29037,29038,29041,29042,503,29070,29128,29129,29131],{},"Features polinomiais são o caso mais extremo de escalas diferentes que eu vi até agora: ",[75,28892,28894,28907],{"className":28893},[78],[75,28895,28897],{"className":28896},[82],[84,28898,28899],{"xmlns":86},[88,28900,28901,28905],{},[91,28902,28903],{},[97,28904,119],{},[140,28906,119],{"encoding":142},[75,28908,28910],{"className":28909,"ariaHidden":108},[147],[75,28911,28913,28916],{"className":28912},[151],[75,28914],{"className":28915,"style":329},[155],[75,28917,119],{"className":28918},[160,164]," vai até 19, ",[75,28921,28923,28940],{"className":28922},[78],[75,28924,28926],{"className":28925},[82],[84,28927,28928],{"xmlns":86},[88,28929,28930,28938],{},[91,28931,28932],{},[721,28933,28934,28936],{},[97,28935,119],{},[1316,28937,1318],{},[140,28939,1392],{"encoding":142},[75,28941,28943],{"className":28942,"ariaHidden":108},[147],[75,28944,28946,28949],{"className":28945},[151],[75,28947],{"className":28948,"style":1402},[155],[75,28950,28952,28955],{"className":28951},[160],[75,28953,119],{"className":28954},[160,164],[75,28956,28958],{"className":28957},[169],[75,28959,28961],{"className":28960},[173],[75,28962,28964],{"className":28963},[178],[75,28965,28967],{"className":28966,"style":1402},[182],[75,28968,28969,28972],{"style":767},[75,28970],{"className":28971,"style":191},[190],[75,28973,28975],{"className":28974},[195,196,197,198],[75,28976,1318],{"className":28977},[160,198]," até 361, ",[75,28980,28982,28999],{"className":28981},[78],[75,28983,28985],{"className":28984},[82],[84,28986,28987],{"xmlns":86},[88,28988,28989,28997],{},[91,28990,28991],{},[721,28992,28993,28995],{},[97,28994,119],{},[1316,28996,13659],{},[140,28998,28436],{"encoding":142},[75,29000,29002],{"className":29001,"ariaHidden":108},[147],[75,29003,29005,29008],{"className":29004},[151],[75,29006],{"className":29007,"style":1402},[155],[75,29009,29011,29014],{"className":29010},[160],[75,29012,119],{"className":29013},[160,164],[75,29015,29017],{"className":29016},[169],[75,29018,29020],{"className":29019},[173],[75,29021,29023],{"className":29022},[178],[75,29024,29026],{"className":29025,"style":1402},[182],[75,29027,29028,29031],{"style":767},[75,29029],{"className":29030,"style":191},[190],[75,29032,29034],{"className":29033},[195,196,197,198],[75,29035,13659],{"className":29036},[160,198]," até 6859, uma razão de ",[15,29039,29040],{},"361 vezes"," só entre ",[75,29043,29045,29058],{"className":29044},[78],[75,29046,29048],{"className":29047},[82],[84,29049,29050],{"xmlns":86},[88,29051,29052,29056],{},[91,29053,29054],{},[97,29055,119],{},[140,29057,119],{"encoding":142},[75,29059,29061],{"className":29060,"ariaHidden":108},[147],[75,29062,29064,29067],{"className":29063},[151],[75,29065],{"className":29066,"style":329},[155],[75,29068,119],{"className":29069},[160,164],[75,29071,29073,29090],{"className":29072},[78],[75,29074,29076],{"className":29075},[82],[84,29077,29078],{"xmlns":86},[88,29079,29080,29088],{},[91,29081,29082],{},[721,29083,29084,29086],{},[97,29085,119],{},[1316,29087,1318],{},[140,29089,1392],{"encoding":142},[75,29091,29093],{"className":29092,"ariaHidden":108},[147],[75,29094,29096,29099],{"className":29095},[151],[75,29097],{"className":29098,"style":1402},[155],[75,29100,29102,29105],{"className":29101},[160],[75,29103,119],{"className":29104},[160,164],[75,29106,29108],{"className":29107},[169],[75,29109,29111],{"className":29110},[173],[75,29112,29114],{"className":29113},[178],[75,29115,29117],{"className":29116,"style":1402},[182],[75,29118,29119,29122],{"style":767},[75,29120],{"className":29121,"style":191},[190],[75,29123,29125],{"className":29124},[195,196,197,198],[75,29126,1318],{"className":29127},[160,198],". Mesmo truque do ",[557,29130,9895],{"href":28877}," resolve: z-score em cada coluna, calculado só com o treino. O componente que eu construí pra esse post já normaliza por baixo dos panos antes de resolver, exatamente como fiz lá.",[289,29133,29135],{"id":29134},"uma-função-de-verdade-complicada","Uma função de verdade complicada",[11,29137,29138,29139,29216],{},"Com feature engineering dá pra modelar coisas bem mais malucas que uma parábola. Testei ",[75,29140,29142,29173],{"className":29141},[78],[75,29143,29145],{"className":29144},[82],[84,29146,29147],{"xmlns":86},[88,29148,29149,29170],{},[91,29150,29151,29153,29155,29158,29160,29162,29164,29166,29168],{},[97,29152,678],{},[106,29154,125],{},[97,29156,29157],{},"cos",[106,29159,20782],{},[106,29161,116],{"stretchy":115},[97,29163,119],{},[97,29165,20709],{"mathvariant":10324},[1316,29167,1318],{},[106,29169,122],{"stretchy":115},[140,29171,29172],{"encoding":142},"y = \\cos(x\u002F2)",[75,29174,29176,29194],{"className":29175,"ariaHidden":108},[147],[75,29177,29179,29182,29185,29188,29191],{"className":29178},[151],[75,29180],{"className":29181,"style":4281},[155],[75,29183,678],{"className":29184,"style":829},[160,164],[75,29186],{"className":29187,"style":242},[241],[75,29189,125],{"className":29190},[246],[75,29192],{"className":29193,"style":242},[241],[75,29195,29197,29200,29203,29206,29209,29213],{"className":29196},[151],[75,29198],{"className":29199,"style":2081},[155],[75,29201,29157],{"className":29202},[7166],[75,29204,116],{"className":29205},[230],[75,29207,119],{"className":29208},[160,164],[75,29210,29212],{"className":29211},[160],"\u002F2",[75,29214,122],{"className":29215},[237]," com um polinômio de grau até 13:",[27844,29218],{":initial-degree":1578,":max-degree":29219,":x-train":27846,":y-train":29220,"x-label":119,"y-label":29221},"13","[1.0,0.877583,0.540302,0.070737,-0.416147,-0.801144,-0.989992,-0.936457,-0.653644,-0.210796,0.283662,0.70867,0.96017,0.976588,0.753902,0.346635,-0.1455,-0.602012,-0.91113,-0.997172]","y = cos(x\u002F2)",[11,29223,29224,29225,29320,29321,29349,29350,29353,29354,29356,29357,29385],{},"Arrasta até o grau 13: RMSE cai pra ",[75,29226,29228,29255],{"className":29227},[78],[75,29229,29231],{"className":29230},[82],[84,29232,29233],{"xmlns":86},[88,29234,29235,29252],{},[91,29236,29237,29240,29242],{},[1316,29238,29239],{},"1.1",[106,29241,2599],{},[721,29243,29244,29246],{},[1316,29245,17222],{},[91,29247,29248,29250],{},[106,29249,4410],{},[1316,29251,14862],{},[140,29253,29254],{"encoding":142},"1.1\\times10^{-5}",[75,29256,29258,29276],{"className":29257,"ariaHidden":108},[147],[75,29259,29261,29264,29267,29270,29273],{"className":29260},[151],[75,29262],{"className":29263,"style":5070},[155],[75,29265,29239],{"className":29266},[160],[75,29268],{"className":29269,"style":270},[241],[75,29271,2599],{"className":29272},[274],[75,29274],{"className":29275,"style":270},[241],[75,29277,29279,29282,29285],{"className":29278},[151],[75,29280],{"className":29281,"style":1402},[155],[75,29283,1578],{"className":29284},[160],[75,29286,29288,29291],{"className":29287},[160],[75,29289,1835],{"className":29290},[160],[75,29292,29294],{"className":29293},[169],[75,29295,29297],{"className":29296},[173],[75,29298,29300],{"className":29299},[178],[75,29301,29303],{"className":29302,"style":1402},[182],[75,29304,29305,29308],{"style":767},[75,29306],{"className":29307,"style":191},[190],[75,29309,29311],{"className":29310},[195,196,197,198],[75,29312,29314,29317],{"className":29313},[160,198],[75,29315,4410],{"className":29316},[160,198],[75,29318,14862],{"className":29319},[160,198],", um ajuste praticamente perfeito nos 20 pontos de treino. E aqui eu troquei de ferramenta de propósito: em vez de gradiente descendente com ",[75,29322,29324,29337],{"className":29323},[78],[75,29325,29327],{"className":29326},[82],[84,29328,29329],{"xmlns":86},[88,29330,29331,29335],{},[91,29332,29333],{},[97,29334,10317],{},[140,29336,10803],{"encoding":142},[75,29338,29340],{"className":29339,"ariaHidden":108},[147],[75,29341,29343,29346],{"className":29342},[151],[75,29344],{"className":29345,"style":329},[155],[75,29347,10317],{"className":29348,"style":10433},[160,164]," ajustado na mão pra cada grau (o que o notebook original faz, e dá bastante trabalho), esse componente resolve por ",[15,29351,29352],{},"equação normal",", a mesma solução exata que eu já usei pra conferir resultado no ",[557,29355,9895],{"href":28877},". Isso deixa explorar vários graus instantâneo, sem caçar ",[75,29358,29360,29373],{"className":29359},[78],[75,29361,29363],{"className":29362},[82],[84,29364,29365],{"xmlns":86},[88,29366,29367,29371],{},[91,29368,29369],{},[97,29370,10317],{},[140,29372,10803],{"encoding":142},[75,29374,29376],{"className":29375,"ariaHidden":108},[147],[75,29377,29379,29382],{"className":29378},[151],[75,29380],{"className":29381,"style":329},[155],[75,29383,10317],{"className":29384,"style":10433},[160,164]," de novo, e sobra atenção pro que importa de verdade aqui: o que acontece quando o modelo fica flexível demais.",[289,29387,29389],{"id":29388},"o-elefante-na-sala-overfitting","O elefante na sala: overfitting",[11,29391,29392,29393,29396,29397,29400],{},"Acabei de ajustar ",[15,29394,29395],{},"14 parâmetros"," (13 pesos + o viés) a ",[15,29398,29399],{},"20 pontos"," de dado. O ajuste ficou lindo. Isso deveria acender um alerta, não uma comemoração, e é exatamente o que o lab original nunca faz.",[2371,29402,29404],{"id":29403},"primeira-surpresa-sem-ruído-flexibilidade-não-é-pecado","Primeira surpresa: sem ruído, flexibilidade não é pecado",[11,29406,29407],{},"Separei os 20 pontos em 10 de treino (índices pares) e 10 de teste (índices ímpares), sem nenhum ruído nos dados:",[516,29409,29410,29426],{},[519,29411,29412],{},[522,29413,29414,29417,29420,29423],{},[525,29415,29416],{"align":1648},"Grau",[525,29418,29419],{"align":18353},"RMSE treino",[525,29421,29422],{"align":18353},"RMSE teste",[525,29424,29425],{"align":18353},"razão teste\u002Ftreino",[536,29427,29428,29441,29454,29467,29479],{},[522,29429,29430,29432,29435,29438],{},[541,29431,1578],{"align":1648},[541,29433,29434],{"align":18353},"0.708",[541,29436,29437],{"align":18353},"0.709",[541,29439,29440],{"align":18353},"1.0x",[522,29442,29443,29445,29448,29451],{},[541,29444,13659],{"align":1648},[541,29446,29447],{"align":18353},"0.323",[541,29449,29450],{"align":18353},"0.421",[541,29452,29453],{"align":18353},"1.3x",[522,29455,29456,29458,29461,29464],{},[541,29457,14862],{"align":1648},[541,29459,29460],{"align":18353},"0.043",[541,29462,29463],{"align":18353},"0.141",[541,29465,29466],{"align":18353},"3.3x",[522,29468,29469,29471,29473,29476],{},[541,29470,19637],{"align":1648},[541,29472,13674],{"align":18353},[541,29474,29475],{"align":18353},"0.039",[541,29477,29478],{"align":18353},"21.4x",[522,29480,29481,29483,29486,29489],{},[541,29482,19624],{"align":1648},[541,29484,29485],{"align":18353},"0.000",[541,29487,29488],{"align":18353},"0.009",[541,29490,29491],{"align":18353},"24529x",[11,29493,29494,29495,29498,29499,29502],{},"Reparei numa coisa: no grau 9 (10 parâmetros pra 10 pontos de treino, o limite exato de solução única), a razão teste\u002Ftreino parece uma catástrofe (24529 vezes!), mas o erro de teste ",[15,29496,29497],{},"em número absoluto"," continua pequeno (0.009). Isso contraria o slogan de \"muitos parâmetros sempre causam overfitting\". A afirmação certa é mais sutil: ",[15,29500,29501],{},"overfitting é o modelo ajustar o ruído",", não simplesmente ter muitos parâmetros. Sem ruído nenhum pra ajustar, um modelo flexível interpola bem, mesmo no limite extremo.",[2371,29504,29506],{"id":29505},"com-ruído-o-fenômeno-aparece-de-verdade","Com ruído, o fenômeno aparece de verdade",[11,29508,29509],{},"Dado real sempre tem ruído. Adicionei um ruído modesto (desvio-padrão 0.15) e refiz o teste, agora comparando vários graus de uma vez:",[29511,29512],"train-test-curve-chart",{":points":29513,"test-label":29514,"train-label":29515},"[{\"degree\":1,\"trainRmse\":0.74482,\"testRmse\":0.7491},{\"degree\":2,\"trainRmse\":0.73486,\"testRmse\":0.76026},{\"degree\":3,\"trainRmse\":0.31894,\"testRmse\":0.42316},{\"degree\":4,\"trainRmse\":0.31481,\"testRmse\":0.4589},{\"degree\":5,\"trainRmse\":0.08323,\"testRmse\":0.27673},{\"degree\":6,\"trainRmse\":0.07051,\"testRmse\":0.1808},{\"degree\":7,\"trainRmse\":0.01868,\"testRmse\":0.45143},{\"degree\":8,\"trainRmse\":0.01212,\"testRmse\":0.72573},{\"degree\":9,\"trainRmse\":0.0,\"testRmse\":1.71735}]","teste","treino",[11,29517,29518],{},"O erro de treino só cai (mais parâmetros sempre ajustam melhor o que já foi visto, isso é praticamente um teorema, não uma coincidência). O erro de teste cai, atinge um mínimo por volta do grau 6, e depois sobe forte, chegando a 1.72 no grau 9, pior que um ajuste de grau 1. É esse mínimo que interessa, não o grau que zera o erro de treino.",[11,29520,29521],{},"Testa você mesmo, só com os 10 pontos de treino ruidosos (arrasta o grau e observa o RMSE de teste ao vivo, calculado nos 10 pontos que o ajuste nunca viu):",[27844,29523],{":initial-degree":1578,":max-degree":19624,":x-train":29524,":y-train":29525,"x-label":119,"y-label":29526,":x-test":29527,":y-test":29528},"[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]","[1.193228, 0.550253, -0.579973, -1.143308, -0.623747, 0.365632, 0.960921, 0.528028, -0.097393, -0.880685]","y (com ruído)","[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]","[1.094999, -0.043944, -0.796443, -1.151981, -0.19079, 0.571574, 0.966876, 0.427335, -0.243645, -1.018878]",[2371,29530,29532],{"id":29531},"extrapolação-onde-fica-realmente-perigoso","Extrapolação: onde fica realmente perigoso",[11,29534,29535,29536,29539,29540,29568,29569,29572],{},"Tudo até aqui foi ",[2366,29537,29538],{},"dentro"," da faixa de treino (",[75,29541,29543,29556],{"className":29542},[78],[75,29544,29546],{"className":29545},[82],[84,29547,29548],{"xmlns":86},[88,29549,29550,29554],{},[91,29551,29552],{},[97,29553,119],{},[140,29555,119],{"encoding":142},[75,29557,29559],{"className":29558,"ariaHidden":108},[147],[75,29560,29562,29565],{"className":29561},[151],[75,29563],{"className":29564,"style":329},[155],[75,29566,119],{"className":29567},[160,164]," de 0 a 19). Fora dela, o comportamento me surpreendeu, e não do jeito que eu esperava. Arrasta o grau pra 13 no simulador abaixo (a faixa verde marca onde os dados de treino realmente estavam) e repara: logo depois da borda, o ajuste de grau 13 continua ",[15,29570,29571],{},"melhor"," que um grau baixo por alguns pontos, porque ele aprendeu o formato da curva com muita precisão bem na borda. A armadilha é justamente essa falsa confiança: continua arrastando o eixo pra frente, e o mesmo grau 13 que parecia seguro dispara pro infinito muito mais rápido que qualquer grau baixo.",[27844,29574],{":initial-degree":13659,":max-degree":29219,":x-train":27846,":y-train":29220,"x-label":119,"y-label":29221,":view-max":26123,":view-min":29575},"-3",[11,29577,29578,29579,29631,29632,29667,29668,29697,29698,29727,29728,29779,29780,29815,29816,29845,29846,29903],{},"Calculei os números pra confirmar o que o olho vê: em ",[75,29580,29582,29601],{"className":29581},[78],[75,29583,29585],{"className":29584},[82],[84,29586,29587],{"xmlns":86},[88,29588,29589,29598],{},[91,29590,29591,29593,29595],{},[97,29592,119],{},[106,29594,125],{},[1316,29596,29597],{},"22",[140,29599,29600],{"encoding":142},"x=22",[75,29602,29604,29622],{"className":29603,"ariaHidden":108},[147],[75,29605,29607,29610,29613,29616,29619],{"className":29606},[151],[75,29608],{"className":29609,"style":329},[155],[75,29611,119],{"className":29612},[160,164],[75,29614],{"className":29615,"style":242},[241],[75,29617,125],{"className":29618},[246],[75,29620],{"className":29621,"style":242},[241],[75,29623,29625,29628],{"className":29624},[151],[75,29626],{"className":29627,"style":1609},[155],[75,29629,29597],{"className":29630},[160],", três unidades depois da borda, o grau 3 já erra por ",[75,29633,29635,29652],{"className":29634},[78],[75,29636,29638],{"className":29637},[82],[84,29639,29640],{"xmlns":86},[88,29641,29642,29649],{},[91,29643,29644,29646],{},[106,29645,4410],{},[1316,29647,29648],{},"5.42",[140,29650,29651],{"encoding":142},"-5.42",[75,29653,29655],{"className":29654,"ariaHidden":108},[147],[75,29656,29658,29661,29664],{"className":29657},[151],[75,29659],{"className":29660,"style":5070},[155],[75,29662,4410],{"className":29663},[160],[75,29665,29648],{"className":29666},[160]," (o valor real é ",[75,29669,29671,29685],{"className":29670},[78],[75,29672,29674],{"className":29673},[82],[84,29675,29676],{"xmlns":86},[88,29677,29678,29683],{},[91,29679,29680],{},[1316,29681,29682],{},"0.004",[140,29684,29682],{"encoding":142},[75,29686,29688],{"className":29687,"ariaHidden":108},[147],[75,29689,29691,29694],{"className":29690},[151],[75,29692],{"className":29693,"style":1609},[155],[75,29695,29682],{"className":29696},[160],") enquanto o grau 13 acerta em ",[75,29699,29701,29715],{"className":29700},[78],[75,29702,29704],{"className":29703},[82],[84,29705,29706],{"xmlns":86},[88,29707,29708,29713],{},[91,29709,29710],{},[1316,29711,29712],{},"0.03",[140,29714,29712],{"encoding":142},[75,29716,29718],{"className":29717,"ariaHidden":108},[147],[75,29719,29721,29724],{"className":29720},[151],[75,29722],{"className":29723,"style":1609},[155],[75,29725,29712],{"className":29726},[160],", quase perfeito. Só que em ",[75,29729,29731,29749],{"className":29730},[78],[75,29732,29734],{"className":29733},[82],[84,29735,29736],{"xmlns":86},[88,29737,29738,29746],{},[91,29739,29740,29742,29744],{},[97,29741,119],{},[106,29743,125],{},[1316,29745,26123],{},[140,29747,29748],{"encoding":142},"x=30",[75,29750,29752,29770],{"className":29751,"ariaHidden":108},[147],[75,29753,29755,29758,29761,29764,29767],{"className":29754},[151],[75,29756],{"className":29757,"style":329},[155],[75,29759,119],{"className":29760},[160,164],[75,29762],{"className":29763,"style":242},[241],[75,29765,125],{"className":29766},[246],[75,29768],{"className":29769,"style":242},[241],[75,29771,29773,29776],{"className":29772},[151],[75,29774],{"className":29775,"style":1609},[155],[75,29777,26123],{"className":29778},[160],", o grau 3 errou \"só\" por ",[75,29781,29783,29800],{"className":29782},[78],[75,29784,29786],{"className":29785},[82],[84,29787,29788],{"xmlns":86},[88,29789,29790,29797],{},[91,29791,29792,29794],{},[106,29793,4410],{},[1316,29795,29796],{},"31",[140,29798,29799],{"encoding":142},"-31",[75,29801,29803],{"className":29802,"ariaHidden":108},[147],[75,29804,29806,29809,29812],{"className":29805},[151],[75,29807],{"className":29808,"style":5070},[155],[75,29810,4410],{"className":29811},[160],[75,29813,29796],{"className":29814},[160]," (ruim, mas crescendo devagar), e o grau 13 já está em ",[75,29817,29819,29833],{"className":29818},[78],[75,29820,29822],{"className":29821},[82],[84,29823,29824],{"xmlns":86},[88,29825,29826,29831],{},[91,29827,29828],{},[1316,29829,29830],{},"86",[140,29832,29830],{"encoding":142},[75,29834,29836],{"className":29835,"ariaHidden":108},[147],[75,29837,29839,29842],{"className":29838},[151],[75,29840],{"className":29841,"style":1609},[155],[75,29843,29830],{"className":29844},[160],", um valor absurdo pra uma função que nunca sai de ",[75,29847,29849,29873],{"className":29848},[78],[75,29850,29852],{"className":29851},[82],[84,29853,29854],{"xmlns":86},[88,29855,29856,29870],{},[91,29857,29858,29860,29862,29864,29866,29868],{},[106,29859,22894],{"stretchy":115},[106,29861,4410],{},[1316,29863,1578],{},[106,29865,109],{"separator":108},[1316,29867,1578],{},[106,29869,22903],{"stretchy":115},[140,29871,29872],{"encoding":142},"[-1,1]",[75,29874,29876],{"className":29875,"ariaHidden":108},[147],[75,29877,29879,29882,29885,29888,29891,29894,29897,29900],{"className":29878},[151],[75,29880],{"className":29881,"style":2081},[155],[75,29883,22894],{"className":29884},[230],[75,29886,4410],{"className":29887},[160],[75,29889,1578],{"className":29890},[160],[75,29892,109],{"className":29893},[209],[75,29895],{"className":29896,"style":263},[241],[75,29898,1578],{"className":29899},[160],[75,29901,22903],{"className":29902},[237],". Regra prática que eu levo comigo: nunca confio em previsão polinomial fora do intervalo de treino, principalmente quanto maior o grau, porque o desastre não é imediato, é traiçoeiro.",[289,29905,5960],{"id":5959},[516,29907,29908,29916],{},[519,29909,29910],{},[522,29911,29912,29914],{},[525,29913,26194],{"align":527},[525,29915,26197],{"align":527},[536,29917,29918,29926,29934],{},[522,29919,29920,29923],{},[541,29921,29922],{"align":527},"Regressão linear só ajusta reta",[541,29924,29925],{"align":527},"Criando features novas (potências, logs, razões), a mesma regressão ajusta qualquer curva",[522,29927,29928,29931],{},[541,29929,29930],{"align":527},"Mais parâmetros ajustam melhor o que já foi visto",[541,29932,29933],{"align":527},"Isso é quase um teorema, e é exatamente por isso que erro de treino não serve pra escolher modelo",[522,29935,29936,29939],{},[541,29937,29938],{"align":527},"Vale de custo é convexo",[541,29940,29941],{"align":527},"Convexo não impede overfitting: o problema não é a otimização, é o modelo decorar o ruído",[11,29943,6275],{},[294,29945,29946,29952,29958],{},[297,29947,29948,29951],{},[15,29949,29950],{},"Engenharia de features não muda o algoritmo",", muda os dados que entram nele. A mesma regressão linear aprende qualquer curva se você der a ela a feature certa.",[297,29953,29954,29957],{},[15,29955,29956],{},"Overfitting é sobre ruído, não sobre contagem de parâmetro",": um modelo flexível sem ruído pra ajustar generaliza bem, mesmo no limite. O perigo aparece quando existe ruído pra decorar.",[297,29959,29960,29963],{},[15,29961,29962],{},"Extrapolação com polinômio de grau alto é traiçoeira",": pode parecer melhor que um grau baixo logo depois da borda dos dados, e ainda assim explodir muito mais forte um pouco mais além.",[11,29965,29966,29967,29970,29971,1613],{},"Ainda sobra uma pergunta: dá pra usar toda a flexibilidade de um grau alto ",[15,29968,29969],{},"sem"," pagar o preço do overfitting? Existe uma resposta com um botão contínuo em vez da escolha discreta de grau, chamada regularização, e ela é ",[557,29972,29974],{"href":29973},"\u002Fplaylists\u002Fmachine-learning-specialization\u002Ffeature-engineering-pitfalls","o assunto do próximo post",[289,29976,6484],{"id":6483},[11,29978,29979,29980,29984,29985,29988],{},"Mesmo dataset real de 50 casas dos posts anteriores. ",[557,29981,29983],{"href":29982},"\u002Fplaylists\u002Fmachine-learning-specialization\u002Ffeature-scaling-pitfalls","No post bônus de normalização"," eu já tinha deixado a promessa: \"engenharia de features é o tema do próximo lab\". Cumprindo: criei a feature ",[65,29986,29987],{},"tamanho_por_quarto = square_feet \u002F num_bedrooms"," e comparei o ajuste com e sem ela.",[2376,29990,29992],{"className":2378,"code":29991,"language":2380,"meta":26,"style":26},"tamanho_por_quarto = [s \u002F b for s, b in zip(square_feet, num_bedrooms)]\n\nrmse_sem = ajusta_avalia([square_feet, num_bedrooms, nota_localizacao, distancia_centro], preco)\nrmse_com = ajusta_avalia([square_feet, num_bedrooms, nota_localizacao, distancia_centro, tamanho_por_quarto], preco)\n",[65,29993,29994,29999,30003,30008],{"__ignoreMap":26},[75,29995,29996],{"class":2385,"line":33},[75,29997,29998],{},"tamanho_por_quarto = [s \u002F b for s, b in zip(square_feet, num_bedrooms)]\n",[75,30000,30001],{"class":2385,"line":27},[75,30002,2422],{"emptyLinePlaceholder":32},[75,30004,30005],{"class":2385,"line":2396},[75,30006,30007],{},"rmse_sem = ajusta_avalia([square_feet, num_bedrooms, nota_localizacao, distancia_centro], preco)\n",[75,30009,30010],{"class":2385,"line":2401},[75,30011,30012],{},"rmse_com = ajusta_avalia([square_feet, num_bedrooms, nota_localizacao, distancia_centro, tamanho_por_quarto], preco)\n",[46,30014,30015],{},[11,30016,30017,1286,30019,9978,30022,30025],{},[15,30018,2458],{},[65,30020,30021],{},"RMSE sem a feature nova: 67.25",[65,30023,30024],{},"RMSE com a feature nova: 65.13"," (em mil dólares)",[11,30027,30028,30029,30032,30033,30036,30037,1613],{},"Uma melhora real, mas modesta (cerca de 3%). Curioso: a correlação direta entre ",[65,30030,30031],{},"tamanho_por_quarto"," e o preço é quase nula (0.0069, bem pertinho de zero), então se eu só olhasse a correlação isolada eu descartaria essa feature. Ela só ajuda quando entra ",[15,30034,30035],{},"junto"," com as outras, o mesmo tipo de efeito escondido que eu já vi com o coeficiente de quartos no ",[557,30038,9895],{"href":28877},[30040,30041],"housing-feature-engineering-explorer",{},[6712,30043,6714],{},{"title":26,"searchDepth":27,"depth":27,"links":30045},[30046,30047,30048,30049,30050,30051,30056,30057],{"id":26801,"depth":27,"text":26802},{"id":27601,"depth":27,"text":27602},{"id":27944,"depth":27,"text":27945},{"id":28886,"depth":27,"text":28887},{"id":29134,"depth":27,"text":29135},{"id":29388,"depth":27,"text":29389,"children":30052},[30053,30054,30055],{"id":29403,"depth":2396,"text":29404},{"id":29505,"depth":2396,"text":29506},{"id":29531,"depth":2396,"text":29532},{"id":5959,"depth":27,"text":5960},{"id":6483,"depth":27,"text":6484},"Como fazer a mesma regressão linear de sempre ajustar curvas, criando features novas em vez de trocar de algoritmo, e por que isso me obrigou a encarar de vez o overfitting.",{},"\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab04-feature-engineering",{"title":26787,"description":30058},"pt\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab04-feature-engineering",[30064,30065,9392],"engenharia-de-features","regressao-polinomial","sqnxKae-PE8HWa_b644EiDGvFgMAf4qC_d9tyo19VeM",{"id":30068,"title":30069,"body":30070,"cover":3,"date":26774,"description":33669,"extension":30,"meta":33670,"navigation":32,"order":2437,"path":33671,"playlist":6743,"seo":33672,"status":36,"stem":33673,"tags":33674,"__hash__":33677},"posts\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab05-scikit-learn.md","Regressão Linear com Scikit-Learn",{"type":8,"value":30071,"toc":33653},[30072,30078,30081,30085,30097,30184,30203,30225,30232,30455,30462,30470,30509,30958,30968,31247,31285,31290,31294,31299,31302,31305,31316,31558,31565,31572,31595,31605,31609,31622,32008,32011,32465,32575,32692,32735,32739,32753,32757,32789,32837,32844,32854,33183,33385,33401,33403,33439,33441,33476,33478,33587,33594,33626,33636,33643,33645,33648,33651],[11,30073,30074],{},[57,30075],{"alt":30076,"src":30077},"Meme \"Rick and Morty\" de três quadrinhos: no primeiro, um robô pergunta \"QUAL É O MEU PROPÓSITO?\" com o rótulo \"scikit-learn\". No segundo, Rick responde \"VOCÊ SEPARA OS DADOS\". No terceiro, o robô diz \"AH MEU DEUS\"","\u002Fimages\u002Fposts\u002Fmachine-learning-specialization\u002Fw2-lab05-scikit-learn\u002Fmeme-scikitlearn.jpeg",[11,30079,30080],{},"Depois de quatro posts implementando gradiente descendente, normalização e engenharia de features inteiramente na mão, chegou a hora de usar a ferramenta de verdade. E o primeiro choque foi descobrir que o modelo \"padrão\" que o curso usa aqui não é bem o que parece.",[289,30082,30084],{"id":30083},"a-convenção-da-api-mais-importante-que-o-modelo-em-si","A convenção da API, mais importante que o modelo em si",[11,30086,14881,30087,30092,30093,30096],{},[557,30088,30091],{"href":30089,"rel":30090},"https:\u002F\u002Fscikit-learn.org\u002F",[6492],"scikit-learn"," traz implementação pronta e testada de boa parte do que eu já fiz na mão. Mas o que mais importa aprender aqui não é o modelo específico, é a ",[15,30094,30095],{},"convenção de API",", porque ela se repete idêntica em centenas de modelos e transformadores:",[516,30098,30099,30111],{},[519,30100,30101],{},[522,30102,30103,30106,30108],{},[525,30104,30105],{"align":527},"Método",[525,30107,7688],{"align":527},[525,30109,30110],{"align":527},"Quem tem",[536,30112,30113,30126,30139,30152,30171],{},[522,30114,30115,30120,30123],{},[541,30116,30117],{"align":527},[65,30118,30119],{},".fit(X, y)",[541,30121,30122],{"align":527},"aprende os parâmetros a partir dos dados",[541,30124,30125],{"align":527},"todo estimador",[522,30127,30128,30133,30136],{},[541,30129,30130],{"align":527},[65,30131,30132],{},".predict(X)",[541,30134,30135],{"align":527},"usa os parâmetros aprendidos pra prever",[541,30137,30138],{"align":527},"modelos preditivos",[522,30140,30141,30146,30149],{},[541,30142,30143],{"align":527},[65,30144,30145],{},".transform(X)",[541,30147,30148],{"align":527},"aplica uma transformação já aprendida",[541,30150,30151],{"align":527},"transformadores",[522,30153,30154,30159,30169],{},[541,30155,30156],{"align":527},[65,30157,30158],{},".fit_transform(X)",[541,30160,30161,30162,30165,30166],{"align":527},"atalho pra ",[65,30163,30164],{},"fit"," seguido de ",[65,30167,30168],{},"transform",[541,30170,30151],{"align":527},[522,30172,30173,30178,30181],{},[541,30174,30175],{"align":527},[65,30176,30177],{},".score(X, y)",[541,30179,30180],{"align":527},"métrica padrão do estimador (R² em regressão)",[541,30182,30183],{"align":527},"quase todos",[11,30185,30186,30187,499,30190,499,30193,499,30196,499,30199,30202],{},"Atributos aprendidos terminam com underscore: ",[65,30188,30189],{},"coef_",[65,30191,30192],{},"intercept_",[65,30194,30195],{},"mean_",[65,30197,30198],{},"scale_",[65,30200,30201],{},"n_iter_",". Esse underscore no fim é a convenção que distingue \"aprendido com os dados\" de \"configurado por mim\".",[11,30204,30205,30206,30208,30209,30211,30212,503,30214,30217,30218,1286,30221,30224],{},"A regra de ouro que vem junto: ",[65,30207,30164],{}," só pode ver dado de ",[15,30210,29515],{},". Em dado de teste, só ",[65,30213,30168],{},[65,30215,30216],{},"predict",". Violar isso é vazamento de dado, e é o erro mais comum de quem tá começando (já bati nessa tecla nos ",[557,30219,30220],{"href":29982},"dois posts",[557,30222,30223],{"href":29973},"bônus anteriores",").",[289,30226,30228,30231],{"id":30227},"standardscaler-o-z-score-que-eu-já-fiz-na-mão",[65,30229,30230],{},"StandardScaler",": o z-score que eu já fiz na mão",[11,30233,30234,30236,30237,6297,30239,30373,30374,30402,30403,30454],{},[65,30235,30230],{}," faz exatamente a conta que eu implementei no ",[557,30238,28878],{"href":28877},[75,30240,30242,30270],{"className":30241},[78],[75,30243,30245],{"className":30244},[82],[84,30246,30247],{"xmlns":86},[88,30248,30249,30267],{},[91,30250,30251,30253,30255],{},[97,30252,119],{},[106,30254,22691],{},[4392,30256,30257,30265],{},[91,30258,30259,30261,30263],{},[97,30260,119],{},[106,30262,4410],{},[97,30264,21951],{},[97,30266,23949],{},[140,30268,30269],{"encoding":142},"x \\leftarrow \\frac{x-\\mu}{\\sigma}",[75,30271,30273,30291],{"className":30272,"ariaHidden":108},[147],[75,30274,30276,30279,30282,30285,30288],{"className":30275},[151],[75,30277],{"className":30278,"style":329},[155],[75,30280,119],{"className":30281},[160,164],[75,30283],{"className":30284,"style":242},[241],[75,30286,22691],{"className":30287},[246],[75,30289],{"className":30290,"style":242},[241],[75,30292,30294,30298],{"className":30293},[151],[75,30295],{"className":30296,"style":30297},[155],"height:1.1994em;vertical-align:-0.345em;",[75,30299,30301,30304,30370],{"className":30300},[160],[75,30302],{"className":30303},[230,4513],[75,30305,30307],{"className":30306},[4392],[75,30308,30310,30362],{"className":30309},[173,174],[75,30311,30313,30359],{"className":30312},[178],[75,30314,30317,30331,30339],{"className":30315,"style":30316},[182],"height:0.8544em;",[75,30318,30319,30322],{"style":4780},[75,30320],{"className":30321,"style":4533},[190],[75,30323,30325],{"className":30324},[195,196,197,198],[75,30326,30328],{"className":30327},[160,198],[75,30329,23949],{"className":30330,"style":829},[160,164,198],[75,30332,30333,30336],{"style":4626},[75,30334],{"className":30335,"style":4533},[190],[75,30337],{"className":30338,"style":4634},[4633],[75,30340,30341,30344],{"style":4637},[75,30342],{"className":30343,"style":4533},[190],[75,30345,30347],{"className":30346},[195,196,197,198],[75,30348,30350,30353,30356],{"className":30349},[160,198],[75,30351,119],{"className":30352},[160,164,198],[75,30354,4410],{"className":30355},[274,198],[75,30357,21951],{"className":30358},[160,164,198],[75,30360,217],{"className":30361},[216],[75,30363,30365],{"className":30364},[178],[75,30366,30368],{"className":30367,"style":7154},[182],[75,30369],{},[75,30371],{"className":30372},[237,4513],", coluna a coluna. Conferi e bate dígito a dígito com o meu z-score manual, inclusive usando a mesma convenção de desvio-padrão populacional (dividir por ",[75,30375,30377,30390],{"className":30376},[78],[75,30378,30380],{"className":30379},[82],[84,30381,30382],{"xmlns":86},[88,30383,30384,30388],{},[91,30385,30386],{},[97,30387,317],{},[140,30389,317],{"encoding":142},[75,30391,30393],{"className":30392,"ariaHidden":108},[147],[75,30394,30396,30399],{"className":30395},[151],[75,30397],{"className":30398,"style":329},[155],[75,30400,317],{"className":30401},[160,164],", não por ",[75,30404,30406,30424],{"className":30405},[78],[75,30407,30409],{"className":30408},[82],[84,30410,30411],{"xmlns":86},[88,30412,30413,30421],{},[91,30414,30415,30417,30419],{},[97,30416,317],{},[106,30418,4410],{},[1316,30420,1578],{},[140,30422,30423],{"encoding":142},"m-1",[75,30425,30427,30445],{"className":30426,"ariaHidden":108},[147],[75,30428,30430,30433,30436,30439,30442],{"className":30429},[151],[75,30431],{"className":30432,"style":256},[155],[75,30434,317],{"className":30435},[160,164],[75,30437],{"className":30438,"style":270},[241],[75,30440,4410],{"className":30441},[274],[75,30443],{"className":30444,"style":270},[241],[75,30446,30448,30451],{"className":30447},[151],[75,30449],{"className":30450,"style":1609},[155],[75,30452,1578],{"className":30453},[160],") que eu já usava.",[289,30456,30458,30461],{"id":30457},"sgdregressor-e-o-que-o-s-significa",[65,30459,30460],{},"SGDRegressor"," e o que o \"S\" significa",[11,30463,30464,30465,30467,30468,1613],{},"O curso usa ",[65,30466,30460],{}," sem nunca explicar a sigla. Vale parar nisso, porque é a diferença real entre esse modelo e o gradiente descendente que eu implementei ",[557,30469,14896],{"href":3833},[11,30471,30472,30475,30476,30479,30480,30508],{},[15,30473,30474],{},"Gradiente descendente batch"," (o que eu fiz até aqui): cada passo usa ",[15,30477,30478],{},"todos"," os ",[75,30481,30483,30496],{"className":30482},[78],[75,30484,30486],{"className":30485},[82],[84,30487,30488],{"xmlns":86},[88,30489,30490,30494],{},[91,30491,30492],{},[97,30493,317],{},[140,30495,317],{"encoding":142},[75,30497,30499],{"className":30498,"ariaHidden":108},[147],[75,30500,30502,30505],{"className":30501},[151],[75,30503],{"className":30504,"style":329},[155],[75,30506,317],{"className":30507},[160,164]," exemplos pra calcular o gradiente.",[11,30510,30511],{},[75,30512,30514,30614],{"className":30513},[78],[75,30515,30517],{"className":30516},[82],[84,30518,30519],{"xmlns":86},[88,30520,30521,30611],{},[91,30522,30523,30525,30527,30529,30531,30533,30535,30541,30561,30599],{},[97,30524,104],{"mathvariant":596},[106,30526,22691],{},[97,30528,104],{"mathvariant":596},[106,30530,4410],{},[97,30532,10317],{},[129,30534,131],{},[4392,30536,30537,30539],{},[1316,30538,1578],{},[97,30540,317],{},[6966,30542,30543,30545,30553],{},[106,30544,6970],{},[91,30546,30547,30549,30551],{},[97,30548,731],{},[106,30550,125],{},[1316,30552,1835],{},[91,30554,30555,30557,30559],{},[97,30556,317],{},[106,30558,4410],{},[1316,30560,1578],{},[91,30562,30563,30565,30567,30569,30581,30583,30585,30597],{},[106,30564,116],{"fence":108},[97,30566,99],{},[106,30568,116],{"stretchy":115},[721,30570,30571,30573],{},[97,30572,119],{"mathvariant":596},[91,30574,30575,30577,30579],{},[106,30576,116],{"stretchy":115},[97,30578,731],{},[106,30580,122],{"stretchy":115},[106,30582,122],{"stretchy":115},[106,30584,4410],{},[721,30586,30587,30589],{},[97,30588,678],{},[91,30590,30591,30593,30595],{},[106,30592,116],{"stretchy":115},[97,30594,731],{},[106,30596,122],{"stretchy":115},[106,30598,122],{"fence":108},[721,30600,30601,30603],{},[97,30602,119],{"mathvariant":596},[91,30604,30605,30607,30609],{},[106,30606,116],{"stretchy":115},[97,30608,731],{},[106,30610,122],{"stretchy":115},[140,30612,30613],{"encoding":142},"\\mathbf{w} \\leftarrow \\mathbf{w} - \\alpha\\,\\frac{1}{m}\\sum_{i=0}^{m-1}\\left(f(\\mathbf{x}^{(i)}) - y^{(i)}\\right)\\mathbf{x}^{(i)}",[75,30615,30617,30635,30653],{"className":30616,"ariaHidden":108},[147],[75,30618,30620,30623,30626,30629,30632],{"className":30619},[151],[75,30621],{"className":30622,"style":609},[155],[75,30624,104],{"className":30625,"style":695},[160,613],[75,30627],{"className":30628,"style":242},[241],[75,30630,22691],{"className":30631},[246],[75,30633],{"className":30634,"style":242},[241],[75,30636,30638,30641,30644,30647,30650],{"className":30637},[151],[75,30639],{"className":30640,"style":256},[155],[75,30642,104],{"className":30643,"style":695},[160,613],[75,30645],{"className":30646,"style":270},[241],[75,30648,4410],{"className":30649},[274],[75,30651],{"className":30652,"style":270},[241],[75,30654,30656,30659,30662,30665,30733,30736,30805,30808,30917,30920],{"className":30655},[151],[75,30657],{"className":30658,"style":11474},[155],[75,30660,10317],{"className":30661,"style":10433},[160,164],[75,30663],{"className":30664,"style":263},[241],[75,30666,30668,30671,30730],{"className":30667},[160],[75,30669],{"className":30670},[230,4513],[75,30672,30674],{"className":30673},[4392],[75,30675,30677,30722],{"className":30676},[173,174],[75,30678,30680,30719],{"className":30679},[178],[75,30681,30683,30697,30705],{"className":30682,"style":4777},[182],[75,30684,30685,30688],{"style":4780},[75,30686],{"className":30687,"style":4533},[190],[75,30689,30691],{"className":30690},[195,196,197,198],[75,30692,30694],{"className":30693},[160,198],[75,30695,317],{"className":30696},[160,164,198],[75,30698,30699,30702],{"style":4626},[75,30700],{"className":30701,"style":4533},[190],[75,30703],{"className":30704,"style":4634},[4633],[75,30706,30707,30710],{"style":4809},[75,30708],{"className":30709,"style":4533},[190],[75,30711,30713],{"className":30712},[195,196,197,198],[75,30714,30716],{"className":30715},[160,198],[75,30717,1578],{"className":30718},[160,198],[75,30720,217],{"className":30721},[216],[75,30723,30725],{"className":30724},[178],[75,30726,30728],{"className":30727,"style":7154},[182],[75,30729],{},[75,30731],{"className":30732},[237,4513],[75,30734],{"className":30735,"style":263},[241],[75,30737,30739,30742],{"className":30738},[7166],[75,30740,6970],{"className":30741,"style":7172},[7166,7170,7171],[75,30743,30745],{"className":30744},[169],[75,30746,30748,30797],{"className":30747},[173,174],[75,30749,30751,30794],{"className":30750},[178],[75,30752,30754,30774],{"className":30753,"style":7185},[182],[75,30755,30756,30759],{"style":7188},[75,30757],{"className":30758,"style":191},[190],[75,30760,30762],{"className":30761},[195,196,197,198],[75,30763,30765,30768,30771],{"className":30764},[160,198],[75,30766,731],{"className":30767},[160,164,198],[75,30769,125],{"className":30770},[246,198],[75,30772,1835],{"className":30773},[160,198],[75,30775,30776,30779],{"style":7209},[75,30777],{"className":30778,"style":191},[190],[75,30780,30782],{"className":30781},[195,196,197,198],[75,30783,30785,30788,30791],{"className":30784},[160,198],[75,30786,317],{"className":30787},[160,164,198],[75,30789,4410],{"className":30790},[274,198],[75,30792,1578],{"className":30793},[160,198],[75,30795,217],{"className":30796},[216],[75,30798,30800],{"className":30799},[178],[75,30801,30803],{"className":30802,"style":7237},[182],[75,30804],{},[75,30806],{"className":30807,"style":263},[241],[75,30809,30811,30817,30820,30823,30861,30864,30867,30870,30873,30911],{"className":30810},[7246],[75,30812,30814],{"className":30813,"style":7254},[230,7253],[75,30815,116],{"className":30816},[7258,4570],[75,30818,99],{"className":30819,"style":165},[160,164],[75,30821,116],{"className":30822},[230],[75,30824,30826,30829],{"className":30825},[160],[75,30827,119],{"className":30828},[160,613],[75,30830,30832],{"className":30831},[169],[75,30833,30835],{"className":30834},[173],[75,30836,30838],{"className":30837},[178],[75,30839,30841],{"className":30840,"style":746},[182],[75,30842,30843,30846],{"style":767},[75,30844],{"className":30845,"style":191},[190],[75,30847,30849],{"className":30848},[195,196,197,198],[75,30850,30852,30855,30858],{"className":30851},[160,198],[75,30853,116],{"className":30854},[230,198],[75,30856,731],{"className":30857},[160,164,198],[75,30859,122],{"className":30860},[237,198],[75,30862,122],{"className":30863},[237],[75,30865],{"className":30866,"style":270},[241],[75,30868,4410],{"className":30869},[274],[75,30871],{"className":30872,"style":270},[241],[75,30874,30876,30879],{"className":30875},[160],[75,30877,678],{"className":30878,"style":829},[160,164],[75,30880,30882],{"className":30881},[169],[75,30883,30885],{"className":30884},[173],[75,30886,30888],{"className":30887},[178],[75,30889,30891],{"className":30890,"style":746},[182],[75,30892,30893,30896],{"style":767},[75,30894],{"className":30895,"style":191},[190],[75,30897,30899],{"className":30898},[195,196,197,198],[75,30900,30902,30905,30908],{"className":30901},[160,198],[75,30903,116],{"className":30904},[230,198],[75,30906,731],{"className":30907},[160,164,198],[75,30909,122],{"className":30910},[237,198],[75,30912,30914],{"className":30913,"style":7254},[237,7253],[75,30915,122],{"className":30916},[7258,4570],[75,30918],{"className":30919,"style":263},[241],[75,30921,30923,30926],{"className":30922},[160],[75,30924,119],{"className":30925},[160,613],[75,30927,30929],{"className":30928},[169],[75,30930,30932],{"className":30931},[173],[75,30933,30935],{"className":30934},[178],[75,30936,30938],{"className":30937,"style":746},[182],[75,30939,30940,30943],{"style":767},[75,30941],{"className":30942,"style":191},[190],[75,30944,30946],{"className":30945},[195,196,197,198],[75,30947,30949,30952,30955],{"className":30948},[160,198],[75,30950,116],{"className":30951},[230,198],[75,30953,731],{"className":30954},[160,164,198],[75,30956,122],{"className":30957},[237,198],[11,30959,30960,30963,30964,30967],{},[15,30961,30962],{},"Gradiente descendente estocástico (SGD)",": cada passo usa ",[15,30965,30966],{},"um único"," exemplo, escolhido aleatoriamente.",[11,30969,30970],{},[75,30971,30973,31045],{"className":30972},[78],[75,30974,30976],{"className":30975},[82],[84,30977,30978],{"xmlns":86},[88,30979,30980,31042],{},[91,30981,30982,30984,30986,30988,30990,30992,31030],{},[97,30983,104],{"mathvariant":596},[106,30985,22691],{},[97,30987,104],{"mathvariant":596},[106,30989,4410],{},[97,30991,10317],{},[91,30993,30994,30996,30998,31000,31012,31014,31016,31028],{},[106,30995,116],{"fence":108},[97,30997,99],{},[106,30999,116],{"stretchy":115},[721,31001,31002,31004],{},[97,31003,119],{"mathvariant":596},[91,31005,31006,31008,31010],{},[106,31007,116],{"stretchy":115},[97,31009,731],{},[106,31011,122],{"stretchy":115},[106,31013,122],{"stretchy":115},[106,31015,4410],{},[721,31017,31018,31020],{},[97,31019,678],{},[91,31021,31022,31024,31026],{},[106,31023,116],{"stretchy":115},[97,31025,731],{},[106,31027,122],{"stretchy":115},[106,31029,122],{"fence":108},[721,31031,31032,31034],{},[97,31033,119],{"mathvariant":596},[91,31035,31036,31038,31040],{},[106,31037,116],{"stretchy":115},[97,31039,731],{},[106,31041,122],{"stretchy":115},[140,31043,31044],{"encoding":142},"\\mathbf{w} \\leftarrow \\mathbf{w} - \\alpha\\left(f(\\mathbf{x}^{(i)}) - y^{(i)}\\right)\\mathbf{x}^{(i)}",[75,31046,31048,31066,31084],{"className":31047,"ariaHidden":108},[147],[75,31049,31051,31054,31057,31060,31063],{"className":31050},[151],[75,31052],{"className":31053,"style":609},[155],[75,31055,104],{"className":31056,"style":695},[160,613],[75,31058],{"className":31059,"style":242},[241],[75,31061,22691],{"className":31062},[246],[75,31064],{"className":31065,"style":242},[241],[75,31067,31069,31072,31075,31078,31081],{"className":31068},[151],[75,31070],{"className":31071,"style":256},[155],[75,31073,104],{"className":31074,"style":695},[160,613],[75,31076],{"className":31077,"style":270},[241],[75,31079,4410],{"className":31080},[274],[75,31082],{"className":31083,"style":270},[241],[75,31085,31087,31091,31094,31097,31206,31209],{"className":31086},[151],[75,31088],{"className":31089,"style":31090},[155],"height:1.238em;vertical-align:-0.35em;",[75,31092,10317],{"className":31093,"style":10433},[160,164],[75,31095],{"className":31096,"style":263},[241],[75,31098,31100,31106,31109,31112,31150,31153,31156,31159,31162,31200],{"className":31099},[7246],[75,31101,31103],{"className":31102,"style":7254},[230,7253],[75,31104,116],{"className":31105},[7258,4570],[75,31107,99],{"className":31108,"style":165},[160,164],[75,31110,116],{"className":31111},[230],[75,31113,31115,31118],{"className":31114},[160],[75,31116,119],{"className":31117},[160,613],[75,31119,31121],{"className":31120},[169],[75,31122,31124],{"className":31123},[173],[75,31125,31127],{"className":31126},[178],[75,31128,31130],{"className":31129,"style":746},[182],[75,31131,31132,31135],{"style":767},[75,31133],{"className":31134,"style":191},[190],[75,31136,31138],{"className":31137},[195,196,197,198],[75,31139,31141,31144,31147],{"className":31140},[160,198],[75,31142,116],{"className":31143},[230,198],[75,31145,731],{"className":31146},[160,164,198],[75,31148,122],{"className":31149},[237,198],[75,31151,122],{"className":31152},[237],[75,31154],{"className":31155,"style":270},[241],[75,31157,4410],{"className":31158},[274],[75,31160],{"className":31161,"style":270},[241],[75,31163,31165,31168],{"className":31164},[160],[75,31166,678],{"className":31167,"style":829},[160,164],[75,31169,31171],{"className":31170},[169],[75,31172,31174],{"className":31173},[173],[75,31175,31177],{"className":31176},[178],[75,31178,31180],{"className":31179,"style":746},[182],[75,31181,31182,31185],{"style":767},[75,31183],{"className":31184,"style":191},[190],[75,31186,31188],{"className":31187},[195,196,197,198],[75,31189,31191,31194,31197],{"className":31190},[160,198],[75,31192,116],{"className":31193},[230,198],[75,31195,731],{"className":31196},[160,164,198],[75,31198,122],{"className":31199},[237,198],[75,31201,31203],{"className":31202,"style":7254},[237,7253],[75,31204,122],{"className":31205},[7258,4570],[75,31207],{"className":31208,"style":263},[241],[75,31210,31212,31215],{"className":31211},[160],[75,31213,119],{"className":31214},[160,613],[75,31216,31218],{"className":31217},[169],[75,31219,31221],{"className":31220},[173],[75,31222,31224],{"className":31223},[178],[75,31225,31227],{"className":31226,"style":746},[182],[75,31228,31229,31232],{"style":767},[75,31230],{"className":31231,"style":191},[190],[75,31233,31235],{"className":31234},[195,196,197,198],[75,31236,31238,31241,31244],{"className":31237},[160,198],[75,31239,116],{"className":31240},[230,198],[75,31242,731],{"className":31243},[160,164,198],[75,31245,122],{"className":31246},[237,198],[11,31248,31249,31250,31278,31279,31282,31283,3538],{},"Passo baratíssimo, direção ruidosa, trajetória em zigue-zague, mas com ",[75,31251,31253,31266],{"className":31252},[78],[75,31254,31256],{"className":31255},[82],[84,31257,31258],{"xmlns":86},[88,31259,31260,31264],{},[91,31261,31262],{},[97,31263,317],{},[140,31265,317],{"encoding":142},[75,31267,31269],{"className":31268,"ariaHidden":108},[147],[75,31270,31272,31275],{"className":31271},[151],[75,31273],{"className":31274,"style":329},[155],[75,31276,317],{"className":31277},[160,164]," atualizações pelo preço de uma do batch. Construí um motor de SGD do zero (o mesmo ",[65,31280,31281],{},"GradientDescentSimulator"," de sempre, só que trocando a engrenagem por baixo) pra você ver a diferença ao vivo, no mesmo dataset de 8 casas do ",[557,31284,28878],{"href":28877},[11,31286,31287],{},[15,31288,31289],{},"Batch:",[13120,31291],{":alpha-slider-max":20494,":alpha-slider-min":20495,":alpha-slider-step":20495,":b-range":20489,":initial-alpha":31292,":initial-b":1835,":initial-w":1835,":w-range":20490,":x-train":20491,":y-train":20492,"b-label":112,"mode":31293,"w-label":104},"8e-7","batch",[11,31295,31296],{},[15,31297,31298],{},"Estocástico:",[13120,31300],{":alpha-slider-max":20494,":alpha-slider-min":20495,":alpha-slider-step":20495,":b-range":20489,":initial-alpha":31292,":initial-b":1835,":initial-w":1835,":w-range":20490,":x-train":20491,":y-train":20492,"b-label":112,"mode":31301,"w-label":104},"stochastic",[11,31303,31304],{},"Roda \"Rodar 100\" nos dois com o mesmo alpha padrão. Depois de 50 passos, o batch já está com custo perto de 922 (bem próximo do mínimo real, 919), enquanto o estocástico, com o mesmo número de passos mas cada um enxergando só uma casa por vez, ainda está balançando em 7102. O caminho do estocástico no gráfico também é visivelmente mais \"sujo\", vai e volta em vez de descer suave.",[11,31306,31307,31308,31311,31312,31315],{},"Uma passagem completa pelos exemplos se chama ",[15,31309,31310],{},"época",". No scikit-learn, ",[65,31313,31314],{},"max_iter"," conta épocas, não atualizações individuais.",[516,31317,31318,31330],{},[519,31319,31320],{},[522,31321,31322,31324,31327],{},[525,31323],{"align":527},[525,31325,31326],{"align":527},"Batch GD",[525,31328,31329],{"align":527},"SGD",[536,31331,31332,31432,31469,31480,31491],{},[522,31333,31334,31337,31386],{},[541,31335,31336],{"align":527},"custo por atualização",[541,31338,31339],{"align":527},[75,31340,31342,31365],{"className":31341},[78],[75,31343,31345],{"className":31344},[82],[84,31346,31347],{"xmlns":86},[88,31348,31349,31362],{},[91,31350,31351,31354,31356,31358,31360],{},[97,31352,31353],{},"O",[106,31355,116],{"stretchy":115},[97,31357,317],{},[97,31359,1482],{},[106,31361,122],{"stretchy":115},[140,31363,31364],{"encoding":142},"O(mn)",[75,31366,31368],{"className":31367,"ariaHidden":108},[147],[75,31369,31371,31374,31377,31380,31383],{"className":31370},[151],[75,31372],{"className":31373,"style":2081},[155],[75,31375,31353],{"className":31376,"style":25253},[160,164],[75,31378,116],{"className":31379},[230],[75,31381,1316],{"className":31382},[160,164],[75,31384,122],{"className":31385},[237],[541,31387,31388],{"align":527},[75,31389,31391,31411],{"className":31390},[78],[75,31392,31394],{"className":31393},[82],[84,31395,31396],{"xmlns":86},[88,31397,31398,31408],{},[91,31399,31400,31402,31404,31406],{},[97,31401,31353],{},[106,31403,116],{"stretchy":115},[97,31405,1482],{},[106,31407,122],{"stretchy":115},[140,31409,31410],{"encoding":142},"O(n)",[75,31412,31414],{"className":31413,"ariaHidden":108},[147],[75,31415,31417,31420,31423,31426,31429],{"className":31416},[151],[75,31418],{"className":31419,"style":2081},[155],[75,31421,31353],{"className":31422,"style":25253},[160,164],[75,31424,116],{"className":31425},[230],[75,31427,1482],{"className":31428},[160,164],[75,31430,122],{"className":31431},[237],[522,31433,31434,31437,31439],{},[541,31435,31436],{"align":527},"atualizações por época",[541,31438,1578],{"align":527},[541,31440,31441],{"align":527},[75,31442,31444,31457],{"className":31443},[78],[75,31445,31447],{"className":31446},[82],[84,31448,31449],{"xmlns":86},[88,31450,31451,31455],{},[91,31452,31453],{},[97,31454,317],{},[140,31456,317],{"encoding":142},[75,31458,31460],{"className":31459,"ariaHidden":108},[147],[75,31461,31463,31466],{"className":31462},[151],[75,31464],{"className":31465,"style":329},[155],[75,31467,317],{"className":31468},[160,164],[522,31470,31471,31474,31477],{},[541,31472,31473],{"align":527},"trajetória",[541,31475,31476],{"align":527},"suave",[541,31478,31479],{"align":527},"ruidosa",[522,31481,31482,31485,31488],{},[541,31483,31484],{"align":527},"determinístico?",[541,31486,31487],{"align":527},"sim",[541,31489,31490],{"align":527},"não (depende da ordem sorteada)",[522,31492,31493,31496,31527],{},[541,31494,31495],{"align":527},"bom quando",[541,31497,31498,31526],{"align":527},[75,31499,31501,31514],{"className":31500},[78],[75,31502,31504],{"className":31503},[82],[84,31505,31506],{"xmlns":86},[88,31507,31508,31512],{},[91,31509,31510],{},[97,31511,317],{},[140,31513,317],{"encoding":142},[75,31515,31517],{"className":31516,"ariaHidden":108},[147],[75,31518,31520,31523],{"className":31519},[151],[75,31521],{"className":31522,"style":329},[155],[75,31524,317],{"className":31525},[160,164]," pequeno\u002Fmédio",[541,31528,31529,31557],{"align":527},[75,31530,31532,31545],{"className":31531},[78],[75,31533,31535],{"className":31534},[82],[84,31536,31537],{"xmlns":86},[88,31538,31539,31543],{},[91,31540,31541],{},[97,31542,317],{},[140,31544,317],{"encoding":142},[75,31546,31548],{"className":31547,"ariaHidden":108},[147],[75,31549,31551,31554],{"className":31550},[151],[75,31552],{"className":31553,"style":329},[155],[75,31555,317],{"className":31556},[160,164]," muito grande",[11,31559,31560,31561,31564],{},"Com taxa de aprendizado constante, o SGD nunca para de tremer em torno do mínimo de vez. É por isso que o scikit-learn usa, por padrão, uma taxa que ",[15,31562,31563],{},"decresce"," ao longo do treino.",[289,31566,31568,31569,31571],{"id":31567},"duas-coisas-que-o-max_iter-esconde","Duas coisas que o ",[65,31570,31314],{}," esconde",[11,31573,31574,31575,25917,31578,31580,31581,503,31584,31587,31588,31590,31591,31594],{},"Peço ",[65,31576,31577],{},"max_iter=1000",[65,31579,30460],{}," normalmente para bem antes disso. Não é bug: existe parada antecipada (",[65,31582,31583],{},"tol",[65,31585,31586],{},"n_iter_no_change",") que detecta quando a perda parou de melhorar de verdade e encerra sozinho. ",[65,31589,31314],{}," é um ",[15,31592,31593],{},"teto",", não uma meta.",[11,31596,31597,31598,31601,31602,31604],{},"E sem fixar ",[65,31599,31600],{},"random_state",", cada ",[65,31603,30164],{}," sorteia uma ordem diferente pros exemplos, e o resultado muda de execução pra execução. A variação costuma ser pequena, mas é real, principalmente em dataset menor ou mais difícil. Fixar a semente é o que torna o resultado reproduzível.",[289,31606,31608],{"id":31607},"a-surpresa-por-padrão-isso-é-ridge-não-mínimos-quadrados-puros","A surpresa: por padrão, isso é Ridge, não mínimos quadrados puros",[11,31610,31611,31612,31614,31615,503,31618,31621],{},"Essa é a que mais me pegou de surpresa. Os padrões do ",[65,31613,30460],{}," são ",[65,31616,31617],{},"penalty='l2'",[65,31619,31620],{},"alpha=0.0001",". Ou seja, por padrão ele não minimiza",[11,31623,31624],{},[75,31625,31627,31711],{"className":31626},[78],[75,31628,31630],{"className":31629},[82],[84,31631,31632],{"xmlns":86},[88,31633,31634,31708],{},[91,31635,31636,31638,31640,31642,31644,31646,31648,31650,31660,31666],{},[97,31637,5374],{},[106,31639,116],{"stretchy":115},[97,31641,104],{"mathvariant":596},[106,31643,109],{"separator":108},[97,31645,112],{},[106,31647,122],{"stretchy":115},[106,31649,125],{},[4392,31651,31652,31654],{},[1316,31653,1578],{},[91,31655,31656,31658],{},[1316,31657,1318],{},[97,31659,317],{},[94,31661,31662,31664],{},[106,31663,6970],{},[97,31665,731],{},[721,31667,31668,31706],{},[91,31669,31670,31672,31674,31676,31688,31690,31692,31704],{},[106,31671,116],{"fence":108},[97,31673,99],{},[106,31675,116],{"stretchy":115},[721,31677,31678,31680],{},[97,31679,119],{"mathvariant":596},[91,31681,31682,31684,31686],{},[106,31683,116],{"stretchy":115},[97,31685,731],{},[106,31687,122],{"stretchy":115},[106,31689,122],{"stretchy":115},[106,31691,4410],{},[721,31693,31694,31696],{},[97,31695,678],{},[91,31697,31698,31700,31702],{},[106,31699,116],{"stretchy":115},[97,31701,731],{},[106,31703,122],{"stretchy":115},[106,31705,122],{"fence":108},[1316,31707,1318],{},[140,31709,31710],{"encoding":142},"J(\\mathbf{w},b) = \\frac{1}{2m}\\sum_i \\left(f(\\mathbf{x}^{(i)}) - y^{(i)}\\right)^2",[75,31712,31714,31750],{"className":31713,"ariaHidden":108},[147],[75,31715,31717,31720,31723,31726,31729,31732,31735,31738,31741,31744,31747],{"className":31716},[151],[75,31718],{"className":31719,"style":2081},[155],[75,31721,5374],{"className":31722,"style":5400},[160,164],[75,31724,116],{"className":31725},[230],[75,31727,104],{"className":31728,"style":695},[160,613],[75,31730,109],{"className":31731},[209],[75,31733],{"className":31734,"style":263},[241],[75,31736,112],{"className":31737},[160,164],[75,31739,122],{"className":31740},[237],[75,31742],{"className":31743,"style":242},[241],[75,31745,125],{"className":31746},[246],[75,31748],{"className":31749,"style":242},[241],[75,31751,31753,31756,31827,31830,31870,31873],{"className":31752},[151],[75,31754],{"className":31755,"style":7087},[155],[75,31757,31759,31762,31824],{"className":31758},[160],[75,31760],{"className":31761},[230,4513],[75,31763,31765],{"className":31764},[4392],[75,31766,31768,31816],{"className":31767},[173,174],[75,31769,31771,31813],{"className":31770},[178],[75,31772,31774,31791,31799],{"className":31773,"style":4777},[182],[75,31775,31776,31779],{"style":4780},[75,31777],{"className":31778,"style":4533},[190],[75,31780,31782],{"className":31781},[195,196,197,198],[75,31783,31785,31788],{"className":31784},[160,198],[75,31786,1318],{"className":31787},[160,198],[75,31789,317],{"className":31790},[160,164,198],[75,31792,31793,31796],{"style":4626},[75,31794],{"className":31795,"style":4533},[190],[75,31797],{"className":31798,"style":4634},[4633],[75,31800,31801,31804],{"style":4809},[75,31802],{"className":31803,"style":4533},[190],[75,31805,31807],{"className":31806},[195,196,197,198],[75,31808,31810],{"className":31809},[160,198],[75,31811,1578],{"className":31812},[160,198],[75,31814,217],{"className":31815},[216],[75,31817,31819],{"className":31818},[178],[75,31820,31822],{"className":31821,"style":7154},[182],[75,31823],{},[75,31825],{"className":31826},[237,4513],[75,31828],{"className":31829,"style":263},[241],[75,31831,31833,31836],{"className":31832},[7166],[75,31834,6970],{"className":31835,"style":7172},[7166,7170,7171],[75,31837,31839],{"className":31838},[169],[75,31840,31842,31862],{"className":31841},[173,174],[75,31843,31845,31859],{"className":31844},[178],[75,31846,31848],{"className":31847,"style":25636},[182],[75,31849,31850,31853],{"style":7188},[75,31851],{"className":31852,"style":191},[190],[75,31854,31856],{"className":31855},[195,196,197,198],[75,31857,731],{"className":31858},[160,164,198],[75,31860,217],{"className":31861},[216],[75,31863,31865],{"className":31864},[178],[75,31866,31868],{"className":31867,"style":7237},[182],[75,31869],{},[75,31871],{"className":31872,"style":263},[241],[75,31874,31876,31985],{"className":31875},[7246],[75,31877,31879,31885,31888,31891,31929,31932,31935,31938,31941,31979],{"className":31878},[7246],[75,31880,31882],{"className":31881,"style":7254},[230,7253],[75,31883,116],{"className":31884},[7258,4570],[75,31886,99],{"className":31887,"style":165},[160,164],[75,31889,116],{"className":31890},[230],[75,31892,31894,31897],{"className":31893},[160],[75,31895,119],{"className":31896},[160,613],[75,31898,31900],{"className":31899},[169],[75,31901,31903],{"className":31902},[173],[75,31904,31906],{"className":31905},[178],[75,31907,31909],{"className":31908,"style":746},[182],[75,31910,31911,31914],{"style":767},[75,31912],{"className":31913,"style":191},[190],[75,31915,31917],{"className":31916},[195,196,197,198],[75,31918,31920,31923,31926],{"className":31919},[160,198],[75,31921,116],{"className":31922},[230,198],[75,31924,731],{"className":31925},[160,164,198],[75,31927,122],{"className":31928},[237,198],[75,31930,122],{"className":31931},[237],[75,31933],{"className":31934,"style":270},[241],[75,31936,4410],{"className":31937},[274],[75,31939],{"className":31940,"style":270},[241],[75,31942,31944,31947],{"className":31943},[160],[75,31945,678],{"className":31946,"style":829},[160,164],[75,31948,31950],{"className":31949},[169],[75,31951,31953],{"className":31952},[173],[75,31954,31956],{"className":31955},[178],[75,31957,31959],{"className":31958,"style":746},[182],[75,31960,31961,31964],{"style":767},[75,31962],{"className":31963,"style":191},[190],[75,31965,31967],{"className":31966},[195,196,197,198],[75,31968,31970,31973,31976],{"className":31969},[160,198],[75,31971,116],{"className":31972},[230,198],[75,31974,731],{"className":31975},[160,164,198],[75,31977,122],{"className":31978},[237,198],[75,31980,31982],{"className":31981,"style":7254},[237,7253],[75,31983,122],{"className":31984},[7258,4570],[75,31986,31988],{"className":31987},[169],[75,31989,31991],{"className":31990},[173],[75,31992,31994],{"className":31993},[178],[75,31995,31997],{"className":31996,"style":7417},[182],[75,31998,31999,32002],{"style":7420},[75,32000],{"className":32001,"style":191},[190],[75,32003,32005],{"className":32004},[195,196,197,198],[75,32006,1318],{"className":32007},[160,198],[11,32009,32010],{},"e sim",[11,32012,32013],{},[75,32014,32016,32115],{"className":32015},[78],[75,32017,32019],{"className":32018},[82],[84,32020,32021],{"xmlns":86},[88,32022,32023,32112],{},[91,32024,32025,32027,32029,32031,32033,32035,32037,32039,32049,32055,32097,32099,32101,32104,32106],{},[97,32026,5374],{},[106,32028,116],{"stretchy":115},[97,32030,104],{"mathvariant":596},[106,32032,109],{"separator":108},[97,32034,112],{},[106,32036,122],{"stretchy":115},[106,32038,125],{},[4392,32040,32041,32043],{},[1316,32042,1578],{},[91,32044,32045,32047],{},[1316,32046,1318],{},[97,32048,317],{},[94,32050,32051,32053],{},[106,32052,6970],{},[97,32054,731],{},[721,32056,32057,32095],{},[91,32058,32059,32061,32063,32065,32077,32079,32081,32093],{},[106,32060,116],{"fence":108},[97,32062,99],{},[106,32064,116],{"stretchy":115},[721,32066,32067,32069],{},[97,32068,119],{"mathvariant":596},[91,32070,32071,32073,32075],{},[106,32072,116],{"stretchy":115},[97,32074,731],{},[106,32076,122],{"stretchy":115},[106,32078,122],{"stretchy":115},[106,32080,4410],{},[721,32082,32083,32085],{},[97,32084,678],{},[91,32086,32087,32089,32091],{},[106,32088,116],{"stretchy":115},[97,32090,731],{},[106,32092,122],{"stretchy":115},[106,32094,122],{"fence":108},[1316,32096,1318],{},[106,32098,136],{},[97,32100,10317],{},[97,32102,32103],{"mathvariant":10324},"∥",[97,32105,104],{"mathvariant":596},[721,32107,32108,32110],{},[97,32109,32103],{"mathvariant":10324},[1316,32111,1318],{},[140,32113,32114],{"encoding":142},"J(\\mathbf{w},b) = \\frac{1}{2m}\\sum_i \\left(f(\\mathbf{x}^{(i)}) - y^{(i)}\\right)^2 + \\alpha\\|\\mathbf{w}\\|^2",[75,32116,32118,32154,32421],{"className":32117,"ariaHidden":108},[147],[75,32119,32121,32124,32127,32130,32133,32136,32139,32142,32145,32148,32151],{"className":32120},[151],[75,32122],{"className":32123,"style":2081},[155],[75,32125,5374],{"className":32126,"style":5400},[160,164],[75,32128,116],{"className":32129},[230],[75,32131,104],{"className":32132,"style":695},[160,613],[75,32134,109],{"className":32135},[209],[75,32137],{"className":32138,"style":263},[241],[75,32140,112],{"className":32141},[160,164],[75,32143,122],{"className":32144},[237],[75,32146],{"className":32147,"style":242},[241],[75,32149,125],{"className":32150},[246],[75,32152],{"className":32153,"style":242},[241],[75,32155,32157,32160,32231,32234,32274,32277,32412,32415,32418],{"className":32156},[151],[75,32158],{"className":32159,"style":7087},[155],[75,32161,32163,32166,32228],{"className":32162},[160],[75,32164],{"className":32165},[230,4513],[75,32167,32169],{"className":32168},[4392],[75,32170,32172,32220],{"className":32171},[173,174],[75,32173,32175,32217],{"className":32174},[178],[75,32176,32178,32195,32203],{"className":32177,"style":4777},[182],[75,32179,32180,32183],{"style":4780},[75,32181],{"className":32182,"style":4533},[190],[75,32184,32186],{"className":32185},[195,196,197,198],[75,32187,32189,32192],{"className":32188},[160,198],[75,32190,1318],{"className":32191},[160,198],[75,32193,317],{"className":32194},[160,164,198],[75,32196,32197,32200],{"style":4626},[75,32198],{"className":32199,"style":4533},[190],[75,32201],{"className":32202,"style":4634},[4633],[75,32204,32205,32208],{"style":4809},[75,32206],{"className":32207,"style":4533},[190],[75,32209,32211],{"className":32210},[195,196,197,198],[75,32212,32214],{"className":32213},[160,198],[75,32215,1578],{"className":32216},[160,198],[75,32218,217],{"className":32219},[216],[75,32221,32223],{"className":32222},[178],[75,32224,32226],{"className":32225,"style":7154},[182],[75,32227],{},[75,32229],{"className":32230},[237,4513],[75,32232],{"className":32233,"style":263},[241],[75,32235,32237,32240],{"className":32236},[7166],[75,32238,6970],{"className":32239,"style":7172},[7166,7170,7171],[75,32241,32243],{"className":32242},[169],[75,32244,32246,32266],{"className":32245},[173,174],[75,32247,32249,32263],{"className":32248},[178],[75,32250,32252],{"className":32251,"style":25636},[182],[75,32253,32254,32257],{"style":7188},[75,32255],{"className":32256,"style":191},[190],[75,32258,32260],{"className":32259},[195,196,197,198],[75,32261,731],{"className":32262},[160,164,198],[75,32264,217],{"className":32265},[216],[75,32267,32269],{"className":32268},[178],[75,32270,32272],{"className":32271,"style":7237},[182],[75,32273],{},[75,32275],{"className":32276,"style":263},[241],[75,32278,32280,32389],{"className":32279},[7246],[75,32281,32283,32289,32292,32295,32333,32336,32339,32342,32345,32383],{"className":32282},[7246],[75,32284,32286],{"className":32285,"style":7254},[230,7253],[75,32287,116],{"className":32288},[7258,4570],[75,32290,99],{"className":32291,"style":165},[160,164],[75,32293,116],{"className":32294},[230],[75,32296,32298,32301],{"className":32297},[160],[75,32299,119],{"className":32300},[160,613],[75,32302,32304],{"className":32303},[169],[75,32305,32307],{"className":32306},[173],[75,32308,32310],{"className":32309},[178],[75,32311,32313],{"className":32312,"style":746},[182],[75,32314,32315,32318],{"style":767},[75,32316],{"className":32317,"style":191},[190],[75,32319,32321],{"className":32320},[195,196,197,198],[75,32322,32324,32327,32330],{"className":32323},[160,198],[75,32325,116],{"className":32326},[230,198],[75,32328,731],{"className":32329},[160,164,198],[75,32331,122],{"className":32332},[237,198],[75,32334,122],{"className":32335},[237],[75,32337],{"className":32338,"style":270},[241],[75,32340,4410],{"className":32341},[274],[75,32343],{"className":32344,"style":270},[241],[75,32346,32348,32351],{"className":32347},[160],[75,32349,678],{"className":32350,"style":829},[160,164],[75,32352,32354],{"className":32353},[169],[75,32355,32357],{"className":32356},[173],[75,32358,32360],{"className":32359},[178],[75,32361,32363],{"className":32362,"style":746},[182],[75,32364,32365,32368],{"style":767},[75,32366],{"className":32367,"style":191},[190],[75,32369,32371],{"className":32370},[195,196,197,198],[75,32372,32374,32377,32380],{"className":32373},[160,198],[75,32375,116],{"className":32376},[230,198],[75,32378,731],{"className":32379},[160,164,198],[75,32381,122],{"className":32382},[237,198],[75,32384,32386],{"className":32385,"style":7254},[237,7253],[75,32387,122],{"className":32388},[7258,4570],[75,32390,32392],{"className":32391},[169],[75,32393,32395],{"className":32394},[173],[75,32396,32398],{"className":32397},[178],[75,32399,32401],{"className":32400,"style":7417},[182],[75,32402,32403,32406],{"style":7420},[75,32404],{"className":32405,"style":191},[190],[75,32407,32409],{"className":32408},[195,196,197,198],[75,32410,1318],{"className":32411},[160,198],[75,32413],{"className":32414,"style":270},[241],[75,32416,136],{"className":32417},[274],[75,32419],{"className":32420,"style":270},[241],[75,32422,32424,32427,32430,32433,32436],{"className":32423},[151],[75,32425],{"className":32426,"style":7952},[155],[75,32428,10317],{"className":32429,"style":10433},[160,164],[75,32431,32103],{"className":32432},[160],[75,32434,104],{"className":32435,"style":695},[160,613],[75,32437,32439,32442],{"className":32438},[160],[75,32440,32103],{"className":32441},[160],[75,32443,32445],{"className":32444},[169],[75,32446,32448],{"className":32447},[173],[75,32449,32451],{"className":32450},[178],[75,32452,32454],{"className":32453,"style":1402},[182],[75,32455,32456,32459],{"style":767},[75,32457],{"className":32458,"style":191},[190],[75,32460,32462],{"className":32461},[195,196,197,198],[75,32463,1318],{"className":32464},[160,198],[11,32466,32467,32468,8848,32471,32522,32523,32574],{},"O termo extra é exatamente a regularização L2 que eu implementei do zero no ",[557,32469,32470],{"href":29973},"post bônus anterior",[75,32472,32474,32492],{"className":32473},[78],[75,32475,32477],{"className":32476},[82],[84,32478,32479],{"xmlns":86},[88,32480,32481,32489],{},[91,32482,32483,32485,32487],{},[97,32484,10317],{},[106,32486,125],{},[1316,32488,13275],{},[140,32490,32491],{"encoding":142},"\\alpha=0.0001",[75,32493,32495,32513],{"className":32494,"ariaHidden":108},[147],[75,32496,32498,32501,32504,32507,32510],{"className":32497},[151],[75,32499],{"className":32500,"style":329},[155],[75,32502,10317],{"className":32503,"style":10433},[160,164],[75,32505],{"className":32506,"style":242},[241],[75,32508,125],{"className":32509},[246],[75,32511],{"className":32512,"style":242},[241],[75,32514,32516,32519],{"className":32515},[151],[75,32517],{"className":32518,"style":1609},[155],[75,32520,13275],{"className":32521},[160]," (o padrão) o efeito é pequeno demais pra notar neste dataset, mas o mecanismo é real. Ajustei com ",[75,32524,32526,32544],{"className":32525},[78],[75,32527,32529],{"className":32528},[82],[84,32530,32531],{"xmlns":86},[88,32532,32533,32541],{},[91,32534,32535,32537,32539],{},[97,32536,10317],{},[106,32538,125],{},[1316,32540,1578],{},[140,32542,32543],{"encoding":142},"\\alpha=1",[75,32545,32547,32565],{"className":32546,"ariaHidden":108},[147],[75,32548,32550,32553,32556,32559,32562],{"className":32549},[151],[75,32551],{"className":32552,"style":329},[155],[75,32554,10317],{"className":32555,"style":10433},[160,164],[75,32557],{"className":32558,"style":242},[241],[75,32560,125],{"className":32561},[246],[75,32563],{"className":32564,"style":242},[241],[75,32566,32568,32571],{"className":32567},[151],[75,32569],{"className":32570,"style":1609},[155],[75,32572,1578],{"className":32573},[160]," (bem mais forte, só pra deixar visível) no nosso dataset de 100 casas:",[516,32576,32577,32618],{},[519,32578,32579],{},[522,32580,32581,32584,32587],{},[525,32582,32583],{"align":527},"Modelo",[525,32585,32586],{"align":18353},"RMSE",[525,32588,32589,32590],{"align":18353},"Norma de ",[75,32591,32593,32606],{"className":32592},[78],[75,32594,32596],{"className":32595},[82],[84,32597,32598],{"xmlns":86},[88,32599,32600,32604],{},[91,32601,32602],{},[97,32603,104],{"mathvariant":596},[140,32605,15546],{"encoding":142},[75,32607,32609],{"className":32608,"ariaHidden":108},[147],[75,32610,32612,32615],{"className":32611},[151],[75,32613],{"className":32614,"style":609},[155],[75,32616,104],{"className":32617,"style":695},[160,613],[536,32619,32620,32631],{},[522,32621,32622,32625,32628],{},[541,32623,32624],{"align":527},"Sem regularização",[541,32626,32627],{"align":18353},"20.96",[541,32629,32630],{"align":18353},"123.25",[522,32632,32633,32686,32689],{},[541,32634,32635,32636,122],{"align":527},"Ridge (",[75,32637,32639,32656],{"className":32638},[78],[75,32640,32642],{"className":32641},[82],[84,32643,32644],{"xmlns":86},[88,32645,32646,32654],{},[91,32647,32648,32650,32652],{},[97,32649,10317],{},[106,32651,125],{},[1316,32653,1578],{},[140,32655,32543],{"encoding":142},[75,32657,32659,32677],{"className":32658,"ariaHidden":108},[147],[75,32660,32662,32665,32668,32671,32674],{"className":32661},[151],[75,32663],{"className":32664,"style":329},[155],[75,32666,10317],{"className":32667,"style":10433},[160,164],[75,32669],{"className":32670,"style":242},[241],[75,32672,125],{"className":32673},[246],[75,32675],{"className":32676,"style":242},[241],[75,32678,32680,32683],{"className":32679},[151],[75,32681],{"className":32682,"style":1609},[155],[75,32684,1578],{"className":32685},[160],[541,32687,32688],{"align":18353},"21.04",[541,32690,32691],{"align":18353},"120.39",[11,32693,32694,32695,19896,32698,32701,32702,32705,32706,32734],{},"O peso encolhe, o erro de treino piora um pouquinho, exatamente o trade-off que eu já vi no ",[557,32696,32697],{"href":29973},"post de Ridge",[15,32699,32700],{},"Conheça os padrões da biblioteca que você usa",": um ",[65,32703,32704],{},"SGDRegressor()"," chamado sem argumento nenhum não é \"regressão linear crua\", é Ridge com um ",[75,32707,32709,32722],{"className":32708},[78],[75,32710,32712],{"className":32711},[82],[84,32713,32714],{"xmlns":86},[88,32715,32716,32720],{},[91,32717,32718],{},[97,32719,10317],{},[140,32721,10803],{"encoding":142},[75,32723,32725],{"className":32724,"ariaHidden":108},[147],[75,32726,32728,32731],{"className":32727},[151],[75,32729],{"className":32730,"style":329},[155],[75,32732,10317],{"className":32733,"style":10433},[160,164]," discreto e pequeno.",[289,32736,32738],{"id":32737},"prevendo-e-um-jeito-frágil-de-comparar","Prevendo, e um jeito frágil de comparar",[11,32740,32741,32742,32745,32746,32749,32750,32752],{},"Duas contas matematicamente equivalentes podem diferir no último bit de precisão por causa da ordem das operações de ponto flutuante. Comparar previsões com ",[65,32743,32744],{},"=="," é frágil (",[65,32747,32748],{},"0.1 + 0.2 == 0.3"," é ",[65,32751,115],{}," em qualquer linguagem que usa ponto flutuante de 64 bits, pelo mesmo motivo). O jeito certo é conferir se a diferença fica dentro de uma tolerância pequena, não exigir igualdade exata.",[289,32754,32756],{"id":32755},"métricas-quão-bom-é-esse-modelo-de-verdade","Métricas: quão bom é esse modelo, de verdade",[11,32758,32759,32760,32788],{},"Até aqui eu tinha usado custo ",[75,32761,32763,32776],{"className":32762},[78],[75,32764,32766],{"className":32765},[82],[84,32767,32768],{"xmlns":86},[88,32769,32770,32774],{},[91,32771,32772],{},[97,32773,5374],{},[140,32775,5374],{"encoding":142},[75,32777,32779],{"className":32778,"ariaHidden":108},[147],[75,32780,32782,32785],{"className":32781},[151],[75,32783],{"className":32784,"style":8437},[155],[75,32786,5374],{"className":32787,"style":5400},[160,164]," pra treinar, mas nunca uma métrica pensada pra ser lida por gente. Ajustei o modelo com as 4 features no dataset completo de 100 casas e calculei três métricas padrão:",[516,32790,32791,32804],{},[519,32792,32793],{},[522,32794,32795,32798,32801],{},[525,32796,32797],{"align":527},"Métrica",[525,32799,32800],{"align":18353},"Valor",[525,32802,32803],{"align":527},"O que mede",[536,32805,32806,32816,32826],{},[522,32807,32808,32810,32813],{},[541,32809,32586],{"align":527},[541,32811,32812],{"align":18353},"20.96 mil US$",[541,32814,32815],{"align":527},"erro típico, pune erro grande desproporcionalmente",[522,32817,32818,32820,32823],{},[541,32819,16702],{"align":527},[541,32821,32822],{"align":18353},"16.91 mil US$",[541,32824,32825],{"align":527},"erro absoluto médio, mais robusto a outlier",[522,32827,32828,32831,32834],{},[541,32829,32830],{"align":527},"R²",[541,32832,32833],{"align":18353},"0.9594",[541,32835,32836],{"align":527},"fração da variância do preço explicada pelo modelo",[11,32838,32839,32840,32843],{},"Pra ter uma referência: um modelo \"burro\" que sempre chuta a média erra com RMSE de 104.07. O nosso erra ",[15,32841,32842],{},"4.96 vezes menos",". É esse o ganho real de ter um modelo, não só o número de R² sozinho.",[289,32845,32847,32849,32850,32853],{"id":32846},"sgdregressor-ou-linearregression-a-escolha-de-verdade",[65,32848,30460],{}," ou ",[65,32851,32852],{},"LinearRegression","? A escolha de verdade",[11,32855,32856,32857,32859,32860,32863,32864,32866,32867,33055,33056,33059,33060,19896,33134,33136,33137,33182],{},"O curso apresenta o ",[65,32858,30460],{}," como \"a regressão linear do scikit-learn\", mas na prática ela é a escolha ",[15,32861,32862],{},"menos"," comum. ",[65,32865,32852],{}," resolve a equação normal em forma fechada, ",[75,32868,32870,32917],{"className":32869},[78],[75,32871,32873],{"className":32872},[82],[84,32874,32875],{"xmlns":86},[88,32876,32877,32914],{},[91,32878,32879,32883,32885,32887,32894,32896,32906,32912],{},[97,32880,32882],{"mathvariant":32881},"bold-italic","θ",[106,32884,125],{},[106,32886,116],{"stretchy":115},[721,32888,32889,32891],{},[97,32890,15288],{"mathvariant":596},[97,32892,32893],{"mathvariant":10324},"⊤",[97,32895,15288],{"mathvariant":596},[721,32897,32898,32900],{},[106,32899,122],{"stretchy":115},[91,32901,32902,32904],{},[106,32903,4410],{},[1316,32905,1578],{},[721,32907,32908,32910],{},[97,32909,15288],{"mathvariant":596},[97,32911,32893],{"mathvariant":10324},[97,32913,678],{"mathvariant":596},[140,32915,32916],{"encoding":142},"\\boldsymbol{\\theta} = (\\mathbf{X}^\\top\\mathbf{X})^{-1}\\mathbf{X}^\\top\\mathbf{y}",[75,32918,32920,32946],{"className":32919,"ariaHidden":108},[147],[75,32921,32923,32926,32937,32940,32943],{"className":32922},[151],[75,32924],{"className":32925,"style":284},[155],[75,32927,32929],{"className":32928},[160],[75,32930,32932],{"className":32931},[160],[75,32933,32882],{"className":32934,"style":32936},[160,32935],"boldsymbol","margin-right:0.0319em;",[75,32938],{"className":32939,"style":242},[241],[75,32941,125],{"className":32942},[246],[75,32944],{"className":32945,"style":242},[241],[75,32947,32949,32953,32956,32985,32988,33023,33052],{"className":32948},[151],[75,32950],{"className":32951,"style":32952},[155],"height:1.0991em;vertical-align:-0.25em;",[75,32954,116],{"className":32955},[230],[75,32957,32959,32962],{"className":32958},[160],[75,32960,15288],{"className":32961},[160,613],[75,32963,32965],{"className":32964},[169],[75,32966,32968],{"className":32967},[173],[75,32969,32971],{"className":32970},[178],[75,32972,32974],{"className":32973,"style":25504},[182],[75,32975,32976,32979],{"style":767},[75,32977],{"className":32978,"style":191},[190],[75,32980,32982],{"className":32981},[195,196,197,198],[75,32983,32893],{"className":32984},[160,198],[75,32986,15288],{"className":32987},[160,613],[75,32989,32991,32994],{"className":32990},[237],[75,32992,122],{"className":32993},[237],[75,32995,32997],{"className":32996},[169],[75,32998,33000],{"className":32999},[173],[75,33001,33003],{"className":33002},[178],[75,33004,33006],{"className":33005,"style":1402},[182],[75,33007,33008,33011],{"style":767},[75,33009],{"className":33010,"style":191},[190],[75,33012,33014],{"className":33013},[195,196,197,198],[75,33015,33017,33020],{"className":33016},[160,198],[75,33018,4410],{"className":33019},[160,198],[75,33021,1578],{"className":33022},[160,198],[75,33024,33026,33029],{"className":33025},[160],[75,33027,15288],{"className":33028},[160,613],[75,33030,33032],{"className":33031},[169],[75,33033,33035],{"className":33034},[173],[75,33036,33038],{"className":33037},[178],[75,33039,33041],{"className":33040,"style":25504},[182],[75,33042,33043,33046],{"style":767},[75,33044],{"className":33045,"style":191},[190],[75,33047,33049],{"className":33048},[195,196,197,198],[75,33050,32893],{"className":33051},[160,198],[75,33053,678],{"className":33054,"style":695},[160,613],", sem iteração, sem taxa de aprendizado, sem semente aleatória. O custo cresce com o ",[15,33057,33058],{},"cubo"," do número de features, ",[75,33061,33063,33087],{"className":33062},[78],[75,33064,33066],{"className":33065},[82],[84,33067,33068],{"xmlns":86},[88,33069,33070,33084],{},[91,33071,33072,33074,33076,33082],{},[97,33073,31353],{},[106,33075,116],{"stretchy":115},[721,33077,33078,33080],{},[97,33079,1482],{},[1316,33081,13659],{},[106,33083,122],{"stretchy":115},[140,33085,33086],{"encoding":142},"O(n^3)",[75,33088,33090],{"className":33089,"ariaHidden":108},[147],[75,33091,33093,33096,33099,33102,33131],{"className":33092},[151],[75,33094],{"className":33095,"style":7952},[155],[75,33097,31353],{"className":33098,"style":25253},[160,164],[75,33100,116],{"className":33101},[230],[75,33103,33105,33108],{"className":33104},[160],[75,33106,1482],{"className":33107},[160,164],[75,33109,33111],{"className":33110},[169],[75,33112,33114],{"className":33113},[173],[75,33115,33117],{"className":33116},[178],[75,33118,33120],{"className":33119,"style":1402},[182],[75,33121,33122,33125],{"style":767},[75,33123],{"className":33124,"style":191},[190],[75,33126,33128],{"className":33127},[195,196,197,198],[75,33129,13659],{"className":33130},[160,198],[75,33132,122],{"className":33133},[237],[65,33135,30460],{}," itera, custa ",[75,33138,33140,33161],{"className":33139},[78],[75,33141,33143],{"className":33142},[82],[84,33144,33145],{"xmlns":86},[88,33146,33147,33159],{},[91,33148,33149,33151,33153,33155,33157],{},[97,33150,31353],{},[106,33152,116],{"stretchy":115},[97,33154,317],{},[97,33156,1482],{},[106,33158,122],{"stretchy":115},[140,33160,31364],{"encoding":142},[75,33162,33164],{"className":33163,"ariaHidden":108},[147],[75,33165,33167,33170,33173,33176,33179],{"className":33166},[151],[75,33168],{"className":33169,"style":2081},[155],[75,33171,31353],{"className":33172,"style":25253},[160,164],[75,33174,116],{"className":33175},[230],[75,33177,1316],{"className":33178},[160,164],[75,33180,122],{"className":33181},[237]," por época, e nunca precisa carregar tudo na memória de uma vez.",[516,33184,33185,33200],{},[519,33186,33187],{},[522,33188,33189,33192,33196],{},[525,33190,33191],{"align":527},"Critério",[525,33193,33194],{"align":527},[65,33195,32852],{},[525,33197,33198],{"align":527},[65,33199,30460],{},[536,33201,33202,33213,33224,33236,33334,33376],{},[522,33203,33204,33207,33210],{},[541,33205,33206],{"align":527},"exatidão",[541,33208,33209],{"align":527},"solução exata",[541,33211,33212],{"align":527},"aproximada",[522,33214,33215,33218,33221],{},[541,33216,33217],{"align":527},"determinismo",[541,33219,33220],{"align":527},"total",[541,33222,33223],{"align":527},"depende da semente",[522,33225,33226,33229,33231],{},[541,33227,33228],{"align":527},"precisa normalizar?",[541,33230,5955],{"align":527},[541,33232,33233],{"align":527},[15,33234,33235],{},"sim, obrigatoriamente",[522,33237,33238,33269,33331],{},[541,33239,33240,33268],{"align":527},[75,33241,33243,33256],{"className":33242},[78],[75,33244,33246],{"className":33245},[82],[84,33247,33248],{"xmlns":86},[88,33249,33250,33254],{},[91,33251,33252],{},[97,33253,1482],{},[140,33255,1482],{"encoding":142},[75,33257,33259],{"className":33258,"ariaHidden":108},[147],[75,33260,33262,33265],{"className":33261},[151],[75,33263],{"className":33264,"style":329},[155],[75,33266,1482],{"className":33267},[160,164]," de features enorme",[541,33270,33271,33272,122],{"align":527},"fica caro (",[75,33273,33275,33293],{"className":33274},[78],[75,33276,33278],{"className":33277},[82],[84,33279,33280],{"xmlns":86},[88,33281,33282,33290],{},[91,33283,33284],{},[721,33285,33286,33288],{},[97,33287,1482],{},[1316,33289,13659],{},[140,33291,33292],{"encoding":142},"n^3",[75,33294,33296],{"className":33295,"ariaHidden":108},[147],[75,33297,33299,33302],{"className":33298},[151],[75,33300],{"className":33301,"style":1402},[155],[75,33303,33305,33308],{"className":33304},[160],[75,33306,1482],{"className":33307},[160,164],[75,33309,33311],{"className":33310},[169],[75,33312,33314],{"className":33313},[173],[75,33315,33317],{"className":33316},[178],[75,33318,33320],{"className":33319,"style":1402},[182],[75,33321,33322,33325],{"style":767},[75,33323],{"className":33324,"style":191},[190],[75,33326,33328],{"className":33327},[195,196,197,198],[75,33329,13659],{"className":33330},[160,198],[541,33332,33333],{"align":527},"tudo bem",[522,33335,33336,33367,33370],{},[541,33337,33338,33366],{"align":527},[75,33339,33341,33354],{"className":33340},[78],[75,33342,33344],{"className":33343},[82],[84,33345,33346],{"xmlns":86},[88,33347,33348,33352],{},[91,33349,33350],{},[97,33351,317],{},[140,33353,317],{"encoding":142},[75,33355,33357],{"className":33356,"ariaHidden":108},[147],[75,33358,33360,33363],{"className":33359},[151],[75,33361],{"className":33362,"style":329},[155],[75,33364,317],{"className":33365},[160,164]," de exemplos gigante",[541,33368,33369],{"align":527},"precisa caber na memória",[541,33371,33372,33373],{"align":527},"escala bem, aceita ",[65,33374,33375],{},"partial_fit",[522,33377,33378,33381,33383],{},[541,33379,33380],{"align":527},"aprendizado incremental",[541,33382,5955],{"align":527},[541,33384,31487],{"align":527},[11,33386,33387,33390,33391,33393,33394,33397,33398,33400],{},[15,33388,33389],{},"Regra prática:"," uso ",[65,33392,32852],{}," (ou ",[65,33395,33396],{},"Ridge",") por padrão. Só vou pro ",[65,33399,30460],{}," quando o dado não cabe na memória, chega em fluxo, ou o número de features é gigante.",[289,33402,5960],{"id":5959},[516,33404,33405,33413],{},[519,33406,33407],{},[522,33408,33409,33411],{},[525,33410,26194],{"align":527},[525,33412,26197],{"align":527},[536,33414,33415,33423,33431],{},[522,33416,33417,33420],{},[541,33418,33419],{"align":527},"Gradiente descendente usa todo o dataset a cada passo",[541,33421,33422],{"align":527},"Existe uma versão que usa um exemplo por vez, mais barata por passo, mais ruidosa",[522,33424,33425,33428],{},[541,33426,33427],{"align":527},"Eu implementei tudo isso na mão até aqui",[541,33429,33430],{"align":527},"A biblioteca padrão da área faz a mesma coisa, com a mesma convenção de API em centenas de modelos",[522,33432,33433,33436],{},[541,33434,33435],{"align":527},"Ridge é uma escolha explícita que eu fiz",[541,33437,33438],{"align":527},"O modelo \"padrão\" de gradiente estocástico do scikit-learn já vem com Ridge ligado, sem avisar",[11,33440,6275],{},[294,33442,33443,33459,33465],{},[297,33444,33445,33458],{},[15,33446,33447,33448,20709,33450,20709,33452,20709,33454,33457],{},"A convenção ",[65,33449,30164],{},[65,33451,30216],{},[65,33453,30168],{},[65,33455,33456],{},"score"," vale mais que decorar um modelo específico",", ela se repete em toda a biblioteca.",[297,33460,33461,33464],{},[15,33462,33463],{},"SGD troca precisão por velocidade por passo",": mesma direção geral, caminho mais barato e mais ruidoso.",[297,33466,33467,6297,33470,33472,33473,33475],{},[15,33468,33469],{},"Conheça os padrões do que você usa",[65,33471,31617],{}," ligado por padrão no ",[65,33474,30460],{}," é o tipo de detalhe que muda o que o seu código realmente está fazendo.",[289,33477,6484],{"id":6483},[11,33479,33480,33481,503,33483,33485,33486,33582,33583,33586],{},"Mesmo dataset real de imóveis dos posts anteriores. Já sei que o gradiente descendente batch, com ",[65,33482,26375],{},[65,33484,26378],{},", alpha=0.01, precisa de 4000 iterações completas pra chegar em ",[75,33487,33489,33522],{"className":33488},[78],[75,33490,33492],{"className":33491},[82],[84,33493,33494],{"xmlns":86},[88,33495,33496,33520],{},[91,33497,33498,33500,33502,33504,33506,33508,33510,33512,33514,33516,33518],{},[106,33499,116],{"stretchy":115},[97,33501,104],{},[106,33503,109],{"separator":108},[97,33505,112],{},[106,33507,122],{"stretchy":115},[106,33509,125],{},[106,33511,116],{"stretchy":115},[1316,33513,26460],{},[106,33515,109],{"separator":108},[1316,33517,26465],{},[106,33519,122],{"stretchy":115},[140,33521,26470],{"encoding":142},[75,33523,33525,33558],{"className":33524,"ariaHidden":108},[147],[75,33526,33528,33531,33534,33537,33540,33543,33546,33549,33552,33555],{"className":33527},[151],[75,33529],{"className":33530,"style":2081},[155],[75,33532,116],{"className":33533},[230],[75,33535,104],{"className":33536,"style":205},[160,164],[75,33538,109],{"className":33539},[209],[75,33541],{"className":33542,"style":263},[241],[75,33544,112],{"className":33545},[160,164],[75,33547,122],{"className":33548},[237],[75,33550],{"className":33551,"style":242},[241],[75,33553,125],{"className":33554},[246],[75,33556],{"className":33557,"style":242},[241],[75,33559,33561,33564,33567,33570,33573,33576,33579],{"className":33560},[151],[75,33562],{"className":33563,"style":2081},[155],[75,33565,116],{"className":33566},[230],[75,33568,26460],{"className":33569},[160],[75,33571,109],{"className":33572},[209],[75,33574],{"className":33575,"style":263},[241],[75,33577,26465],{"className":33578},[160],[75,33580,122],{"className":33581},[237],", custo final 5189.72. Cada uma dessas 4000 iterações olha as 50 casas inteiras, então são ",[15,33584,33585],{},"200 mil"," avaliações de exemplo ao todo.",[11,33588,33589,33590,33593],{},"Rodei o estocástico com o mesmo alpha, só que contando ",[15,33591,33592],{},"passos individuais"," em vez de iterações completas:",[2376,33595,33597],{"className":2378,"code":33596,"language":2380,"meta":26,"style":26},"w, b, hist = sgd_gradient_descent(\n    square_feet_norm, price,\n    w_in=0, b_in=0,\n    alpha=0.01, num_steps=4000)  # 4000 exemplos vistos, não 4000 passagens completas\n\nprint(f\"(w, b) encontrados: ({w:.1f}, {b:.1f})\")\n",[65,33598,33599,33604,33609,33613,33618,33622],{"__ignoreMap":26},[75,33600,33601],{"class":2385,"line":33},[75,33602,33603],{},"w, b, hist = sgd_gradient_descent(\n",[75,33605,33606],{"class":2385,"line":27},[75,33607,33608],{},"    square_feet_norm, price,\n",[75,33610,33611],{"class":2385,"line":2396},[75,33612,26559],{},[75,33614,33615],{"class":2385,"line":2401},[75,33616,33617],{},"    alpha=0.01, num_steps=4000)  # 4000 exemplos vistos, não 4000 passagens completas\n",[75,33619,33620],{"class":2385,"line":2407},[75,33621,2422],{"emptyLinePlaceholder":32},[75,33623,33624],{"class":2385,"line":2413},[75,33625,14338],{},[46,33627,33628],{},[11,33629,33630,1286,33632,33635],{},[15,33631,2458],{},[65,33633,33634],{},"(w, b) encontrados: (112.1, 396.9)",", custo final 5233.79",[11,33637,33638,33639,33642],{},"Praticamente o mesmo resultado do batch (custo 5233.79 contra 5189.72), só que usando ",[15,33640,33641],{},"50 vezes menos"," avaliações de exemplo (4000 contra 200 mil). Compara os dois ao vivo:",[14352,33644],{},[33646,33647],"housing-stochastic-gradient-descent-simulator",{},[11,33649,33650],{},"Roda \"Rodar 2000\" em cada um e repara: o estocástico chega numa vizinhança boa bem mais rápido em termos de trabalho total, mesmo com o caminho mais bagunçado no gráfico.",[6712,33652,6714],{},{"title":26,"searchDepth":27,"depth":27,"links":33654},[33655,33656,33658,33660,33662,33663,33664,33665,33667,33668],{"id":30083,"depth":27,"text":30084},{"id":30227,"depth":27,"text":33657},"StandardScaler: o z-score que eu já fiz na mão",{"id":30457,"depth":27,"text":33659},"SGDRegressor e o que o \"S\" significa",{"id":31567,"depth":27,"text":33661},"Duas coisas que o max_iter esconde",{"id":31607,"depth":27,"text":31608},{"id":32737,"depth":27,"text":32738},{"id":32755,"depth":27,"text":32756},{"id":32846,"depth":27,"text":33666},"SGDRegressor ou LinearRegression? A escolha de verdade",{"id":5959,"depth":27,"text":5960},{"id":6483,"depth":27,"text":6484},"Depois de construir gradiente descendente, normalização e engenharia de features na mão, finalmente uso o scikit-learn, e descubro que o modelo 'padrão' do curso esconde duas surpresas que ninguém avisa.",{},"\u002Fpt\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab05-scikit-learn",{"title":30069,"description":33669},"pt\u002Fplaylists\u002Fmachine-learning-specialization\u002Fw2-lab05-scikit-learn",[30091,33675,33676],"gradiente-estocastico","sgd","OaZi6v2TywMJ6RzfQhmPKQkGJEixrIx2Mpe8R4hr1wQ",1787338982292]