diff --git a/tikz/2d-epochs-overfitting/2d-epochs-overfitting.png b/tikz/2d-epochs-overfitting/2d-epochs-overfitting.png new file mode 100644 index 0000000..c6502c2 Binary files /dev/null and b/tikz/2d-epochs-overfitting/2d-epochs-overfitting.png differ diff --git a/tikz/2d-epochs-overfitting/2d-epochs-overfitting.tex b/tikz/2d-epochs-overfitting/2d-epochs-overfitting.tex new file mode 100644 index 0000000..cf4e54a --- /dev/null +++ b/tikz/2d-epochs-overfitting/2d-epochs-overfitting.tex @@ -0,0 +1,46 @@ +\documentclass[varwidth=true, border=2pt]{standalone} + +\usepackage{pgfplots} +\usepackage{tikz} +\usetikzlibrary{positioning} +\usetikzlibrary{decorations.text} +\usetikzlibrary{decorations.pathmorphing} + +\begin{document} +\begin{tikzpicture} + \begin{axis}[ + legend pos=north east, + axis x line=middle, + axis y line=middle, + grid = major, + %width=9cm, + %height=4.5cm, + grid style={dashed, gray!30}, + xmin=-1, % start the diagram at this x-coordinate + xmax= 100, % end the diagram at this x-coordinate + ymin=-0.01, % start the diagram at this y-coordinate + ymax= 0.98, % end the diagram at this y-coordinate + axis background/.style={fill=white}, + xlabel=Epochs, + ylabel=Error, + %xticklabels={-2,-1.6,...,7}, + %yticklabels={-8,-7,...,8}, + tick align=outside, + minor tick num=-3, + enlargelimits=true, + tension=0.08] + \addplot[domain=2:50, red, thick,samples=200] {(x-50)^2/2700 + 0.1}; + \addplot[domain=4:50, green, thick,samples=200] {(x-50)^2/2700 + 0.2}; + + \addplot[domain=50:100, red, thick,samples=200] {0.1}; + \addplot[domain=50:100, green, thick,samples=200] {(x-50)^2/10000 + 0.2}; + + \draw[dashed] (axis cs:50,0.1) -- (axis cs:50,0.2); + \draw[decoration={text along path, text={overfitting}, text align={center}}, decorate] (axis cs:51,0.15) -- (axis cs:90,0.15); + \draw[->] (axis cs:51,0.15) -- (axis cs:90,0.15); + + \addlegendentry{Training} + \addlegendentry{Testing} + \end{axis} +\end{tikzpicture} +\end{document} diff --git a/tikz/2d-epochs-overfitting/Makefile b/tikz/2d-epochs-overfitting/Makefile new file mode 100644 index 0000000..d34c19e --- /dev/null +++ b/tikz/2d-epochs-overfitting/Makefile @@ -0,0 +1,33 @@ +SOURCE = 2d-epochs-overfitting +DELAY = 80 +DENSITY = 300 +WIDTH = 512 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot + +gif: + pdfcrop $(SOURCE).pdf + convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif + make clean + +png: + make + make svg + inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png + +transparentGif: + convert $(SOURCE).pdf -transparent white result.gif + make clean + +svg: + #inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg + pdf2svg $(SOURCE).pdf $(SOURCE).svg + # Necessary, as pdf2svg does not always create valid svgs: + inkscape $(SOURCE).svg --export-width=$(WIDTH) --export-plain-svg=$(SOURCE)1.svg + rsvg-convert -a -w 720 -f svg $(SOURCE)1.svg -o $(SOURCE).svg + rm $(SOURCE)1.svg diff --git a/tikz/2d-epochs-overfitting/README.md b/tikz/2d-epochs-overfitting/README.md new file mode 100644 index 0000000..e0f0e04 --- /dev/null +++ b/tikz/2d-epochs-overfitting/README.md @@ -0,0 +1,3 @@ +Compiled example +---------------- +![Example](2d-epochs-overfitting.png)