From a8b9675d2f308f338c2159d4d1657159ca6491e7 Mon Sep 17 00:00:00 2001 From: LSaldyt Date: Sat, 9 Dec 2017 15:14:53 -0700 Subject: [PATCH] Updates paper draft for final chi2 table --- papers/draft.tex | 39 +++++++++++++-------- papers/{formulas => resources}/adj.l | 0 papers/{formulas => resources}/best.py | 0 papers/{formulas => resources}/entropy.py | 0 papers/resources/final.pdf | Bin 0 -> 49550 bytes papers/{formulas => resources}/original.py | 0 papers/{formulas => resources}/weighted.py | 0 7 files changed, 24 insertions(+), 15 deletions(-) rename papers/{formulas => resources}/adj.l (100%) rename papers/{formulas => resources}/best.py (100%) rename papers/{formulas => resources}/entropy.py (100%) create mode 100644 papers/resources/final.pdf rename papers/{formulas => resources}/original.py (100%) rename papers/{formulas => resources}/weighted.py (100%) diff --git a/papers/draft.tex b/papers/draft.tex index f822dfe..473228b 100644 --- a/papers/draft.tex +++ b/papers/draft.tex @@ -11,6 +11,7 @@ %% Useful packages \usepackage{listings} \usepackage{amsmath} +\usepackage{pdfpages} \usepackage{graphicx} \usepackage[colorinlistoftodos]{todonotes} \usepackage[colorlinks=true, allcolors=blue]{hyperref} @@ -170,11 +171,11 @@ Then, desirability of answer distributions can be found as well, and the followi Also, as a general rule, changing these formulas causes copycat to produce statistically significantly different answer distributions. The original formula for curving probabilties in copycat: - \lstinputlisting[language=Python]{formulas/original.py} + \lstinputlisting[language=Python]{resources/original.py} An alternative that seems to improve performance on the "abd:abd::xyz:\_" problem: This formula produces probabilities that are not bounded between 0 and 1. These are generally truncated. - \lstinputlisting[language=Python]{formulas/entropy.py} + \lstinputlisting[language=Python]{resources/entropy.py} However, this formula worsens performance on non "xyz" problems. Likely, because of how novel the "xyz" problem is, it will require more advanced architecture changes. @@ -191,7 +192,7 @@ Then, desirability of answer distributions can be found as well, and the followi $U$ is the convergence value for when $T = 0$. The below formulas simply experiment with different values for $S$ and $U$ - \lstinputlisting[language=Python]{formulas/weighted.py} + \lstinputlisting[language=Python]{resources/weighted.py} After some experimentation and reading the original copycat documentation, it was clear that $S$ should be chosen to be $0.5$ (All events are equally likely at high temperature) and that $U$ should implement the probability curving desired at low temperatures. @@ -206,7 +207,7 @@ Then, desirability of answer distributions can be found as well, and the followi $1.05$ works because it very closely replicates the original copycat formulas, providing a very smooth curving. Values beneath $1.05$ essentially leave probabilities unaffected, producing no significant unique behavior dependent on temperature. - \lstinputlisting[language=Python]{formulas/best.py} + \lstinputlisting[language=Python]{resources/best.py} All of these separate formulas will later be cross-compared to other variants of the copycat software using a Pearson's $\chi^2$ test. @@ -226,29 +227,37 @@ Then, desirability of answer distributions can be found as well, and the followi To test each different branch of the repository, a scientific framework was created. Each run of copycat on a particular problem produces a distribution of answers. Distributions of answers can be compared against one another with a (Pearson's) $\chi^2$ distribution test. - [Insert $\chi^2$ formula] - [Insert $\chi^2$ calculation code snippets] + + $$\chi^2 = \sum_{i=1}^{n} \frac{(O_i - E_i)^2}{E_i}$$ + Where: + \newline + $O_i = $ The number of observations of a particular answer + \newline + $E_i = $ The number of expected observations of a particular answer + \newline + Then, $\chi^2$ is calculated, using one copycat variant as a source for expected observations, and another copycat variant as a source for novel observations. + If the $\chi^2$ value is above some threshold (dependent on degrees of freedom and confidence level), then the two copycat variants are significantly different. + A standard confidence level of $95\%$ is used, and degrees of freedom is calculated as the number of different answers given from the source-variant of copycat. + Because of this, comparing copycat variants like this is \emph{not} always commutative. \subsection{Effectiveness Definition} Quantitatively evaluating the effectiveness of a cognitive architecture is difficult. However, for copycat specifically, effectiveness can be defined as a function of the frequency of desirable answers and equivalently as the inverse frequency of undesirable answers. Since answers are desirable to the extent that they respect the original transformation of letter sequences, desirability can also be approximated by a concrete metric. - A simple metric for desirability is simply the existing temperature formula, or some variant of it. - So, a given version of copycat is quantitatively better if it produces lower-temperature answers more frequently. - However, recognizing lower-quality answers is also a sign of intelligence. - So, the extent to which copycat provides poor answers at low frequency and low desirability could be accounted for as well. - Arguably, though, copycat isn't explicitly programmed to do this. - For simplicity, desirability will be measured as the frequency of lower-temperature answers. - - Luckily, the definition for desirability of answer distributions is modular, such that each branch of copycat could be evaluated for answer desirability on each separate problem. + A simple metric for desirability is simply the existing temperature formula. + So, one metric for effectiveness of a copycat variant is the frequency of low-temperature answers. + $$e = \frac{\sum_{i=i}^{n} \frac{O_i}{T_i}}{N} $$ + For simplicity, only this metric will be used. + However, this metric could be extended relatively easily. + For example, the unique variants in copycat answers could be taken into account ($n$). \section{Results} \subsection{Cross $\chi^2$ Table} The below table summarizes the results of comparing each copycat-variant's distribution with each other copycat-variant. - [Insert cross $\chi^2$ table] + \includepdf[pages={-}]{resources/final.pdf} \section{Discussion} diff --git a/papers/formulas/adj.l b/papers/resources/adj.l similarity index 100% rename from papers/formulas/adj.l rename to papers/resources/adj.l diff --git a/papers/formulas/best.py b/papers/resources/best.py similarity index 100% rename from papers/formulas/best.py rename to papers/resources/best.py diff --git a/papers/formulas/entropy.py b/papers/resources/entropy.py similarity index 100% rename from papers/formulas/entropy.py rename to papers/resources/entropy.py diff --git a/papers/resources/final.pdf b/papers/resources/final.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9e45135b853d8d90d53cdd587ecdecbcd5b05c31 GIT binary patch literal 49550 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 z zHu6LR-+>1^sp-ys=!T}t(PqDpUkcAs`k7&G%0_vJNixI=rwolwYxY0{`OhGsPmp(y`{yh7FA}qU7gT`{xbv6j?faHR5xIq6R4?L3`W>j@;)50JMtn}=I@wx8&^P1oglZN6L z@H#>b+iFl`}e zDXfDpT0|(uI98~Xn8#$s)^hvXWiYn|ym;1$=n5J6$hib~zS%(n(`c+UrM01{oPaCR zW=W;wNLXI#(eOx|D=9t2>z%_h2i4Xz%VOT-vvf>|!6cX(pOmM0bjt9@6$`syyWp}F z6OMYB)#^aC>I+&5B=sMEsTb?CxH1VX;r6`B5gWgjfV_<1BTZimJ|pi=?G70%BaB^~ zyE8VZZmp8L#0(xwIQeO8SmrDJOHX)lX#R>b2ld>7r|P0xQ0pExGtz=d$<}8?To=Id zF;+hJC8{N=lUufXGqS3$Y8U$$k&(zEE|1l7S6ExP~Rt3#TSk?7?;-h@&6HyUCo@na5JoF_`LOCG)4}YB-pg@NJ8r zmG@P;ol%pI74=v5C|VH|l6YO3L(Ab(+t*A5$+`m98vHnK9LG^hUGa`M@(RxcmVz8l4`>O`c7q%>*N}BIVc}}x(V0@P z;-q|7RMOd;! zk2otIu7AKn8?F`4zKGg)JRo#D4T8^2Ub9!TUU^9Pm^+a|Yp%F+?%qiDUfG1Ol^nbK zQ)kR)+ao_u%FFIeI3oNc>q28^+maMh{-WR5Fn5w5C!27{pqJ^S_7X zug$g7BBu9r{Foyo~*Szar^V9 z?985aJi_X*ct6^5LT>3{*+jF>sZRbe$@D$rlCLzFdmK(fLxUw%e9PRu!al#;i|MaD z{~>`_P|%DxL*C_Te5bMX-1Qy?l~Rc9#h|cNPG@_S%>rK$7Us2e5R9y4&NH{>GXDz0 ztESDw&=;dxCedROX+1El^Qj%GRMHV1_I=!?RHfw3yjEkXv1vonWti_?xHA0>flGx; zTXN!JBV)wsYYl|n@(eHP_v$T7tHxSiE?5x?zF8p;-Z59p_m4nxm0#JM4ZP}ap)LcW z;W~@8&UV57PqqtKLJs!zbMYj4QE3~H9Dsef1H@G@SWS;Yb9OlZh8&|)TX|X+eOSCIX-q zHDMSi7>!1Ov50kVh~7HN<_AXO5I?v!KOhE}hYygJ-~M?Y_Kmy(vNoUrtR5Kt6O|Z5ccFrz3UHuTz>g1H0gXZ-PzqFqZyFMd zgQFBSW)-}?YwIJ#ckM^qw}@}QKWQ-ZFKc0F=r0-^0sBQm;4qss1Qv-zZqndLIQmB} zKk@@K?B+P29U~6DX)OYaLE$!Oa3lh{c`Y1?#BBCJVA0UcIRhT3&9wmII(L&vp3Goq)HEzHwv8?hF?&@XR5WG@2jyd!LAn e`~0m#1aL)t{ha828*c}&4-N)aQ87AZ4E{H(O?)Z< literal 0 HcmV?d00001 diff --git a/papers/formulas/original.py b/papers/resources/original.py similarity index 100% rename from papers/formulas/original.py rename to papers/resources/original.py diff --git a/papers/formulas/weighted.py b/papers/resources/weighted.py similarity index 100% rename from papers/formulas/weighted.py rename to papers/resources/weighted.py