Unsupervised Learning
This git repository holds the scribe notes for lectures.
Quick Usage
Forking repo. Create a fork of this repo by clicking on Fork on the top-right corner of the page. See also: forking a repo
Generate main. Navigate to your local repository. In the root
directory contains the shell script make_main.sh
. This helps you
generate the main.tex
file for specific chapters.
$ ./make_main.sh
Warning: this operation will overwrite main.tex
Enter chapter numbers to generate: 1 2 6-9
Include parts? [yN]:
main file exported to ./main.tex
In the above example, this will generate a main.tex
file that will
load chapters 1,2,6,7,8,9. Leaving the chapter numbers blank will
generate the whole book.
Note: you may need to give make_main.sh
executable permission:
$ chmod +x make_main.sh
Note: if you cannot run the make_main.sh
file, you can copy the
main.tex.backup
file to main.tex
and make changes to the
main.tex
file manually.
Making a pull request. Once you've finalized your scribe notes, please submit a pull request on github. We will review your notes, and if no major changes need to be made, we will merge your branch into the master branch.
Compiling LaTeX. We recommend installing latexmk
(often comes
with texlive), and running:
$ latexmk -pdf main.tex
Organization
Here is the general shape of the tex-related files:
uml-notes/
|-style/
|-preamble.tex
|-chapter_1/
|-chapter_1.tex
|-1_section.tex
|-2_section.tex
.
.
|-references.bib
|-files/
|-img.png
.
.
|-main.tex
Our goal is to reduce the number of conflicts: each student will
scribe on a particular section(s) within a chapter. For example, the
section on k-means is chapter_1/3_kmeans.tex
.
The chapter_1/chapter_1.tex
file combines all the section files
together. This way, ideally, only one student will be modifying a tex
file at a time.
Best Practices
LaTeX We've defined some commonly used macros below you may feel free to use. Please don't edit the preambles before consulting with us! Let us know if you need to import an additional package or think we should include other macros.
USEFUL MACROS
PROBABILITY
Expectation: \E
Probability: \Pr
Variance: \Var
KL Div: \Div{}{} % looks like D( - || - )
LINEAR ALGEBRA
Matrix (bf): \mat{}
Vector (bf): \vec{}
ANALYSIS
Abs: \abs{}
Norm: \norm{}
Inner prod: \ip{}
Argmin: \argmin{}
Argmax: \argmax{}
Varepsilon: \eps
COMMON SETS
Reals: \bbR
Rationals: \bbQ
Naturals: \bbN
Complex Num: \bbC
Integers: \bbZ
Finite field: \bbF
git Everytime you edit any part of a line, git will save the change for the whole line. However, in text, a line could potentially be a whole paragraph. So, please consider turning on automatic word wrapping to help truncate each line at, say, 70 characters.
In emacs
, you can turn this on using:
M-x auto-fill-mode
In vim
, this is
:set tw=70