From 48802798a16a769d0ae1cc0fbba9cfd5d0714f9a Mon Sep 17 00:00:00 2001 From: NotXia <35894453+NotXia@users.noreply.github.com> Date: Mon, 15 Apr 2024 19:37:48 +0200 Subject: [PATCH] Add LAAI3 computational learning --- .../module3/img/_learning_algorithm.pdf | Bin 0 -> 25241 bytes .../module3/img/_learning_model.pdf | Bin 0 -> 30000 bytes .../module3/img/_learning_rectangle.pdf | Bin 0 -> 11645 bytes .../module3/img/_rectangle_space.pdf | Bin 0 -> 17425 bytes .../module3/img/_rectangle_space2.pdf | Bin 0 -> 18880 bytes .../module3/img/learning_model.drawio | 74 +++ .../module3/img/rectangle_learning.drawio | 601 ++++++++++++++++++ .../module3/laai3.tex | 1 + .../sections/_computational_learning.tex | 159 +++++ 9 files changed, 835 insertions(+) create mode 100644 src/languages-and-algorithms-for-ai/module3/img/_learning_algorithm.pdf create mode 100644 src/languages-and-algorithms-for-ai/module3/img/_learning_model.pdf create mode 100644 src/languages-and-algorithms-for-ai/module3/img/_learning_rectangle.pdf create mode 100644 src/languages-and-algorithms-for-ai/module3/img/_rectangle_space.pdf create mode 100644 src/languages-and-algorithms-for-ai/module3/img/_rectangle_space2.pdf create mode 100644 src/languages-and-algorithms-for-ai/module3/img/learning_model.drawio create mode 100644 src/languages-and-algorithms-for-ai/module3/img/rectangle_learning.drawio create mode 100644 src/languages-and-algorithms-for-ai/module3/sections/_computational_learning.tex diff --git a/src/languages-and-algorithms-for-ai/module3/img/_learning_algorithm.pdf b/src/languages-and-algorithms-for-ai/module3/img/_learning_algorithm.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2dbec23aa3a8c55c4487a6036268ea8ee66dfbb7 GIT binary patch literal 25241 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 literal 0 HcmV?d00001 diff --git a/src/languages-and-algorithms-for-ai/module3/img/_learning_rectangle.pdf b/src/languages-and-algorithms-for-ai/module3/img/_learning_rectangle.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fdd0183e6b605ecae99f5d42118a78c95872587b GIT binary patch literal 11645 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 M1%1~3V|b+h0g(kdQ2+n{ literal 0 HcmV?d00001 diff --git a/src/languages-and-algorithms-for-ai/module3/img/_rectangle_space.pdf b/src/languages-and-algorithms-for-ai/module3/img/_rectangle_space.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6b61b6972b892862f38ab829fa624d5a4bbac59f GIT binary patch literal 17425 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 CJ7FRK literal 0 HcmV?d00001 diff --git a/src/languages-and-algorithms-for-ai/module3/img/_rectangle_space2.pdf b/src/languages-and-algorithms-for-ai/module3/img/_rectangle_space2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..85c203b2b39c95ad7cbd446f12319334062d1d26 GIT binary patch literal 18880 zcma&N1CS+6v@P7WZQIuLwC(O`+qN}r+qS1|P209@+oz}T_k8zz_uc!)eJ@^}irRba zm9;B#Wkf}s%AMp2B4YH+44g3J{$B?S3^Owk6Oo;vB@8bw45N&Rt(mhqGZ8Zf8wV2% zqnL%Yvxy@SqnNdUvx$g_k)5&0|7t_T&BV$I!^a2X0`%11fGj3`PUoyh2pwJ^X)jt2x^ zV3dlrkYo>msvg3aISh^nMp8$fyukl${Qdfq_qpvkmuK|(=OcZSx61KlgFg@xvH*x! zl%&)2>+9`zpf5W|2T2VsmkhpSTYJ4|;uX%o$_3UpZQ#>R>I}Ib?+7gMl=)#F=fE zIQ3F|aenEAQknnuFplJFTw4}rq~&4f<9hC3(4>T8)OfQie>*47#L!Dwzh11FFAgLT zcyYs^8G;RRi)O<^nFBrC;9OBt^1m;%h6y)Fs1`X0DS?m%+3QH!;e#O9GtZ0q2aLbL5 zc&tFQ4L^^vAvl>q5jbINTOs%(eTEW44BJ3-4GB>m-foNGwZ()-P8*FHOY!LJU=Q^u zo&};~U)r?@5jfO2yoo;Ti9X{A;cZ*KPam(EJ{Zoq!ESVuGEw--<*2a;p@}}c1!&D^ z4;?4DV01v5KX$?7ue1Qo3Dob=7~jhQ8h$u3C^`N!k)OR~yOubu+xI6bsDn6G|Ku7C)(yxAIIPpCbV`tl*WbXu|hLKc^3L2dJTsxaZ#B& z$K9Yz^HmRAn2wARMhuQS7PMv1ozidZV$AACLeas~BA|5u)flTMe8W?&rY@5UG@j|P z+-X!tf5zMCMVi8D4f$;Q$>P7$9_eT#;wn(ov#JbiQrvlUhSeYwu&0GXldLC#HMvHg zVCq%OOr!rcp*gFr+^e})xICLm|LSO@a-F6CnxD3?fB>RdkyzoZcHu?L4NlLCUi2b} zzvoZHI?XCouV^JV7wg*D72!&`(s`Z23qApS{nzPXS3-RtBowR_Ve7BEEm|o!=(t)# z)jPXF*_;XUfWw&5J;T_s;6kjDHX+Ty3i|rKAdZ)W@G~$3NF6fr_W=lSaPYs`dh~nn zuvdkx?d=gQpxWBWt(=_^>nMI8TAc8;DfD2V&I?;hNJxyZk69Vwn>r!Z85n#os#R;z z1dB6nctpZQo)w1qEzf`=AuDl0%)wG0iZlZ*5|1mYDj2Rl3aBaX?_BE2jQUq`5V%lc)P828RuN(VS+ipM#CBud*} zC#PZ-xVSWQkn-yFP9am~h)ualsS-=8rtT8FCLSgo-iS#Z-_j!Xt|=?2Dg-;O_OXOB zeim6+qPb}K^IfXq?yc-@ThoT7sw_-OQchB}tgxuOOXOB{yMlt5hMs)296>Kz>bS`A zVz9i#GD8Kr7IVewyi`R+D>=;*ybyEUo0)mb)CY-qaOt()@we<~WRsdQ=A$i~`1{GA z?5wVpvzxS(ViOj(`9MIT0rBC_?Q!@{v|=c+PckG+{kmKK0P6o*1fjgQDfDfi^fl!UjC z*5W7y=P6p>-V$Ad!6t5))5q&HE1t_@ql@Cgp%ksi^NMyyEzPB>C5!1U!}Els+CE1N z>EC2H<3TFW^muNA8dXWS=%e`(2+=E}iEo;lWp{G$btzOO<-OUBLUs-Bl!0$=Q8?r) zH3mBU%8uHb=gV#tZn!yhIms#135h8w(N#6eZVkyR(&cC8(ick!ujQ|n{Ca%7w(P6t zndyB=ukCx~da4W4oHa2jQdd<9GAd1El;myk1$nb_s?nAY2`WZIDV!C{m=$AVKa*zq z$^#;X!0IiPJsQw&VCYqv%9X0r7h$9%Pfr{P7ok5_j&kjiQ(-H}&tUj2w;7Sgh3BBIqcp< z+#{=yh`)wB$gdp{p3R(8t+@vf`w^;rehax7zjI#sW(hFhxH-;#QD62obJ#)OkcU%` z_@)TQ`4RTajPHUK3~{grw;C-Nx6>o^5R7?wB3iB}R6m3HOq$S*2x+@ZdBUu~8;;Hu z33vfPy>&CcLAxaaUVQ-qeL)Kv^_oF++h_hjZ&afA2>R|#c-^Dl5%!%dHOgT8(7zSC z#R&R}Jf1AvIFa0*1T*r6LbHroA2bRpWS2^qyJQDG+)rpof-P=ZgBV32X7PY$u1_xz z9f2!8zE7&^U`z~cp!U=VdhR%sL{g_xZbMOV2n9V}j#EXR6(x(5U{!~pMV zs8c=AWyK$VKxoVyry@b`k}HO2q7Q{`(9%2RIy`4X21AkmkF+>J?oj57t9o28FPZ@q zh5%R#wW<=+zTCKA{`lLFdaelo*UHnp@4dJt9HBlRK_n z0Xk;5h%;GGhwS`mDxHLdcD!hvZ)=swip@G z3Q5vc0iV3x2gV1d)A|l^zW&_9R09DJJc+AzwP!;l+n&i*c==t~j?nCt(A*o;aPs$2 zd}H!ol+TI7BRGzJ+IepCI?nuB{kkSFUTP!>S{W2IDTtP078T!?oOuVO0a8J|{xZf! zL?L+)^URnn``8^&gd7IAQ#+8_Bq-3NstE$sl!c=t^+AYrtpv+PNMnjIw`ozQt@tfQ>^W~9%XXr$AO48; zd&isJ1gZAn3I&u9D1z2Sh}0B=2V#z_)RZj=mP*no38^EVcjVl%vTPAU^N=Tn59F`V z?;(?>v9+ZdsDF}NB(yn3Y**=1$I$OAJvzNroeGZ#Z2VmVo=i3&FC{Opo3F2#Tt%E8 zPO;{1|HRODWHIi*0$|@vJ}|d>vTTBl26(_nGk<>cAe|kq~!@ zJE9=icHymuw{MyGdVTPEfbservIeM`OYd7{sKQBH69jq5BBMxAM~s!kZ83+l51{YJ zJTj<^aV?0i6Xi#3>qGI#AVH4o*bmsrfOS-6_VSh25(T4RMD0G9A8v{>VFN zs5BSgWDJunD=(Fr9!^Ibx}xhy$}J`*oo*a$3OS^RnKJ-XDa!aDPIxhFXjuFUE0S`R zh8G66Af9Y8E*A8F?%n`jNBBD5?&g{5hTb?T83I`X5||qr!x5$?QL{syzxX*0J|Uz- zKrBvaF7wo$_QN0SmCka-n`HLzA$N}8qWJw(Jw;|p3OmYx?7P&p5IDD}vwL)9K4v(4 zZ2TcrpQ2*~!65HjqW#(wL0;2=&K=@hWV-~gv^eB<5efw&;L<~hf9c~hi?X>GavYE@e@P3UD?GF zi*s?(xD1yC@dpMRKNyb9zNL)0&HAU&<<21V7-~X6y5{4dkIN zy|w22qgxKDlDj|NY4QlSL~;!;#bDX!!?TJDq0v5)w=9JTUEqQPATjY_DWcvP{He$= zAH4Cjv0LKQ*1zTypSqr7)tl zz2iE1b|^0M1g+g~%E%64jORoqo{U9(4jl4D(lt>|nhgMv08ei?BF!{QL`ITfOd8VY z)vpgj0oN|_!~TXjz+MQcGd)Wf4)y_JU`S}mBAQ4`okS)qKZHV>3HqslPd709K`tm< zBw_1yk}V!jFlpRm%%#myrvziKU12rDOE+6axB66jeJoFTS!v!?O~TyxlPYbhrHvu+ zo~a4>hcxA+1Z8q^nrs*aNrzg|Qp%z{p22(lt4``^G zlPeD1Lajny*_N$V*_PFp{HuPdcejfo=kjH@_=H|_pTv$JbCJa06WRJsWK#@m^2Y=V z5qB)u#afA9sUmPbQk_G7kG+o03(SwA`3|_zVC4Kn2snm;=}LO$Q6{Wy0$svMR;{Of zwM!iH!Kw#`8Ea1WYg)pje^A-6^W)!ttak++-XV-nOVIn#&EP&-LD>cb$IXrbUx}jkv_0EV6!R z91($Bl^f~%ZF#L}p?NE?kAGNvPq?=2kXP3IYFimbXvR3wBr!N;8g!3gCn<5=F_x50 zeV--$<4WFx=1~4stq@14d4_%s{`IKLhFY-2kT;)w_rCv^3}`^~&-9Q-L+IVW?c5jefLi!~|hFk}C?aGOHT zprYWoIGY3RB4PQd-ktzKbK@Tw!RpQRQboHu90+H>lsvAqGf#yMFPfcfMy&XkGnSVy z*7&Qcnv^CNFIJ6RizBt4&$~{gQpMJ#i*dZX36EXU-+8Y_xXv6Z(_pl@+dZi z{1b5s3I{xd^X}cLTtb=nDDrgwE*n3aj>ErwJsBM}MJ5KLF~>ZjiO*^d61|Y;Pe(Y9 z)yIw#$Vaq8SxCHrmB)(X4D1=mtWd#+zybydZcQv-#yEc>jhiM%*}qe2)#>@OfFOZF z5y4pNWIQh~iGx_6<~cE!0|&$pNaLwt03H}8nwUtR6*eR$0e+}Qps=?#_)!!nYGH@n zJOBlrLbixP;?tIud+{=f|G52~C|nBmGS}47&L!PZGUNQ|T2eVfT7qKnsD0BpM5MTh zWV%==aC{*oZsxOb&@zAJq&O) zNZ!*l>e6o(f6psk<3sFEzk1*i=Q+=+XQcqm1-CN=bEsUgf`jMKny@f!-jJE_VR19^ z^y8k(s(wyvi%$K`!n@&I?dZDOdS{vjxT7#L&RLyK<^1}Oe8pZQa+Kbw_&&K6_rcJl z9A{8de$FNZ-x zhsi<)dAeAK-9vDSw-U2La9=5_Q;MJLLg=obCNEj@YK_Jwz{Cq+PKS`3wh!ry3|*s0 z7iMqIdIkavD87fi>T0--3mcF!)MR@I!+ZGOmVDrXNUF=Ua?>p!86qUF(pc)46jBrr z8^g{EBI4TJ;t0L2%SedhQ@zO?vkzuGKnQEgSi8%}SPR(wtjy)zhlgzHloWV0$Zt=3 z8BkB$O`O5vx3jo2Hify8x;%L5%I2M-X(si3%thQq-$bRIKxt~t-4woKE0=g3&WPuAAf zU0LX9s#0#Y@>KnUe!VF>ZB6F#z2+m?rA^{^?7?B}a_@L)e|D{&_o~w8y*})_ZsF{j zWPMTkA)Iu0x1HxOcdVOodEKU27bEwhk|SKjAy*~QPG5s>t8!1k>;Bs6D=`$&s{!7m>k-b)=(^45)1P#-*0jc3 zea&p>n7=!Hnu|x1X<8ZUYJO{A8D?D_0t~ESm+I-w^|fjvZ4|p5UNnphv;xG8T{BtWlxX z!Ad~sF6f)#8Fm{dQ{xV7O>tLY^kT@l_!HQB2fS-p2*p?k&(aVf(-Cnl3}v}`GH&p# zK+I(0kj8Xx@w*Iz>ET0b z<0ph`AID*>uWNdK{&e3U%RL2rRdpfvC=i2yOQ$=`C7+dBbrYR=@N_>f8>1}Wnp>rS zX?mt*4Gwh%4zJ{5VVh`)>k_$McDGx&aZ5wUHi2Knp}05uXBEcI&nfQPf}%P@mbYyz z&c5_rPIjN(;V*= zCH^^HCjK=y+3M`Hk#lRq<}CM5r+O##B+|KQ)sFa+5myPVRhUOVVaS?M6l+CDI}PJ} z2(@-2Kjw`kSU z#);)+QuU6EB$F<#iuLL4RkY)~)_rXY!&3TnF6W^2OPQyGbAUxN-23h><|<3;&MxID zi(bs|nb~;8oz#W{jr_PnXgPhcrwBWBaRY9txKaft+^BL}jfnD34*8^9`g@$o9Cx$! zb^PlGHa(ha zKoM+fe!RqozkXx&D*Ff1!`Kt_QC8^EF;hm0Zk;;>)-O!TZx^h8Yb)KB#Eru&bk`-i9d11LPR zUjZ=DD%5RsC*J~M(AZXSjo^8W;JwFjUdq_*>)7ox*lX8txVCWAjo~K{$v`DJK$rz) zoCPOo$S>`{5Mjl7IObvupp2ufu}Spvk@?I@2Ic#IPVq+Oo_RZH(E(eegtvt`31irpNqbW z8bf^uVfrqa^3nklCc3gm?7Tn6!i$DSDbPp4bnCSrF*ai_c?vEaMrSBnPN(}w)O zryV_qY5233(@=(a>Y!Y;2Y+lR{d-Uzk8fO_pgZP;j-TS?)HC<6bzVMf+HqlzQXW88 zh3zBM0WlsQr8>SF4e>)N#Mq3 z=26se`3kn{oH{7K?A1@_wq~Y&w5~<(GL@Yo`NW-~^)0i!F%o&hU1nj3?1lPPL(DzM zvGs=y*8~fdQAF`T+m=#V-8{>TPX+n#Uh0UL^kzNk{qFcxiwbu&Xov{F@#EDQk9Y(Mx)ZGR_acPRjt=4 zmg*VN8pDNd>kdewp+{BZ=`GjBGI~aRFRP2NW+aj_rLjyoyxu7$m%^C=;jw_fYi62NixzMSBz|Z!bGvMmapwEtnX~m}5R1<8cb! zQw6uJrc!~3u8X0yE0I3Ej)=@SMM+jk;!H$oZ**@grz96eSKB}mPesFI@BhWJXoJ0{ z%sCKm(s#Ke#|f)b-p;LD(%uOYY2Og1rp(DtT&}n8Dea(GI7s4M#8ZjMcV65sM;Lm; z{e(-n8f4UWoMw%(DGHMs6tq_`6a}_e%*>bX?(AVC)WH<{x@djP#(2rbh<>#0!|ug1 zdH!`q(9mdq$`+UG@ZVA8@Rax^#n9O;||0Wtl)EBX~yp z#PDMQe|g=IGf}NwhT`knxgn!pg|a06k1NXg$mAj#{&ZW$aslPrg@V0bqB_>qnn%;Q z{BBnr0858tnknYuF+WA4aop@FL-O|WvOX0&_9pYK?nIy@8c8FmWL|cO3VPKJ6;X7j z<93m(arW*XY5aO&YN;OCJi9Q<8?>GU&EM2)21Q|plPla#96ARPZy-`B$4>9q?pdux zjmn0}8D@^l_XDl2yw%ijokV{-p^(|oD15LDm~N$^#G$%_pn~qCPlD}z zpyQ#A`H5kW-zY^$6F!5m1dWgfeMRgBZU_y;=suAhP9}YWz)e3$E1B*iYl&m@M0hLT zNG@t`BPINzKY<|k0EqT|Q@#R(f~dPYm@}AiKERRz?K7cz0xT#1kD@$A{#a$Q+j|LA zHhcyj1nhwJ_`d1hKxH3hPd9(aO+lph6B9|2KUH;nZx(${WG_# z_ZJN~0sfEg5G0YlvAo9j*Sn$!p9FxBT{8v0a{x9PNouYjGQ7|^nAxu1KIw)ds)uMRBt9UfPyd5n%n0fe!w8IC znEDfg(~yckIFl(Vw{J2a#R!Z)7$)kVlnJBoMRJ4Wge&TZQZbzQjm%aQo8SMoH9l7W z-FA;sAvzNPEz>jk#zj$(ML0|rbvUdTsP*C?GerM}E7QyM0dJ`|+TE)xSZct_A97l@ zH@v`T0APL`H}HXLF#zE&_mLitEkHbf*v`%EExNJYv0n+roUp-{?4JpM4fjcl8-@d(2Oq*u7_OLV|w67rx5g%`b0Qs*6xwAN>R{5cPL`u@8+DC5od6+cV>f%Sm2HzEi0*)So1fNg*J%ZF_TXT0BBiBNm7 z?Fd%`V7kNB+-boXrM-Av!QvE5DIAilhq zxns({v35|N{BaNTjlf?S;U9!t8Q>q36XXxd^$pN5Kg!)9733en_<-i?RsCS*8_aw& z@}@XBc8~N8V62VyjoLKdB{V|(7~>z(?U>{rN_7wQ4XOd#4843K^^Weojjbj8-1%)U zFcavWdfi9dG3>U>v~^6l7nWD`;^!MyxH8H=z%1C^8|qCNV}!XKj`|XIJs{~l!QVse z-RHKW2cLV3&qaUY_L6nogMD%I?WQx&tS;2o&)1M~+u!LW;kw5|kWrs-+n?}; z-IoxvF1I_D@aqzqYwy<`E6p{s-EV@ocb$(P3h+AVLH;1%(gghe?0fj!P4kh`f2H<6 zr35d@MN9Kh(tnlw0$?S%NNGMo`mfOcKQIhlLWr5>qpkny;D5ReCG#n!|H=t6-;JE+ zBcuPy?0-58RzisS4^Z?!75{3Dp5~*h?^)6Fpz42G1v0Po75Zu{qW_Bg#eX%%Nb^zG ze>Lzw4gF$J(tITJUx~lK7xUE}1^rh+|5L~>=Bqmb`mexW;EO>@>(bMI_3=Ob^T}xV zimH>=^{kin!6@_ji7~J9H7s9)*H0`N-@8w!dACp4`OodahfnaQ@z`b<6IM19S9AnmQm z+1Z*MvP5n5E{cAf2nB?8g%*jQKdot^`gcK=@)Taz6BqhD_{T15MoeD>YK99* zvs>bmh7v5prc|{snxeW?Yx5mBw?dq%{%D2&BnK16e=lxo^4hFE;)&UO_kq!a4AXq0^e4guPUy-x z1w8EO|5y$PDgOWIWqQnyY&6}KK<$ZmRsWs=tJHGn}S46`x0dOO>q z@(wO}zZtjiIpW)|I~Nk(JCW5YK{MjwCu>i^T2MVtLa|C-Y1 z(!c0mLm5r^7yWC7qlf>Ze~oyw_+Rv|35^c@i~hqrw|AvJb|%?T-}-p_6V~Ag4cwl? z68p{pa~*4sZz1jowtK$4f%u#{2*16(9@h|ljkFMoj{cBcb- z4t|O`XZ2?5&@@7+`~F(A)$N6Sbt~?&o%ZoRS>A^pzp@x^v^wlV{LNyDmZ|cUr7h{$ z6w9e0YIOTm`_2^4sUZe?`!(y%*8TV4Wl78WmaX^i$IGLZRYGeBs7&xa(}3DlB5N_I zO!Pj}klNMVSVkiJE2pU#WTtlD9cKcjr1t4)@!V0fT*#?;(U0Np`;2;@H#J}mfaPm2 zn?v2tb-OR22t9jveg52n)5ZjW>LY-)teyJ&d3@A6BKuP_Z1?%+y!-R1hVRPFaLCt- zjLW1pkcU7j94+4pxaMfYG+o4Md)m~Aga@rcBR``!Ls9iUE3v|ZB23T#woK&&wXS8a za)cRoQW8Um<2BfxGce=$zQCCyL5OH9Ro<#vwPdke5!s9`S_jsjO+YRPJx7gJ5?rS4 zL4`iZ`#V*vQdP5kaHEhgV=y*`Ey#Je{uHa~IoX)bQfgP7{o>M?^OlxPJp-f~R3nnL zBX|&lR|Sp$-=wr&D7&QGm10hl=B#Rk0k~H4LlcO-F!yj~!=5Esjs2RG7Net!oC^JN z7miKSU1jTt)M`eSH7QqUrqhgNwq+ZJ^{;jbWv1#fh1Bw^#RwB~%?KF5=;6~v%i?mn zcBhVmhDPP+HidBHw&oT~aP=w*^x*S3l~$yYfkP1{Ox@N2_4uNcW2D3y9NTL_pDdy;DwDy(MeyRF2??J~!pW|m0Z~6bw%2J3}1tY1_FV$33 zrL{6q?pRn1m{jqKndVTp5y+zTH;Xp1$LsIQCf-s zC4Jh7cu}>gR2>f18pBy?pH_`W?cMNGqaCK(P{KUwlf?u>cd1?qre&ec?wMOQ-Yo%) zhwIzYRj_BTtRa*V4jq5kNx!v;oNacCw*T4N#3aN&iIAMCo-H%@Q{z0yt=26Dx8Yk% z>&o-TW54aPdk#HT=N)I-;WN1!>-ysBCDHsTrMBVzXvN$AuGVfi+mOqVv-Ux&b9=d1 zbBp$@cN&pC?K9_Y_&3?ETK5p@-(=1Fe;oGfzLF&~YQN*e{!NB=aPjr#_?t}E=_^^^ zyBZHDYkoyXJ(!K5;a~Sc&n~>$XUlzyDs#d8U$f-C^cVeW*4)?rqJPbt``lmj zui0?l_>2BABJBOXM2_G0`#02``qw~)ZC|}+EBEZ7>s2nbcIk%Dr*e$Ek*e?djmlzY zq5_GTt;n2-vbywQ@rH+qh-eS_a6X@wwCkHh<=13 zG>$+AHiAozQY+`-#~&{@N60`2fFYnL((;!9l&HLe;6+*d>eKkUj(7`$M>NcE4Mh%T zwIMZ z2T^NU{&Y^OuP$J`L4Z!MEQZcC;|+nw5lZD=chxq*hThNYKysFD2XaWGLKvpFE?%T7 z6cl>K1llNNWCI0ac4Z)}AutuRNb1OJ4wpujd`50&s1c)p4VK2MLYEftOHK2ruO8+V zHI&*5qKX$TTTRDj3Rp%#)32h6HF1>msA$ZO3XR5o$`T<2;y%CDTn`**+^C8=XL7JO z8yv{dq@oDOMy{JO7AYMeoS4V|F^g9^0pS){1jSK~AeA&8%c9c-CMl6~GAKso7nQc$ z88V9&5elY2&X$|lwue*^EEmaQa4z!0%3Qo_-fBxrpZ^oo)MNe9;9?G_cLc+t`IDv z9&VQ_B7boT6CpEV-zopB)kuM*ViCC|O4t(C8(?cyX{-_iiMdX^Ig)oXb}N?CLlXuH zR1p@ty#=F!s;0Zbjf|u!k!ryBm2q4f384kQjT?*O)4ei_SmWlbK(zyK;QAG>WY0~% z)1sa$XDCU~;BFfSPkp?wJLi6}`A$ig`;QIns5;(A-Ck*ws*)_u6fYX!rX7VYK+}&udpf(1SZa`}#OE;JU z$+p=w+};g)Sl}`d!gc^xekxJSK7E*xFYF$dZeS|_Wxyoj5qrQy<&`ze=qK#n3SS`C z(K8W(ULaRV3sDT<>&9my+b&3l8-jsdf`RvUOQ0j#Bf-8g-I{g)-pNpd<1iGm4s;_Z zz;Ilna?J7sG#SZ(ye5HJ90MmbQC@SE*8JmxcHYHNt?Gasan5>i6O=4=v~7yoG+vZV zf*aGww5D7}+ht0|d6ry{a4_h+h}7xsY>->EHt5t5&|+!SbwfmaRPnQr;Mp;dlxJ#662?_ zA)ka0W7L9rHTwos!T7tZMSYQ;N>;)M!3=Ts^sazWN3yIxRMWgTqu#KE5oA$;$&+K0 z$9pxeK!f(_*qoL{j5|C9hEqR=jTKCYWCuxBAmnQAXT-A3z~XJp^NgFbctTW@#uAV# zju7JFaYV9lo!}s6T?C@46VHnf#JH>oqWT6sF^(ZKXVTkqM5I)M8>bvB1eU0p!z1lA z(rJxNtYz^69X#{|dK}}q9iU8C(}d4vT8`*xooF3gsz{f!I7!p9x^(fE7&24gO(A;I zTUjdSH?ue}ovQ}Wz47Ue8YOdv%(iHz937{uLRcNLnd&A$h9~s-<}eedn#@WH_a69G zF{u&RFogtijt*1eC=RUV99u{vKXJHpoMmy4O`$90u*^(gwQ+HXjnzJOCoG9q=SZOPi*$S= zH_Y)zBpel5D&?)B3qwVenN22tH&QH$HiD>kq&#K*=K z@%^wfXinsTBSJc|Bk)X*D}ss+Tf@b-b#C|SGF}ZA?71o8z<{v>JQk?$*}^G=`AA1! zZLrx2Dt8FhxQ+czX>_q&zd;g~r!$#i*Bed!iZaez#(EYmeyZhzSiF8t{&6%!j)eS*kp& z0$F0?ESk|&NP>+B9^V3*Vv0Mfo=TGNLS>GyTGE~?V$BIpa{)`1#*Z>pzDUd=o3e2?z+9k=(A00%EvGV-5pb7 zPUF}geu~Lmn>m*2&#b>-ztlaG?S4{t>-L8=LA@D$jpEO#jMF0$uO*h-&!}7(PR!N& zl&e!#9~RF{uKt#AR?o~Z+r5ddFIcZZaQ|l1ms=&^5s@cAD`U| zZhw07spU>D9tU=P0=%nvb7`j`e}3Krv_1ILau8oXj_=#vyczyY2momN{7o3!^yzj* z00pNqWhi(pjdy++HE>3=>VGb* z0A%+orF|_c?@Am(!gFzOyR5QAyD^jZlMmd+!n#9aEyG|F9xF zzo&OZ#6O$m$&pq6VMTWFEip{%;`<@G@8Uaj?Bgr88x7wUZEPfLOS-zE;7uC19}QQ+ z$&$7`5(khIBiR0FdGW#F>+$E)=|gCXZK|+BK3aC0P0r|JfeUo``81LDail+VqPQ1px~2R2zZj)T}ZRRm2CmdaJtKRC9K z4sgtT3{>Jvs>{|73bTzaY#%-4jfJpBYwzVQWh$I{B4gC()5l-)(#x+9&Oh6y-(;$-&9 z#!*zIHr-Oi#3#{bcLP*j?51BGe6L-59)+NmtAZ&uJyuyx(B=$N*YibcQ!yYik`NdY znsWKgVuRa@F?Nn5zD)nrQJAoeD?m)EZ*!A1h1BqxbWEx0(i~AdIz#-!#YK@DRV^*Y zWtivl#w9MdNyNEqE+`eXY%?UKJ=vqL*j6_bWI{;_gZsy(%XhC|TB~{Linbj|I?40O z7^&a5k`E>BvmU=!uN2e4Kb1co;9sg@gqGHW3#8WT8a%ZfmqvSATHTgZ4VE^0K)nC5 zF}3)0DXj5`X>y*Dn#kuodA`Qjegtt_VBMjF%eYX|?>ozJBdXBHQSzDW(W6=&yOi-}S%|5e?H8ZCEH|TWC)6 zz!4q|?cbs@^eP0tzD|SshR<-&xpH7KshNI{ob&J$odO32KAje5Dj?fzZf3b0px9>M7%tH|fs-Irh~uJLymQ-!eR={UxmsWZZrYvq3KX4R=W| zW7#2eaNivD9RI^-g4!YA{ljnJxjXH2NPjQ+OJ;&D>zpzB{KRW4Qg1OPNT|tvOqycm zsbO}hRsYUup=%`7KBWIOE)VGyBYWKb?_%x8^bWDRHc?Ml=Q%A!-^E&(C;gu??UbDI zaQ{BJ8$iJh+3fJut;fGX{r@qD37HP1ldI_ID`xSIeMk@J+^S}tGb-{rV*qqk*Dx;_ zm3iGU0Brb|u}+w0zB{D8HP1Uuv{QJjJuNz2&9M*t9qX3_+y5!S>3>QP^}i)({X4`j zc{9Ic`%l>y{^8gDD%<{_{Na}bf8}4pqxxr7in!yB1dhLC|HsJyz5R!0gPg+)``^6# z-&rG?^k;(%_-9sZ5n8$9+P-9OJ}*?Yo$mce@-D_M{dzC~>E?Y(p8wALO$ z|2o#i*SPGUz2Iz(j@V0hzx@%WVf^`c&ivJ{e*|oI_?q|srRx77DA5g|w{Wt*THjzs zaf=$jC#}1lL;rCA+4*_%_z84pcH;a$efekqFJJzZJ?u@07)5OiO^l6AjK3CCzIHYL za4~fLCv0GEZ*5^@;A~-MOUfeVYHQ43Y368PZ_Z%jZu(D41p`L|8z-W_+ogY4c$yHg zFf*}n{9ShWziyXi{@O47-_~X>wXK{oxzOIX^m=E~<-Rraoo#u_WkCy~g- z5-oWF+3)w~JL(z|;mQk8oRff_(HjmZY}*unNv{|$N;uyTe;|`FzTxW7c#Yt}uo~gR!_!Z6`$e@mq;4SUGIS)KQ&F7X_;u{z@M#0cH;`Q{`@UKp_kwLKe+)dzH_m|x%bK>o5r^c2J^SWE64e}j04Nx3Yb3X%|K`p zViV{^dCKE(OSr@&pHGvqg*jrm5sOOFb$}lprauwj~j5%%sF5`yJwo9WyrZ! z-X85{8|~aZ3eD3G4t7!$yX`z>p|wVtCe`Cg-|WPJq~_182fo&U2K&A5jPfL)_F}pc z+s}0>>M-z|yM|iN`X?#V^0t~nPjGk9=p52CF&PZm4yD3dXF?v76WwiIpDD;vyi9}6 ztDNH7*=yeB>&*!NnEM&L5Jx6>U_H*c=Ty+Nu9T}EFD=c>M&W9A^|YzcE!9Z$kCYPL zaL=Beg1ZgE+i$8ms>#;M>{^=vPS2lXn~lTmk-a{EM5PEZEG#7*R?4emK`?moV- z)tM-U@)R-}EPECzeQ>As7jA=upENI^r+vDzZ_HgO3iKbw!JmK#pjnQ26lV;G!ZJ=I zf!m_Yrgeb_1#!Tj|p);wZ%Y)mLtd$Ba;kLN6sIpGE!ztF#!7P1g!p)m(p zirARY)l!X>eIfP(g$T0cj2gNF^5+inNnlk`?9=9c3+1!L&*svO$6oO~#HIv3%r4PJ z#bf9b+w*=)&25|6fU(t42%HL{5hn!izU=cvcu3}U_Dl!(=UWQG5gRT5RcR=~95Vn2 z{Wc&T$fNy`lI38Cp^v5B6|>u6R4xwMkX(>LAn9dt2LGm4f8CB@Owe*!zSdP-qxxI_ z?^nn?i~{}r!a-?E+Gp3D>|Hb9GbO`s1T-;nSB+ts?C4wr7`=Yg{9Mye1uUe4NefH+ zHl<*F89_v_+#?VJ^sz^#pg&~9ZL&8Jc{jHtGt&-ENE>YH*>uf!)BGc695!|Df4-o1i@<$wd04=yNI;Qfi4nDlG6c z*5)f}saor=z)^1sYxQ}VODo$+0qZsbY~HT&Wr^$Y&yvNf=FrOH|GzEMOt4^^5w~|@*!eok5XB3j?V_7x>xBZ2-@WmwVfKGLr(U1E_rus3 z?=tV;pQ1g#)ONYVk1acTq+D;YeJI@clIhC3%&iaBxm9grEZ^zAL+_o3Hw)X!i!*W$ z+|7LUzG{nY*kZ%z#%jaG#jg(f+3IdsEjTl`LH42BJH9O~_clsd-ekM8@-j!cZ4m4G z!`p7MzenXJf>86#z-=;FYWZT5A9W^)Q zj%?iRi4N>~`z7ujjr`DT;e9d4Td^=ap7F?~$9i32iqQ-;E4RN^*njQzv}rfg!nVA) z!SrM4qqYl0-yMsSU0-+WI>cqY`*q@V;9ZxCT*=%M%4hxBBX`$VWUbLQ#-C0dJHpQ1 zi|hZS)+Htq&9Eor-q+Z;{%=4Ye{@65N=Dn&&&;$}m3BE_d2ztZfI*6POJv0brhC`i zxdpT8cyF;Ot+>2F_>ypklIW{#?{2@&tJo~D;@{F=x(51P4y`ejQx-g4w!YKi&6@b1 z)15b0H7Az6-JpEG^~bZwGUMvVC$rQ4Gu~bLtQuR3zznHHfOSy?q?zEKloec(%cbw9 zU}y-c;){w)6wEB($Dml4S)x?yb3>!^Z<~qKU0-j}ugT@T#N%$;frfmqy;o-n?&iL* zh`;Md6_d`%37IB8zyI#jJGm_(H~jFD6NiiW&VOC3;%N7>LFA;0f^Va~<^qo+B0(aa zT^dZb%Pc%J6g62SSUv4Od1g&IQ&;=8;`j2&iuto;&)oc2r`>H_`>5El{L9UcVrQ3b zQrQ+*uE;Vw(4V zh_rQE(#{yQL|}pBxl45$B6SWwm(4dgad?lwo4e!NtOH~U(D??eBcGE3{3 zcRmK~(mM6#LfX{d5weLV+P|oOYR~f6E#whc6uYoMZ2Ge~{inWcpQ2b))$=Xugqy*- z<%?f-OL|>7Z9MP3zDL5pt+U_H+*Ij*>tmVmrng5e?$tQo%e@?SvryzcYy9Q?tHZkT zU&$)nx+0b{o&9$1Opc9}Wo9)__tyO0dv|)q#OTjo*R9-CwR`rOi^-|`ZYnpF-V;f! zRmhK>ackPQ%unn17q0AHvu#b=Y;DQeW%p}Vc%P6c`7QCO{`O(x)fuOS#ld1>W5+XO= z=O#v#eaV_qefatuKlk9o{tLx#?;H+o6m*>^tu4Rd+srL2jIPX1LfHaM3@r*Au@B}X zF&)~pM}5k<*9m)C7V>j9U*-QXUvBeZ$qH_tM?Mirblx-NV)(kSzyt3#DU=&Oh}*Z0sV(o^!JRv|{A{>%;9^a>PTr?&r$v@# z$pvz}=34Xl;ckh2+4~Z|X5^PmOKe@5FY=Z5-Q5fu$G=?smx?c!mtJ*r>`2dC@af<& zhKwrlojj^B!hw@iW(l=+B#C~>56tDAzAI$!H(4qD?YGywUD0%3IquTt-Sv#Jug^td z%gp9TnHk(FHw0$Up#1z21<=~5ATE8+ytI4;(DEN38&7VJ2ue+Z=WR1{F8y$YXaz%{ zAw~+ZAVX48D}Vw93WgRyKJw{D$q5NR{?G4pY-nV3F=*mY6FA7D6yd<4-I2g7_(q|L z*`>g!sl-4lpG`=sUZHBIMD9Muo$F*A4n5XlW@gaQW?zEESH&fXMI{wQKo=QWn3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/languages-and-algorithms-for-ai/module3/img/rectangle_learning.drawio b/src/languages-and-algorithms-for-ai/module3/img/rectangle_learning.drawio new file mode 100644 index 0000000..9571fa2 --- /dev/null +++ b/src/languages-and-algorithms-for-ai/module3/img/rectangle_learning.drawio @@ -0,0 +1,601 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/languages-and-algorithms-for-ai/module3/laai3.tex b/src/languages-and-algorithms-for-ai/module3/laai3.tex index 1be586e..e7b5307 100644 --- a/src/languages-and-algorithms-for-ai/module3/laai3.tex +++ b/src/languages-and-algorithms-for-ai/module3/laai3.tex @@ -22,5 +22,6 @@ \input{sections/_intro.tex} \input{sections/_turing.tex} \input{sections/_complexity.tex} + \input{sections/_computational_learning.tex} \end{document} \ No newline at end of file diff --git a/src/languages-and-algorithms-for-ai/module3/sections/_computational_learning.tex b/src/languages-and-algorithms-for-ai/module3/sections/_computational_learning.tex new file mode 100644 index 0000000..d458ebf --- /dev/null +++ b/src/languages-and-algorithms-for-ai/module3/sections/_computational_learning.tex @@ -0,0 +1,159 @@ +\chapter{Computational learning theory} + +\begin{description} + \item[Instance space] \marginnote{Instance space} + Set $X$ of (encoded) instances of objects that a learner wants to classify. + + Data from the instance space is drawn from a distribution $\mathcal{D}$ unknown to the learner. + + \item[Concept] \marginnote{Concept} + Subset $c \subseteq X$ of the instance space which can be intended as properties of objects (i.e. a way to classify the instance space). + + \item[Concept class] \marginnote{Concept class} + Collection $\mathcal{C} \subseteq \mathbb{P}(X)$ of concepts. + + It represents the concepts that are sufficiently simple for the algorithm to handle (i.e. the space of learnable concepts). + + \begin{description} + \item[Target concept] + Concept $c \in \mathcal{C}$ that the learner wants to learn. + \end{description} + + \begin{remark} + A learning algorithm is designed to learn concepts from a concept class + neither knowing the target concept nor its data distribution. + \end{remark} + + \item[Learning algorithm] \marginnote{Learning algorithm} + Given a concept class $\mathcal{C}$ and a target concept $c \in \mathcal{C}$ with unknown distribution $\mathcal{D}$, + a learning algorithm $\mathcal{A}$ takes as input: + \begin{itemize} + \item $\varepsilon$, the error parameter (or accuracy if seen as $(1-\varepsilon)$), + \item $\delta$, the confidence parameter, + \item $EX(c, \mathcal{D})$, an oracle that $\mathcal{A}$ can call to retrieve a data point $x \sim \mathcal{D}$ + with a label to indicate whether it is in the target concept $c$ or not (i.e. training data), + \end{itemize} + and outputs a concept $h \in \mathcal{C}$. + \begin{center} + \includegraphics[width=0.3\linewidth]{./img/_learning_algorithm.pdf} + \end{center} + + \begin{description} + \item[Probability of error] \marginnote{Probability of error} + Given a concept class $\mathcal{C}$, + a target concept $c \in \mathcal{C}$ with unknown distribution $\mathcal{D}$ and + a learning algorithm $\mathcal{A}$, + the probability of error (i.e. misclassifications) for any output $h \in \mathcal{C}$ of $\mathcal{A}$ is defined as: + \[ \text{error}_{\mathcal{D}, c} = \mathcal{P}_{x \sim \mathcal{D}}[ h(x) \neq c(x) ] \] + \end{description} + + \begin{figure}[H] + \centering + \includegraphics[width=0.35\linewidth]{./img/_learning_model.pdf} + \caption{General idea of a learning algorithm $\mathcal{A}$ computed as a function $f_\mathcal{A}$} + \end{figure} + + \item[PAC learnability] \marginnote{PAC learnability} + A concept class $\mathcal{C}$ over the instance space $X$ is probably approximately correct (PAC) learnable iff there is an algorithm $\mathcal{A}$ such that: + \begin{itemize} + \item For each target concept $c \in \mathcal{C}$, + \item For each distribution $\mathcal{D}$, + \item For each error $0 < \varepsilon < \frac{1}{2}$, + \item For each confidence $0 < \delta < \frac{1}{2}$, + \end{itemize} + it holds that: + \[ \mathcal{P}\left[ \text{error}_{\mathcal{D}, c}\Big( \mathcal{A}\big( EX(c, \mathcal{D}), \varepsilon, \delta \big) \Big) < \varepsilon \right] > 1-\delta \] + where the probability is computed by sampling data points from $EX(c, \mathcal{D})$. + + In other words, the probability that $\mathcal{A}$ has an error rate lower than $\varepsilon$ (or an accuracy higher than $(1-\varepsilon)$) is greater than $(1-\delta)$. + + \begin{description} + \item[Efficient PAC learnability] \marginnote{Efficient PAC learnability} + A concept class $\mathcal{C}$ is efficiently PAC learnable iff + it is PAC learnable and the algorithm $\mathcal{A}$ that learns it has + a time complexity bound to a polynomial in $\frac{1}{\varepsilon}$ and $\frac{1}{\delta}$. + + \begin{remark} + The complexity of $\mathcal{A}$ is measured taking into account the number of calls to $EX(c, \mathcal{D})$. + \end{remark} + \end{description} +\end{description} + +\begin{example}[Axes-aligned rectangles in $\mathbb{R}^2_{[0, 1]}$] + Consider the instance space $X = \mathbb{R}^2_{[0, 1]}$ + and the concept class $\mathcal{C}$ of concepts represented by all the points contained within a rectangle parallel to the axes of arbitrary size. + + \begin{figure}[H] + \centering + \includegraphics[width=0.2\linewidth]{./img/_learning_rectangle.pdf} + \caption{Example of problem instance. The gray rectangle is the target concept, red dots are positive data points and blue dots are negative data points.} + \end{figure} + + An algorithm has to guess a classifier (i.e. a rectangle) without knowing the target concept and the distribution of its training data. + Let an algorithm $\mathcal{A}_\text{BFP}$ be defined as follows: + \begin{itemize} + \item Take as input some data $\{ ((x_1, y_1), p_1), \dots, ((x_n, y_n), p_n) \}$ where + $(x_i, y_i)$ are the coordinates of the point and $p_i$ indicates if the point is within the target rectangle. + \item Return the smallest rectangle that includes all the positive instances. + \end{itemize} + + Given the rectangle $R$ predicted by $\mathcal{A}_\text{BFP}$ and the target rectangle $T$, + the probability of error in using $R$ in place of $T$ is: + \[ \text{error}_{\mathcal{D}, T}(R) = \mathcal{P}_{x \sim \mathcal{D}} [ x \in (R \smallsetminus T) \cup (T \smallsetminus R) ] \] + In other words, a point is misclassified if it is in $R$ but not in $T$ or vice versa. + \begin{remark} + By definition of $\mathcal{A}_\text{BFP}$, it always holds that $R \subseteq T$. + Therefore, $(R \smallsetminus T) = \varnothing$ and the error can be rewritten as: + \[ \text{error}_{\mathcal{D}, T}(R) = \mathcal{P}_{x \sim \mathcal{D}} [ x \in (T \smallsetminus R) ] \] + \end{remark} + + + \begin{theorem}[Axes-aligned rectangles in $\mathbb{R}^2_{[0, 1]}$ PAC learnability] + It holds that: + \begin{itemize} + \item For every distribution $\mathcal{D}$, + \item For every error $0 < \varepsilon < \frac{1}{2}$, + \item For every confidence $0 < \delta < \frac{1}{2}$, + \end{itemize} + if $m \geq \frac{4}{\varepsilon}\ln\left( \frac{4}{\delta} \right)$, then: + \[ + \mathcal{P}_{D \sim \mathcal{D}^m} + \left[ \text{error}_{\mathcal{D}, T}\Big( \mathcal{A}_\text{BFP}\big(T(D)\big) \Big) < \varepsilon \right] > 1 - \delta + \] + where $D \sim \mathcal{D}^m$ is a sample of $m$ data points (i.e. training data) + and $T(\cdot)$ labels the input data wrt to the target rectangle $T$. + + \begin{proof} + By definition, the error of $\mathcal{A}_\text{BFP}$ is defined as: + \[ \text{error}_{\mathcal{D}, T}(R) = \mathcal{P}_{x \sim \mathcal{D}} [ x \in (T \smallsetminus R) ] \] + + Consider the space defined by $(T \smallsetminus R)$ divided in four sections $E_1 \cup \dots \cup E_4 = (T \smallsetminus R)$: + \begin{figure}[H] + \centering + \includegraphics[width=0.4\linewidth]{./img/_rectangle_space.pdf} + \end{figure} + + Consider the probabilistic event "$x \in E_i$". + For the training data $x \sim \mathcal{D}$ this holds iff none of those points + end up in $E_i$ as, if a training point is in $E_i$, $R$ would be bigger to include it and $E_i$ would be smaller. + + Now consider four other regions $F_1, \dots, F_4$ of the plane related to $E_i$ but defined differently + in such a way that $\mathcal{P}_{x \sim D}[x \in F_i] = \frac{\varepsilon}{4}$. + This can be achieved by expanding the $E_i$ regions to take some area of the rectangle $R$. + \begin{figure}[H] + \centering + \includegraphics[width=0.4\linewidth]{./img/_rectangle_space2.pdf} + \end{figure} + + Then, as $E_i$ are smaller than $F_i$, it holds that: + \[ + \begin{split} + \mathcal{P}_{x \sim D}[x \in E_i] < \frac{\varepsilon}{4} &\Rightarrow \mathcal{P}_{x \sim D}[x \in (T \smallsetminus R)] < \varepsilon \\ + & \Rightarrow \text{error}_{\mathcal{D}, T}(R) < \varepsilon + \end{split} + \] + + \textit{To be continued\dots} + \end{proof} + \end{theorem} +\end{example}