tag:blogger.com,1999:blog-11390197821379747912024-03-05T17:20:13.090+08:00Munie Ahmad - A Makeup Artist, A Researcher, A StudentMunie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.comBlogger15125tag:blogger.com,1999:blog-1139019782137974791.post-35277493588087566152010-12-02T14:45:00.002+08:002010-12-02T16:16:20.879+08:00Letter size: DVI > PS > PDF<div>LaTeX will generate A4 size paper as default.</div><div><br /></div>use command: <div>dvips -t letter mydoc.dvi<div>--> will produce .ps file.</div><div><br /></div><div>then just use dvipdf: </div><div>--> dvipdf calls dvips behind the scenes, so if you pass it "-t letter", you should end up with an 8.5"x11" (letter size) PDF document.</div></div>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com0tag:blogger.com,1999:blog-1139019782137974791.post-31629627346334009812010-08-27T11:24:00.007+08:002010-08-27T12:17:47.505+08:00LaTeX for beginner: useful tips to avoid headache!<div style="text-align: justify;"><span class="Apple-style-span" style="font-family:arial;">Maybe not for a good beginner, but I just got a massive headache while dealing with tables and figures placement in LaTeX. This is the cost of learning-by-doing (yea, serves me right). To avoid repeating the same headache-cause, I listed the tips & related links here.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family:arial;">1. LaTeX/Floats, Figures and Captions by WikiBooks</span></div><div style="text-align: justify;"><a href="http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions"><span class="Apple-style-span" style="font-family:arial;">http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions</span></a></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family:arial;">2. TeX Resources by </span><a href="http://www.math.uiuc.edu/~hildebr/"><span class="Apple-style-span" style="font-family:arial;">A.J. Hildebrand</span></a></div><div style="text-align: justify;"><a href="http://www.math.uiuc.edu/~hildebr/tex/"><span class="Apple-style-span" style="font-family:arial;">http://www.math.uiuc.edu/~hildebr/tex/</span></a></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family:arial;">3. LaTeX Tips: Basic tips (also by </span><a href="http://www.math.uiuc.edu/~hildebr/"><span class="Apple-style-span" style="font-family:arial;">A.J. Hildebrand</span></a><span class="Apple-style-span" style="font-family:arial;">)</span></div><div style="text-align: justify;"><a href="http://www.math.uiuc.edu/~hildebr/tex/basics.html"><span class="Apple-style-span" style="font-family:arial;">http://www.math.uiuc.edu/~hildebr/tex/basics.html</span></a></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family:arial;">Below is the copy of the page (just in case it is unavailable).</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family:arial;">------------------------------------------------------------------------------------------------</span></div><div style="text-align: justify;"><span class="Apple-style-span" style=" font-weight: bold; "><span class="Apple-style-span" style="font-size:large;"><span class="Apple-style-span" style="font-family:arial;">LaTeX Tips: Basic tips</span></span></span></div><div><h2 style="text-align: justify; font-family:'Times New Roman';"><span class="Apple-style-span" style="font-size:large;"><span class="Apple-style-span" style="font-family:arial;">Books</span></span></h2><ul style=" ;font-size:medium;"><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">G. Gratzer, Math into LaTeX.</span></b><span class="Apple-style-span" style="font-family:arial;"> A must-have for anyone using LaTeX for mathematical typing, this is the only book describing, in detail, the AMS enhancements to LaTeX ("ams-latex") that greatly facilitate the typesetting of mathematical material. It is suitable for beginners, but is also an indispensable reference for experienced TeX users.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">H. Kopka and P.W. Daly, A guide to LaTeX.</span></b><span class="Apple-style-span" style="font-family:arial;"> The best general LaTeX book. For intermediate users.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">M. Goossens and F. Mittelbach, The LaTeX Companion; M. Goossens, S. Raatz, and F. Mittelbach, The LaTeX Graphics Companion. </span></b><span class="Apple-style-span" style="font-family:arial;">This pair of books covers many of the "packages" and add-ons that are available for LaTeX. For intermediate to advanced users, these books complement Gratzer and Kopka/Daly.</span></li></ul><h2 style="text-align: justify; font-family:'Times New Roman';"><span class="Apple-style-span" style="font-size:large;"><span class="Apple-style-span" style="font-family:arial;">General</span></span></h2><ul style=" ;font-size:medium;"><li><div style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Avoid manual formatting commands.</span></b><span class="Apple-style-span" style="font-family:arial;"> Of all the mistakes people make when typesetting LaTeX, attempting to format text manually instead of using predefined LaTeX macros for this purpose, is probably the most common. and the most frustrating for a publisher. Manual formatting includes inserting vertical or horizontal spacing with \bigskip, \vskip, \vfill, etc., setting explicit line breaks (\\, \newline), preventing paragraph indentation with \noindent's, setting theorems via explicit font instructions ({\bf Theorem:}), coding section headings manually (\centerline{\bf Introduction}), etc. Avoid such commands, and use instead proper LaTeX constructs such as \section{...}, or \begin{theorem}... \end{theorem}. Leave the formatting up to LaTeX, which does a very good job at that. The output obtained by letting TeX decide on the amount of spacing looks almost always better than what an author could achieve by inserting spacing commands; if you want a different "look", change to a different documentclass (e.g., use article instead of amsart, or vice versa), or change parameters globally (e.g., setting \parskip=8pt adds a bit of vertical space between paragraphs). The latter, however, should be used only sparingly, if at all.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family:arial;">There are situations where manual formatting commands are appropriate; for example, the "bibitems" in the "thebibliography" environment must be formatted manually. However, those situations are very rare.</span></div></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Avoid using nonstandard documentclasses; use article or amsart (or, for book-size documents, book) as documentclass.</span></b><span class="Apple-style-span" style="font-family:arial;"> The "article" and "amsart" documentclasses are all-purpose documentclasses that are part of the standard TeX distribution and which can be used for almost everything, not just "articles." The two classes format articles differently (e.g., section headings are set in different font sizes), so pick whichever you like best. You might want to pick one class and then stick with it, rather than switching back and forth. One reason for this is that the syntax for the topmatter material (author, title, etc.) is slightly different in the two classes, so if you want to switch from one class to the other, you will need to edit that part of the document. Some publishers have their own customized documentclasses and ask authors to submit papers written in those classes. Papers written with such nonstandard documentclasses are not "portable", since the documentclasses are not part of the standard TeX distribution, and others will not be able to compile the tex file (at least not without going through the trouble of having to download the customized documentclass from the publisher's website). For this reason, I would suggest to write your paper in one of the standard documentclasses (article or amsart), and use that version for posting on websites or submitting to preprint servers, or for circulating by email. I would only convert the paper to the publisher's documentclass (a process that is usually straightforward, in contrast to the a conversion in the other direction - from a customized documentclass to one of the standard classes), when the paper is in final form, accepted, and the publisher or editor is asking for the tex file of the paper.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">If you use the article class, be sure to load the ams packages with \usepackage{amsmath, amsthm}.</span></b><span class="Apple-style-span" style="font-family:arial;"> Adding this line after \documentclass makes the standard ams latex enhancements (such as align and theorem/proof environments) available. (With the amsart documentclass these packages are loaded automatically, so this isn't necessary.) For most purposes you won't need any of the additional ams packages; an exception is the "amssymb" package which you may need to load if you require special symbols.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">To enlarge or scale a LaTeX document, increase the font size by adding the option "[12pt]" or "[11pt]" to the documentclass.</span></b><span class="Apple-style-span" style="font-family:arial;"> The plain TeX \magnification command does not work with LaTeX.</span></li></ul><h2 style="text-align: justify; font-family:'Times New Roman';"><span class="Apple-style-span" style="font-size:large;"><span class="Apple-style-span" style="font-family:arial;">Math</span></span></h2><ul style=" ;font-size:medium;"><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Use align instead of eqnarray for multiline displayed equations.</span></b><span class="Apple-style-span" style="font-family:arial;"> Align is part of the ams-latex package and is available whenever the amsmath package has been loaded (see above). There rarely is a need for using anything else (other than the variant align* which works just like align, except that it does not generate equation numbers). In particular, align supersedes the eqnarray environment, it is easier to use, and it does a much better job in displaying mathematics than eqnarray. For example, one annoying problem with eqnarray is that in displays with long lines equation numbers may get partially overwritten. Align is much smarter in handling this situation: if there is not enough room for an equation number, the equation number automatically gets moved up or down.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Other ams-latex display environments.</span></b><span class="Apple-style-span" style="font-family:arial;"> Ams-latex provides several other environments for multiline displays, such as gather, multline, aligned, split, etc. The variety of options may be confusing, but none of these is particularly important, and you can get by with just using align or align*.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Align multiline displays right before equal signs or their equivalents (e.g., a "less than" symbol).</span></b><span class="Apple-style-span" style="font-family:arial;"> If that's not possible and you have to break up an expression in the middle, move the continuation line a bit to the right by placing a \qquad right after the alignment symbol.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Use \quad or \qquad for spacing in displayed math material.</span></b><span class="Apple-style-span" style="font-family:arial;"> Usually it's best to leave the spacing up to TeX. However, if explicit horizontal spacing is needed (for example, to set an expression like "(n \to \infty)" apart from the rest of the display, or to separate two equations on the same line), \quad (or, occasionally, \qquad which equals two \quad's) in most cases generates the right amount of space. Don't try to create spacing with a bunch of explicit spaces ("\ "); the spacing generated in this way is usually not optimal, and the explict spaces will likely have to be removed (and possibly replaced by \quad) when the paper is typeset at the publisher's end.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Avoid blank lines before or after a display, unless you really want to start a new paragraph.</span></b><span class="Apple-style-span" style="font-family:arial;"> It is tempting to surround displayed math material by blank lines in the source file, to make them stand out and easier to locate. However, this is usually wrong, since blank lines are interpreted as paragraph breaks, may generate some additional vertical spacing and cause the next line of text to be indented - something you usually don't want. If you want to set off displays in your source file, do so by inserting a line with comment symbols, such as "%%%%% equation 3.1 %%%%%%%%%%%%%%" before and/or after the display.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Use the bracket pair \[ and \] instead of double dollar signs ($$).</span></b><span class="Apple-style-span" style="font-family:arial;"> In TeX and amstex the double dollar symbol is used to delimit displayed math material. This still works in LaTeX (and a lot of people, including myself, still use it since old habits are hard to get rid of), but its use is discouraged, and it is possible that in future versions it may no longer work.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Use "\tag" for manually set equation numbers.</span></b><span class="Apple-style-span" style="font-family:arial;"> Parentheses are generated automatically, so to get "(4a)", you'd use \tag{4a}.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Use "\eqref" instead of "\ref" for references to (labelled) equations.</span></b><span class="Apple-style-span" style="font-family:arial;"> This ams-latex command works just like \ref, but it automatically creates parentheses, which makes it easier to use.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Use \substack{...} for multiline subscripts on sums or integrals.</span></b><span class="Apple-style-span" style="font-family:arial;"> \substack is provided by the ams-latex package and works much like the \sb ... \endsb pair in amstex. It is much easier to use, and produces better looking output, than an array environment or a construct using \atop (derived from plain tex).</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Declare theorems with \newtheorem or \newtheorem*.</span></b><span class="Apple-style-span" style="font-family:arial;"> If you don't want to use the automatic numbering mechanism, just add one \newtheorem* declaration for each theorem, lemma, etc. to the preamble, using some simple labeling scheme. (Use the asterisk version, \newtheorem*, to prevent theorem numbers from being generated.) E.g., \newtheorem*{theoremA1}{Theorem A1}, \newtheorem*{theoremA2}{Theorem A2}, etc. Note that theorem declarations can contain numbers and punctuation symbols, in contrast to ordinary macros; thus you can give "Theorem A.2" the label "theoremA.2".</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Use the \begin{proof} ... \end{proof} environment for proofs.</span></b><span class="Apple-style-span" style="font-family:arial;"> This is part of the ams-latex package and works much like the \demo ... \enddemo pair in amstex. In particular, it adds a bit of space before and after the proof, and a "qed symbol" (a hollow square) at the end of the proof. </span><b><span class="Apple-style-span" style="font-family:arial;">Placing of qed symbol.</span></b><span class="Apple-style-span" style="font-family:arial;"> An important rule is that you should not leave a blank line before "\end{proof}" since that would indicate a paragraph break and would cause the qed symbol to be placed one line below where you want it. If the proof ends with a displayed equation, then "\end{proof}" would normally place the symbol one line below the display, which looks odd. To place the symbol on the same line as the display, add "\qedhere" at the end of the display. (This is explained in Gratzer's book.)</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Use \operatorname{...} or \DeclareMathOperator for "math operators" that are not predefined.</span></b><span class="Apple-style-span" style="font-family:arial;"> Most common functions and operators in mathematics have predefined macros (such as \sin, \arctan, \max, \limsup, \mod) that automatically print the "operator" in an upright (rather than italic) font when used in math mode; this is the desired look. However, if you need an operator that is not predefined, say "rank", it will not look right if you just type $rank(A)$. What you should do is replace "rank" by "\operatorname{rank}"; if you need this more than a few times, it is worth defining a new operator, say \rank, with the \DeclareMathOperator macro (see the Gratzer book for details).</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Use \left and \right for delimiters surrounding "large" expressions (like sums or fractions).</span></b><span class="Apple-style-span" style="font-family:arial;"> An expression like $(\sum_{i=1}^na_i)^2$, surrounded by ordinary parentheses, looks very poor when typeset. Preceding the two parentheses by \left and \right causes TeX to automatically size the parentheses. Note that \left and \right must occur in pairs and you cannot break lines, or put an alignment symbol, inside such a pair. A rather common, but hard to diagnose, error arises when this rule is not followed.</span></li></ul><h2 style="text-align: justify; font-family:'Times New Roman';"><span class="Apple-style-span" style="font-size:x-large;"><span class="Apple-style-span" style="color:#FF0000;"><span class="Apple-style-span" style="font-family:arial;">Tables, pictures, and graphics</span></span></span></h2><ul style=" ;font-size:medium;"><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Use the options [h], [!h], etc., to finetune the placement of tables and figures.</span></b><span class="Apple-style-span" style="font-family:arial;"> LaTeX uses sophisticated algorithms to decide where to place tables and figures enclosed in \begin{table} ... \end{table} or \begin{figure} ... \end{figure} environments. Usually, this works just fine, but occasionally (especially with documents that have lots of figures or tables), this results in a poor placement - for example, in the middle of a bibliography. To correct this, first try adding one of the options [h], [t], or [b], to \begin{table} or \begin{figure}; e.g., \begin{table}[h] asks for placement of the table "here" (i.e., at the place where table appears in the document). (Similarly, the options "[t]" and "[b]" ask for placement at the top resp. bottom of the page.) If this does not work, add an exclamation mark to the option (e.g., "[!h]"). As a last resort, you could insert a pagebreak with \clearpage at a place where you want the table to appear, possibly combined with one or more "\suppressfloats" instructions at places where you don't want the table to appear.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Use the "graphicx" package to include graphics produced by external programs.</span></b><span class="Apple-style-span" style="font-family:arial;"> The ideal graphics format for inclusion in a LaTeX document is "encapsulated postscript" or eps. Files in this format usually can be recognized by a filename with a ".eps" extension. Nearly all picture generating programs (including Mathematica, xfig, or Windows/Mac tools like MS Word, Paint, etc.) have the ability to save the graphics as an eps file. Once you have your graphics in eps format, use the "graphicx" package to import these files into your TeX document, by (i) adding \usepackage{graphicx} (note the "x" at the end!) to the preamble to load the graphicx package, and (ii) adding an instruction of the form \includegraphics{file.eps} at the place you want the graphics to appear, for each such file. For (much) more on this, consult the "epslatex" documentation, which you can call up and print out with the command "texdoc epslatex.ps". Other methods of including graphics, such as the "epsf" or "epsfig" packages, are considered obsolete and their use is discouraged (though they may still work).</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Commutative diagrams.</span></b><span class="Apple-style-span" style="font-family:arial;"> Simple diagrams can be created with the "CD" environment, provided by the "amscd" package (to load this package, add the line "\usepackage{amscd}" to the preamble). This environment is derived from the \CD ... \endCD environment in amstex, and the syntax is basically the same. For more complex diagrams, there is the "xy-pic" program (to be loaded by the line "\usepackage{xy}"), an amazingly powerful and versatile tool, with which you can draw pretty much every diagram that you might encounter in mathematics. The program is documented in a short guide "xyguide" and a comprehensive reference manual "xyrefer", which you can call up and print out with "texdoc xyguide.ps" and "texdoc xyrefer.ps".</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Drawing figures by hand.</span></b><span class="Apple-style-span" style="font-family:arial;"> If you need to draw a picture by hand, use "xfig", which is available on the math department's Unix system. xfig is powerful, yet easy to use and intuitive, and it comes with extensive documentation and help files. Once you have created a picture in xfig, save it in eps format and import it into the LaTeX document as shown above.</span></li></ul><h2 style="text-align: justify; font-family:'Times New Roman';"><span class="Apple-style-span" style="font-size:large;"><span class="Apple-style-span" style="font-family:arial;">Miscellany</span></span></h2><ul style=" ;font-size:medium;"><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Putting TeX documents on the web.</span></b><span class="Apple-style-span" style="font-family:arial;"> The cleanest, easiest, and quickest way to make a TeX document available on the web is to convert it to pdf format and then post the pdf file. The conversion from LaTeX to pdf is a painless one step process: just say "pdflatex file.tex" to generate a pdf file "file.pdf" directly from a LaTeX file "file.tex". I have been using this method to make class materials available to students, and I have converted hundreds of documents in this way, without encountering a single problem. Other approaches, such as converting TeX files to html files with embedded gif's, are more cumbersome to use, more prone to errors, and the resulting web pages generally look rather poor.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Printing dvi files from within xdvi.</span></b><span class="Apple-style-span" style="font-family:arial;"> Unfortunately, direct printing from the xdvi screen is not possible. You need to exit xdvi and then use dvips to get a printed copy of the program. If the dvi file is one that you have created and which is therefore readily accessible, this is no problem, but you might find yourself in a situation where a program such as netscape or texdoc calls up xdvi to view a file, and you have no idea where the file is located or what the file name is. Here is what you can do in these cases: In netscape, if a postscript or pdf version of the document is provided (this is the case with, for example, MathSciNet or the ArXiv), click on the links corresponding to those versions. If only a dvi version is provided, download the file </span><b><span class="Apple-style-span" style="font-family:arial;">before</span></b><span class="Apple-style-span" style="font-family:arial;"> clicking on the link with the filename, then use dvips on the downloaded copy of this file to get a printout. With texdoc, try to specify the filename with a ps extension; e.g., "texdoc thesis.ps" instead of "texdoc thesis". If there are both a ps and a dvi version of the document on our system, then specifying the ps extension will force the ps version to be displayed with ghostview or gv, and you can print the file directly from ghostview. If there is a dvi version, but no ps version (as in the case of "fancyhdr"), find the parent directory of the dvi version using the "locate" tool, then use dvips with the full pathname to the dvi file as argument. In the fancyhdr example, you'd say "locate fancyhdr.dvi" to find the location of fancyhdr.dvi (underneath /usr/local/encap/teTeX/), and and then use "dvips /usr/local/encap/teTeX/share/texmf/doc/latex/fancyhdr/fancyhdr.dvi".</span></li><li><div style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Citations.</span></b><span class="Apple-style-span" style="font-family:arial;"> The advice against manual coding applies here as well. Use the built-in cite mechanism of LaTeX: instead of "[3]" or "[Wi96]" use "\cite{3}" or "\cite{Wi96}" to reference bibliography items. This has a number of advantages, the most important of which is that it makes adding or deleting a bibliography item a painless process since LaTeX automatically renumbers references. (When you do this, be sure to run latex on the file (at least) twice, since the renumbering process requires two (or more) passes.) Another advantage of using the \cite mechanism is that it makes it easy to change citation styles: if the bibliography is generated by bibtex, all you need to do is replace one bibliography style by another, e.g. \bibliographystyle{amsplain}" by "\bibliographystyle{amsalpha}". If the bibliography is set with \bibitem's, change the optional argument in \bibitem to whatever you want the label for the corresponding record in the bibliography to show, regardless of the citation key. E.g., \bibitem[Wiles1995]{wi95} produces a record with label "[Wiles1995]" but can be cited with \cite{wi95}.</span></div><b><div style="text-align: justify;"><span class="Apple-style-span" style="font-weight: normal; "><b><span class="Apple-style-span" style="font-family:arial;">Arguments in citations.</span></b></span><span class="Apple-style-span" style="font-weight: normal; "><span class="Apple-style-span" style="font-family:arial;"> Often one needs to refer to a specific theorem, section, page, etc., in a reference. The standard way to do this is by saying something like "by [5, Theorem 3.5] we have ..."; the proper way to code this using the \cite mechanism is to include the page/theorem/etc. reference in brackets, as an argument to \cite: "by \cite[Theorem 3.5]{5}" we have ..."</span></span></div></b></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Bibliographies set with bibitems.</span></b><span class="Apple-style-span" style="font-family:arial;"> There are two ways to generate bibliographies in LaTeX: either by coding each reference as a "\bibitem", placed inside a \begin{thebibliography} ... \end{thebibliography} environment within the main tex file; or by creating a separate database with bibliography records, and using a program called "bibtex" to process that database. The BibTeX approach is much more complicated and has a steep learning curve (it takes up an entire chapter in Gratzer's book), so I would recommend that beginners stick to the "\bibitem" method. I would also recommend using the "\bibitem" method for documents that have only a few bibliography items; for short bibliographies creating a bibtex database is overkill. There are several commonly accepted ways to format bibliography records with \bibitem's (e.g., putting titles inside \emph{...} and setting journal names in ordinary (Roman) font, or vice versa); look at some examples from Gratzer's book, but whatever style you choose, be sure to be consistent and format all records in the same manner.</span></li><li style="text-align: justify;"><b><span class="Apple-style-span" style="font-family:arial;">Bibliographies set with BibTeX.</span></b><span class="Apple-style-span" style="font-family:arial;"> The alternative method to create a bibliography is to create a separate file containing the bibliography records (and standard extension ".bib"), and read in this file into the main tex file with a "\bibliography{...}" command. The bib file has to be formatted according to rather rigid specifications; learning the proper syntax of the bib records takes some time, and keying in bibliography records in this syntax takes longer than keying the same records as \bibitems. However, the advantage of this approach is that you have to do this only once; if you write another paper that references some of the same records, you can use the same bibliography file. In fact, you can create a bibliographical database of all literature items that are of interest to you and use this database as a master database for your papers. Another significant advantage of using BibTeX is that you can download BibTeX formatted citations from MathSciNet and add these to your bibtex database. This saves you from having to enter the records manually and, more importantly, it ensures that the citations follow the standard conventions for journal abbreviations, punctuation, etc.</span></li></ul><div style="text-align: justify;"><span class="Apple-style-span" style="font-family:'Times New Roman';"><span class="Apple-style-span" style="font-size:medium;"><br /></span></span></div></div>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com0tag:blogger.com,1999:blog-1139019782137974791.post-55793481076953256182010-07-14T18:15:00.001+08:002010-07-14T18:15:31.254+08:00IR Evaluation using Rank-Biased PrecisionUseful information on IR Evaluation<div style="width:425px" id="__ss_1398200"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/ofer/ir-evaluation-using-rankbiased-precision" title="IR Evaluation using Rank-Biased Precision">IR Evaluation using Rank-Biased Precision</a></strong><object id="__sse1398200" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=rbp-090507011812-phpapp02&stripped_title=ir-evaluation-using-rankbiased-precision" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse1398200" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=rbp-090507011812-phpapp02&stripped_title=ir-evaluation-using-rankbiased-precision" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/ofer">Ofer Egozi</a>.</div></div>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com0tag:blogger.com,1999:blog-1139019782137974791.post-67109056423520049782010-06-15T13:45:00.002+08:002010-06-15T13:53:10.606+08:00Evaluation: Validation, Metrics, Graphical MeasuresSource: malibu (machine learning workbench) <div><a href="http://proteomics.bioengr.uic.edu/malibu/docs/evaluation.html">http://proteomics.bioengr.uic.edu/malibu/docs/evaluation.html</a><div><br /></div><div><span class="Apple-style-span" style="font-family: Verdana, Arial, SunSans-Regular, sans-serif; "><h5 align="center">Evaluation</h5><div align="center"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://proteomics.bioengr.uic.edu/malibu/docs/evaluation.html#validation" class="site" style="text-decoration: none; ">Validation Algorithms</a></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://proteomics.bioengr.uic.edu/malibu/docs/evaluation.html#metrics" class="site" style="text-decoration: none; ">Metrics</a></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://proteomics.bioengr.uic.edu/malibu/docs/evaluation.html#graphs" class="site" style="text-decoration: none; ">Graphical Measures</a></p></div><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><span class="malibu" style="color: rgb(204, 102, 0); ">malibu</span> implements a number of algorithms and measures to evaluate the performance of a two-class supervised learning tool. This is necessary to both select the best model and evaluate the performance of the learner.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><strong><br /></strong></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><strong><br /></strong></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><strong>Validation Algorithms</strong><a name="validation" id="validation"></a></p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">To facillate understanding of each validation algorithm, there is a graphical representation illustraing the proportion of data from the dataset used for training, testing or nothing. The circles below represent some proportion fo the dataset. For each example, they are divided into 12 slices. The coloring system goes as follows: red slices represent the proportion of the dataset used for testing, blue for training and yellow are unused or not used yet. The one exception is the bootstrap method were dark blue represents repeated examples such that the training set size equals the size of the dataset.</p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/validation_key3.png" width="91" height="59" /></p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><em>Holdout Validation</em></p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The best method to determine the true generalization ability of the learning algorithm is evaluate its performance on unseen examples. The holdout method divides the dataset into two portions, usually 2/3 for training and 1/3 for testing. For small datasets, this method is often repeated for random paritions of the dataset.</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><div align="center"><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/holdout.png" width="43" height="43" /></div><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><em>Resubstitution</em></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The resubstituion or self-consistency test evaluations the classifier over the same set of examples used for training (training set). This test often gives an overly optimistic estimate of the true generalization error. This method is not often used to evaluate the performance of a classifier.</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/self.png" width="232" height="60" /></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><em>Crossvalidation</em></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">When the dataset is small, holdout fails to give a accurate estimation of the classifiers performance. Instead, crossvalidation has been show to outperform holdout in this case. n-fold cross-validation divides the dataset into n parts where n-1 parts are used for training and the left out n part is used for testing. This process is iterated such that every part is used for testing once. An exterme case of cross-validation is leave-one-out crossvalidation where every instance expect one is used for training and the left out instance for testing. This procedure is repeated for every instance in the dataset. A single run of 10-fold cross-validation is often used in practice (to obtain a valid confidence interval).</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><div align="center"><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/cv.png" alt="Cross-validation" width="174" height="43" /></div><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><em>Progressive Validation</em></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Another method used to improve the holdout estimate is progressive validation. The generalization error is as good as a single holdout however, progressive validation uses half the number of examples on average for training. Progressive validation is performed by splitting the dataset into two parts then training the classifier on the first part and testing a single instance from the second part. This instance is then added to the training set and the procedure continues for each instance in the second part.</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><div align="center"><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/progressive.png" width="267" height="44" /></div><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br /></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><em>Bootstrap Validation</em></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The bootstrap method samples the data with replacement generating a training set the size of the original dataset. Any examples not used in the training set are used for testing. This procedure is repeated. Approximatly 1/3 of the examples are left out on any given round of bootstrap for testing. In many cases, boostrap in superior to cross-validation; however, there seems to be just as many cases where cross-validation is superior.</p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/bootstrap.png" width="243" height="102" /></p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><div class="reference" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(238, 238, 238); border-top-color: rgb(153, 204, 255); border-right-color: rgb(153, 204, 255); border-bottom-color: rgb(153, 204, 255); border-left-color: rgb(153, 204, 255); border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: thin; border-right-width: thin; border-bottom-width: thin; border-left-width: thin; border-style: initial; border-color: initial; padding-top: 10px; padding-bottom: 10px; background-position: initial initial; background-repeat: initial initial; "><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Kohavi, Ron. "<a href="http://robotics.stanford.edu/~ronnyk/accEst.ps" target="_blank" class="web" style="text-decoration: none; ">A Study of Cross-Validation and Bootstrap for Accuracy Esimation and Model Selection</a>." Paper presented at the International Joint Conference on Artificial Intelligence, Montreal, Canada 1995.</p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Blum, Avrim, Adam Kalai, and John Langford. "<a href="http://hunch.net/~jl/projects/prediction_bounds/progressive_validation/coltfinal.pdf" target="_blank" class="web" style="text-decoration: none; ">Beating the Hold-Out: Bounds for K-Fold and Progressive Cross-Validation</a>." Paper presented at the Twelfth Annual Conference on Computational Learning Theory Santa Cruz, California 1999.</p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Efron, Bradley. "<a href="http://links.jstor.org/sici?sici=0162-1459(198306)78%3A382%3C316%3AETEROA%3E2.0.CO;2-7" target="_blank" class="web" style="text-decoration: none; ">Estimating the Error Rate of a Prediction Rule: Improvement on Cross-Validation</a>." Journal of the American Statistical Association 78, no. 382 (1983): 316-31.</p></div><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><strong><br /></strong></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><strong><br /></strong></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><strong>Metrics</strong></p></span></div><div><span class="Apple-style-span" style="font-family:Verdana, Arial, SunSans-Regular, sans-serif;"><i><span class="Apple-style-span" style="font-style: normal; "><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">A scalar metric can easily be tabulated in terms of successes, failures and draws. It should be kept in mind the circumstances that a scalar represents.</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><em>Threshold</em></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">A threshold metric reflects the performance of a classifier at a particular threshold, usually 0. These metrics are derived from a confusion matrix (or contingency table), which counts the number of correct/incorrect predictions for a particular class. For two classes:</p><ul><li>True positive (TP): a prediction that is postive and correct</li><li>True negative (TN): a prediction that is negative and correct</li><li>False positive (FP): a prediction that is postive and incorrect</li><li>False negative (FN): a prediction that is negative and incorrect</li></ul><table class="confusion" width="175" border="0" align="center" cellpadding="0" cellspacing="0" style="border-top-color: initial; border-top-style: initial; border-top-width: thin; border-left-color: initial; border-left-style: initial; border-left-width: thin; "><tbody><tr><td width="48" class="confusiontd" style="border-bottom-color: initial; border-bottom-style: initial; border-bottom-width: thin; border-right-color: initial; border-right-style: initial; border-right-width: thin; "> </td><td width="67" class="confusiontd" style="border-bottom-color: initial; border-bottom-style: initial; border-bottom-width: thin; border-right-color: initial; border-right-style: initial; border-right-width: thin; ">Positive</td><td width="70" class="confusiontd" style="border-bottom-color: initial; border-bottom-style: initial; border-bottom-width: thin; border-right-color: initial; border-right-style: initial; border-right-width: thin; ">Negative</td></tr><tr><td class="confusiontd" style="border-bottom-color: initial; border-bottom-style: initial; border-bottom-width: thin; border-right-color: initial; border-right-style: initial; border-right-width: thin; ">Postive</td><td class="confusiontd" style="border-bottom-color: initial; border-bottom-style: initial; border-bottom-width: thin; border-right-color: initial; border-right-style: initial; border-right-width: thin; "><div align="center">TP</div></td><td class="confusiontd" style="border-bottom-color: initial; border-bottom-style: initial; border-bottom-width: thin; border-right-color: initial; border-right-style: initial; border-right-width: thin; "><div align="center">FN</div></td></tr><tr><td class="confusiontd" style="border-bottom-color: initial; border-bottom-style: initial; border-bottom-width: thin; border-right-color: initial; border-right-style: initial; border-right-width: thin; ">Negative</td><td class="confusiontd" style="border-bottom-color: initial; border-bottom-style: initial; border-bottom-width: thin; border-right-color: initial; border-right-style: initial; border-right-width: thin; "><div align="center">FP</div></td><td class="confusiontd" style="border-bottom-color: initial; border-bottom-style: initial; border-bottom-width: thin; border-right-color: initial; border-right-style: initial; border-right-width: thin; "><div align="center">TN</div></td></tr></tbody></table><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><table width="100%" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td width="81%">Accuracy</td><td width="19%">ACC</td></tr><tr><td colspan="2"><div align="center"><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The accuracy measures the ratio of correction predictions to the total number of predictions. P(ŷ=y)</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/acc.png" width="125" height="40" /></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></div></td></tr><tr><td>Sensitivity</td><td>SEN</td></tr><tr><td colspan="2"><div align="center"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The sensitivity measures the proportion of positive cases correctly predicted as positive. In terms of conditional probability, sensitivity is the probability a case will be predicted positive given the case is positive. In information retrieval, sensitivity is known as <u>recall</u> and measures the fraction of relevant material returned by a search. It is also known as the true positive rate (TPR).</p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/sen.png" width="61" height="40" /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></div></td></tr><tr><td>Specificity</td><td>SPE</td></tr><tr><td colspan="2"><div align="center"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The specificity measures the proportion of negative cases correctly predicted as negative. In terms of conditional probability, specificity is the probability a case will be predicted negative given the case is negative. A high specificity means a low Type I error.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/spe.png" width="59" height="40" /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></div></td></tr><tr><td>Positive Predictive Value</td><td>PPV</td></tr><tr><td colspan="2"><div align="center"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The positive predictive value measures the proportion of cases predicted positive which are correctly predicted. In terms of conditional probability, it is the probability that a case is truely positive given it is predicted positive. In terms of information retrieval, positive predictive value is known as <u>precision</u> and measures the fraction of documents returned that are relevant.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/ppv.png" width="58" height="40" /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></div></td></tr><tr><td>Negative Predictive Value</td><td>NPV</td></tr><tr><td colspan="2"><div align="center"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The negative predictive value measures the proportion of cases predicted negative which are correctly predicted. In terms of conditional probability, it is the probability that a case is truely negative given it is predicted negative.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/npv.png" width="62" height="40" /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></div></td></tr><tr><td>False Positive Rate</td><td>FPR</td></tr><tr><td colspan="2"><div align="center"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The false positive rate measures the proportion of negative cases that are incorrectly predicted positive. It is also known as a Type I error i.e. the error of rejecting a hypothesis that should have been accepted.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/fpr.png" width="59" height="40" /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></div></td></tr><tr><td>Lift</td><td>LFT</td></tr><tr><td colspan="2"><div align="center"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The lift measures accuracy of prediction for the top p% of predictions. In this case, it measures the accuracy of the top 25%. This is a typical measure in database marketing.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/lft.png" width="196" height="65" /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></div></td></tr><tr><td>F-score</td><td>FSC</td></tr><tr><td colspan="2"><div align="center"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The f-score measures the weighted harmonic mean of precision and recall. This is a common metric in information retrieval.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/fsc.png" width="264" height="40" /></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></div></td></tr><tr><td>Matthew's Correlation Coefficient</td><td>MCC</td></tr><tr><td colspan="2"><div align="center"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The Matthew's corrletation coefficient measures the accuracy of prediction where a predictor that is always right has a value 1 and a predictor that is always wrong has the value -1. A random guess will have a value 0.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/mcc.png" width="267" height="45" /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></div></td></tr></tbody></table><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><em>Ranking/Ordering</em></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Ranking (Ordering) metrics measure the classifiers ability to correctly order predictions. These metrics do not depend on the relative values of the predictions or the threshold of prediction.</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><table width="100%" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td width="81%">Area Under the ROC Curve</td><td width="19%">AUR</td></tr><tr><td colspan="2"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">A ROC plot compares the true positive rate v.s the false positive rate as the threshold is swept from 0 to 1. A area Under the ROC of 1 means a perfect prediction and 0.5 a random guess. Another interpetation of the area under the ROC is that it measures how badly sorted a set of predictions are in terms of the class value. That is, it measures the number of swaps to repair the sort normalized by the number of positive times the number of negative cases.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://kodiak.cs.cornell.edu/kddcup/metrics.html"><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/auc.png" width="183" height="42" border="0" /></a></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></td></tr><tr><td>Area Under the Precision Recall Curve</td><td>AUP</td></tr><tr><td colspan="2"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The precision recall curve pose an alternative for tasks with a large skew in class distribution and is often used in information retrieval. A classifier that is near optimal in ROC space may not be optimal in precision/recall space.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></td></tr><tr><td>Break Even Point</td><td>BEP</td></tr><tr><td colspan="2"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The breakeven point is defined as the point where the precision and recall are equal. This is a common metric in information retrieval.</p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/bep.png" width="263" height="21" /></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></td></tr><tr><td>Area Under the Cost Curve</td><td>AUC</td></tr><tr><td colspan="2"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The area under the cost curve measurs the expected cost of a classifier assuming all possible probability cost values are equally likely. A lower value is better.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></td></tr></tbody></table><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><em>Probability</em>/<em>Regression</em></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The probability (regression) metrics measure how close the predicted values match the target values. The target values<em> T</em> are choose to be 0 or 1 depending on the case.</p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/pred_targ.png" width="119" height="43" /></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><table width="100%" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td width="81%">Root Mean Squared Error</td><td width="19%">RMSE</td></tr><tr><td colspan="2"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The root mean squared error measures how close predicted values match target values. This uses the squared error divided by the number of cases and under the square root.</p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/rmse.png" width="94" height="31" /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></td></tr><tr><td>Mean Cross Entropy</td><td>CXE</td></tr><tr><td colspan="2"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The cross entropy (log loss) measures how close predicted values match target values and it assumes the predicted probability between [0,1] that indicate that the class of the examples is 1. The cross entropy is nomalized to the size of the dataset, mean cross entropy. Note, the cross-entropy is infinity at 0 and 1.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/cxe.png" width="184" height="26" /></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p></td></tr></tbody></table><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><div class="reference" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(238, 238, 238); border-top-color: rgb(153, 204, 255); border-right-color: rgb(153, 204, 255); border-bottom-color: rgb(153, 204, 255); border-left-color: rgb(153, 204, 255); border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: thin; border-right-width: thin; border-bottom-width: thin; border-left-width: thin; border-style: initial; border-color: initial; padding-top: 10px; padding-bottom: 10px; background-position: initial initial; background-repeat: initial initial; "><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Joachims, Thorsten. "<a href="http://www.cs.cornell.edu/People/tj/publications/joachims_97b.pdf" target="_blank" class="web" style="text-decoration: none; ">Text Categorization with Support Vector Machines: Learning with Many Relevant Features</a>." Universität Dortmund, 1997.</p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Matthews, B. W. "<a href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&cmd=Retrieve&list_uids=1180967&dopt=Citation" target="_blank" class="web" style="text-decoration: none; ">Comparison of the Predicted and Observed Secondary Structure of T4 Phage Lysozyme</a>." Biochimica et biophysica acta 405, no. 2 (1975): 442–51.<br /></p></div><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><strong><br /></strong></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><strong><br /></strong></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><strong>Graphical Measures</strong><a name="graphs" id="graphs"></a></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">A single scalar cannot account for both types of error that a binary classifier may make. Moreover, a scalar cannot account for other circumstances under which one classifier is superior to another. There are several methods to generate such curves. The method used below to generate the following curves involves sweeps the threshold from 0 to 1 for a classifier with real-outputs.</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">ROC Curves<a name="rc_plot" id="rc_plot"></a></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The reciever operating characteristic (ROC) curve depicts the performance of a classifiers in terms of the true positive rate (sensitivity) and the false positive rate (1-specificity). The closer the curve is to the left side and the top the better the classifier.</p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/evaluate/roc_thumb.png" width="320" height="240" /></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://home.comcast.net/~tom.fawcett/public_html/ROCCH/index.html" class="web" style="text-decoration: none; ">The ROC Convex Hull: Tom Fawcett</a></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Precision Recall Curves<a name="pc_plot" id="pc_plot"></a></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The precision recall curve depicts the performance of a classifier in terms of precision (y-axis) and recall (x-axis). The precision recall curve pose an alternative for tasks with a large skew in class distribution and is often used in information retrieval. A classifier that is near optimal in ROC space may not be optimal in precision/recall space. An optimal precision recall curve will be in the upper right hand corner.</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/evaluate/spr_thumb.png" width="320" height="240" /></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Sometimes you need to see the precision/recall curve with the classes reversed. The curve shown below has the negative predictive value on the y-axis and the specificity and x-axis.</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/evaluate/ipr_thumb.png" width="320" height="240" /></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Cost Curves<a name="cc_plot" id="cc_plot"></a></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The cost curve depicts the performance of a classifiers in terms of expected cost (or error rate) over a full range of class distributions and misclassification costs. The x-axis measures with respect to the class distribution and the y-axis measures the normalized expected cost (or error). A single cost line interpolates to a point in ROC space where the y-coordinate measure false positive rate and the right y-coordinate one minus the true positive rate. The combination of the cost lines form the lower envelope. One classifier is superior to another classifier if its lower envelope is lower than the other classifier's.</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/evaluate/cst_thumb.png" width="320" height="240" /></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Using the above cost curve, it would be hard to compare classifiers. Note, the white space form below the lines; this forms a curve called the lower envelope. This lower envelope captures much of the information of the cost curve while allowing inituitive comparision like a ROC curve.</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/evaluate/env_thumb.png" width="320" height="240" /></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Another problem with the above cost curve is that it is hard to see individual cost lines. The plot below shows the lower envelope with some important cost lines. Likewise, it is easier to see for what range of the lower envelope this classifier outperforms the trival classifiers (0,0), (1,1) and (1,0),(0,1).</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/evaluate/envx_thumb.png" width="320" height="240" /></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Lift Curves<a name="lc_plot" id="lc_plot"></a></p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The lift curve depicts the performance of a classifiers probability estimates in terms of lift (y-axis) and probability of predicting positive (x-axis).</p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><img src="http://proteomics.bioengr.uic.edu/malibu/docs/images/evaluate/lfc_thumb.png" width="320" height="240" /></p><p align="center" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><div class="reference" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(238, 238, 238); border-top-color: rgb(153, 204, 255); border-right-color: rgb(153, 204, 255); border-bottom-color: rgb(153, 204, 255); border-left-color: rgb(153, 204, 255); border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: thin; border-right-width: thin; border-bottom-width: thin; border-left-width: thin; border-style: initial; border-color: initial; padding-top: 10px; padding-bottom: 10px; background-position: initial initial; background-repeat: initial initial; "><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Davis, Jesse, and Mark Goadrich. "<a href="http://www.icml2006.org/icml_documents/camera-ready/030_The_Relationship_Bet.pdf" target="_blank" class="web" style="text-decoration: none; ">The Relationship between Precision-Recall and Roc Curves</a>." Paper presented at the 23rd International Conference on Machine learning Pittsburgh, Pennsylvania 2006.</p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Peterson, W.W., T.G. Birdsall, and W.C. Fox. "<a href="http://splweb.bwh.harvard.edu:8000/pages/ppl/zou/roc.html" target="_blank" class="web" style="text-decoration: none; ">The Theory of Signal Detectibility</a>." Transactions of the IRE Professional Group in Information Theory 2, no. 4 (1954): 171-212.</p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="justify" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Chris, Drummond, and C. Holte Robert. "<a href="http://www.cs.ualberta.ca/~holte/Publications/mlj2006.pdf" target="_blank" class="web" style="text-decoration: none; ">Cost Curves: An Improved Method for Visualizing Classifier Performance</a>." Machine Learning V65, no. 1 (2006): 95-130.<br /></p></div><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> </p><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br /></p><p></p></span></i></span></div></div>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com0tag:blogger.com,1999:blog-1139019782137974791.post-82856057893165547772010-04-06T09:07:00.001+08:002010-04-06T09:08:54.370+08:00Images<ol><li>ImageProcessingPlace.com (<a href="http://www.imageprocessingplace.com/root_files_V3/image_databases.htm">http://www.imageprocessingplace.com/root_files_V3/image_databases.htm</a>)</li><li>OmniMedicalSearch.com (<a href="http://www.omnimedicalsearch.com/image_databases.html">http://www.omnimedicalsearch.com/image_databases.html</a>)</li></ol>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com0tag:blogger.com,1999:blog-1139019782137974791.post-78470629000214035352010-03-04T10:29:00.002+08:002010-03-04T11:33:12.695+08:00PDF to Word Document<b><span class="Apple-style-span" style="color:#FF0000;">Case</span></b>: I wrote a journal in LaTeX, the output is in PDF. It was rejected and I want to send to another publisher, but they don't accept LaTeX, only PDF or .doc, and they limit the paper up to 20 pages only. Mine is 24 pages, and there are a lot of blank spaces in the paper (especially in the figure & table pages) because of the LaTeX formatting. I'm thinking of doing it in Word so can adjust it manually, which is easier. But I don't want to copy and reformat everything, which is very time consuming. <div><br /></div><div><b><span class="Apple-style-span" style="color:#000099;">Solution</span></b>: The best found so far: <a href="http://www.pdftoword.com/">PDF to Word Converter</a></div><div>1. Upload the PDF file</div><div>2. Fill in your email</div><div>3. They will email you the converted file. Please allow some time for queuing and converting process (my case is ~4hours), and it's worth waiting. </div><div><br /></div><div><br /></div>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com0tag:blogger.com,1999:blog-1139019782137974791.post-10843061240743263992010-01-04T23:14:00.005+08:002010-01-06T18:06:21.476+08:00Face Dataset<span style="font-weight: bold;">Face Recognition Homepage - Databases</span><br /><a href="http://www.face-rec.org/databases/">http://www.face-rec.org/databases/</a><br /><br /><span style="font-weight: bold;">LFWcrop Face Dataset</span><br /><a href="http://www.itee.uq.edu.au/%7Econrad/lfwcrop/">http://www.itee.uq.edu.au/~conrad/lfwcrop/</a><br /><br /><span style="font-weight: bold;">Psychological Image Collection at Stirling (PICS) Image Database</span><br /><a href="http://pics.psych.stir.ac.uk/cgi-bin/PICS/New/pics.cgi">http://pics.psych.stir.ac.uk/cgi-bin/PICS/New/pics.cgi</a><br /><br /><span style="font-weight: bold;">Resources for Face Detection</span><br /><a href="http://vision.ai.uiuc.edu/mhyang/face-detection-survey.html">http://vision.ai.uiuc.edu/mhyang/face-detection-survey.html</a><br /><br /><br /><span style="font-weight: bold;">Simple steps on nose and mouth detection:</span><br />Source: <a href="http://www.codeproject.com/Messages/2714699/nose-and-mouth-detection.aspx">From here</a> (credits to Alan Balkany)<br />1. Use your existing algorithm to get the bounds of the face.<br />2. Replace each pixel with a number proportional to the variance in the neighborhood of that pixel. (There will be more variance in the regions of the eyes, mouth, and around the nose.)<br />3. Use the Open operation (Erode morphological operator followed by Dilate) to eliminate stray isolated pixels with high variance.<br />4. Use the Close operation (Dilate morphological operator followed by Erode) to fill in the gaps.<br />5. You should have four regions remaining: Two eyes, nose, and mouth.Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com1tag:blogger.com,1999:blog-1139019782137974791.post-83247356410405610372009-08-19T02:38:00.002+08:002009-08-19T03:10:03.804+08:00Color Histograms and such<span style="font-weight: bold;font-size:100%;" >Deformation and Viewpoint Invariant Color Histograms:</span><span style="font-size:100%;"><br /><a href="http://www.cs.umd.edu/%7Edomke/histograms/">http://www.cs.umd.edu/~domke/histograms/</a><br /></span><br /><br /><span style="font-weight: bold;">From MATLAB-central<br />(</span><a href="http://www.mathworks.de/matlabcentral/newsreader/view_thread/244044"><span style="font-weight: bold;">Thread Subject: Image histogram and difference between color bins</span></a><span style="font-weight: bold;">, Author: ImageAnalyst)<br /></span>Here's a nice web site with a big list of color-related links:<br /><a href="http://www.efg2.com/Lab/Library/Color/index.html">http://www.efg2.com/Lab/Library/Color/index.html</a><br />Here you can find the color and gamma FAQ's:<br /><a href="http://www.poynton.com/">http://www.poynton.com/</a><br />The Rochester Institute of Technology Munsell Color FAQ:<br /><a href="http://www.cis.rit.edu/mcsl/faq/">http://www.cis.rit.edu/mcsl/faq/</a><br />A list of hundreds of colors with their names:<br /><a href="http://web.njit.edu/%7Ekevin/rgb.txt.html">http://web.njit.edu/~kevin/rgb.txt.html</a><br />A way to visualize the 3D color gamut of your image with this plug-in for free software ImageJ (very, very cool plug-in!!):<br /><a href="http://rsb.info.nih.gov/ij/plugins/color-inspector.html">http://rsb.info.nih.gov/ij/plugins/color-inspector.html</a><br />Macbeth ColorChecker chart<br /><a href="http://www.xrite.com/product_overview.aspx?ID=824">http://www.xrite.com/product_overview.aspx?ID=824</a><br /><br /><br /><span style="font-weight: bold;">Paper (CCH):</span><br /><a href="http://www.ri.cmu.edu/publication_view.html?pub_id=2657">Object Recognition with Color Cooccurrence Histogram</a><br /><a href="http://ieeexplore.ieee.org/iel5/4505270/4517521/04517839.pdf?arnumber=4517839"><span style="font-size:100%;"><strong style="font-weight: normal;">Logo and trademark detection in images using Color Wavelet Co-occurrence Histograms</strong></span></a><br /><a href="http://sprg.massey.ac.nz/ivcnz/Proceedings/IVCNZ_09.pdf">Image Retrieval Using Colour Co-occurrence Histograms</a><br /><a href="http://www.springerlink.com/content/5jwynydvrmm8jlrf/">Modified Color Co-occurrence Matrix for Image Retrieval </a><br /><br /><br /><span style="font-weight: bold;">Discussion Board:</span><br /><a href="http://www.mathworks.com/matlabcentral/index.html">Matlab Central</a><br /><a href="http://www.dsprelated.com/groups/matlab/1.php">Matlab DSP Discussion</a>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com1tag:blogger.com,1999:blog-1139019782137974791.post-348575929129297632009-07-28T10:52:00.000+08:002009-07-28T11:22:08.896+08:00Journal, LaTeX and EPS<div style="text-align: justify;">I have to learn on how to use LaTeX as it will ease the usage of formatting the journal by using their template (without reformatting the whole document). After consulting my SV, he said that I need these softwares before proceed to learn LaTeX :<br /><br />- MikTex : <a href="http://miktex.org/2.7/setup">http://miktex.org/2.7/setup</a><br />- A software that can save image/figure/object as Encapsulated PostScript (EPS) file - I choose to use CorelDRAW as it was in my program list<br />- WinEdt<br />- PostScript<br />- GhostScript<br /><br />The 'oldtimer' normally use the earlier version of Ms Visio to convert to EPS. But since Visio 2003, the function was disabled. However it is still possible to use Visio - there's a converter (<a href="http://wiki.lyx.org/Windows/MetafileToEPSConverter" target="_blank">http://wiki.lyx.org/Windows/<wbr>MetafileToEPSConverter</a>) where we can save the figure as windows metafile (wmf) or enhanced metafile (emf - which is better) format and converts to EPS using the software. Other alternative is to use OLETeX (<a href="http://oletex.sourceforge.net/" target="_blank">http://oletex.sourceforge.<wbr>net/</a>) where it can converts any OLE object to EPS file.<br /><br />Can't wait to start a lesson on LaTeX!<br /><br /></div>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com0tag:blogger.com,1999:blog-1139019782137974791.post-46618015405506848882009-07-24T10:32:00.001+08:002009-07-28T11:22:38.635+08:00Stop script in wordpress<div style="text-align: justify;">I've been facing this prob since updating the wordpress to version 2.7 or 2.8 (can't remember exactly) - which I used to manage my official makeup site, <a href="http://themakeups.com/">themakeups.com</a>. The 'stop script error' occurs each time I made and publish a new post. I tried to ignore the error, but since it consume a lot of memory and heavy load (not to mention hangs my browser), especially when I'm doing 'mass update' for all the latest job I've got, then I started to seek for the solution. Refer here : <a href="http://wordpress.org/support/topic/206177">http://wordpress.org/support/topic/206177</a></div><p style="text-align: justify;">Original post was by Craig Childs, many thanks to him. And just in case the link will expire, the solution is as below:</p><div style="text-align: justify;"><blockquote><p>What was happening was when the Write>Post screen was opened, it would sit then eventually throw up an unresponsive script error which stemmed from: /wp-includes/js/jquery/jquery.js</p><p>It essentially rendered the Wordpress admin useless unless you wrote a draft elsewhere, such as an external blog editor, and saved it as a draft - the Manage section was unaffected.</p><p>In any case, if you find yourself with the same issue, it's a simple edit of the wp-admin\edit-form-advanced.php file. Just remove this line:</p><p>$metadata = has_meta($post->ID);<br />list_meta($metadata);</p></blockquote></div><p style="text-align: justify;"></p>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com1tag:blogger.com,1999:blog-1139019782137974791.post-55462798881989286932009-07-23T15:43:00.000+08:002009-07-28T11:22:43.533+08:00I need XP back to run Matlab<div style="text-align: justify;">I hv prob with matlab in vista. Can't run the installation (for v7.3) and can't open the program (for v6.5). Never had this kind of prob while using xp last time. It's troublesome to reformat & install xp, and also tedious to dual boot (vista & xp); so I've decided to use xp as virtual machine. Found this : <a href="http://lifehacker.com/software/windows/geek-to-live--run-windows-xp-inside-vista-with-virtual-pc-238071.php">http://lifehacker.com/software/windows/geek-to-live--run-windows-xp-inside-vista-with-virtual-pc-238071.php</a><br /><br />hope this will work well & run matlab properly.<br /><br />-Update (24th July, 10.36am):<br />Hv successfully installed virtual machine xp, but still can't install matlab. This is due to some reason (all the troublesome in vista), and the only solution is to download a fresh version of matlab from mathworks, and re-install. Let's try this!<br /><br />- Update (24th July 2009, 4.08pm):<br />Mission accomplished!</div>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com0tag:blogger.com,1999:blog-1139019782137974791.post-36854393444267588552009-07-23T15:09:00.000+08:002009-07-28T11:22:49.559+08:00Computer Vision Test Images<div style="text-align: justify;"><span style=";font-family:georgia;font-size:100%;" >22nd July 2009 - I was given a few tasks by Dr.Faizal (my SV) as the startup of my 3rd degree. This is one of them. The images will be used in initial experiments (just to test the color techniques).</span><span style="font-size:100%;"> The image collections found :</span><br /></div><ol style="text-align: justify;font-family:georgia;" ><li><span style="font-size:100%;">List of various images from various sources (source1) : <a href="http://www.cs.cmu.edu/%7Ecil/v-images.html">http://www.cs.cmu.edu/~cil/v-images.html</a></span></li><li><span style="font-size:100%;">List of various images from various sources (source2) : </span><span style="font-size:100%;"><a href="http://www.iro.umontreal.ca/%7Emignotte/TestImages.html">http://www.iro.umontreal.ca/~mignotte/TestImages.html</a><br /></span></li><li><span style="font-size:100%;"><span style="font-family:georgia;">NC State Image Analysis Laboratory Image Database (includes industrial, IP standard, medical) : <a href="http://www.ece.ncsu.edu/imaging/Archives/ImageDataBase/index.html">http://www.ece.ncsu.edu/imaging/Archives/ImageDataBase/index.html</a></span></span></li><li><span style="font-size:100%;"><span style="font-family:georgia;">Sample images from The Ohio State University : <a href="http://sampl.ece.ohio-state.edu/database.htm">http://sampl.ece.ohio-state.edu/database.htm</a></span></span></li><li><span style="font-size:100%;"><span style="font-family:georgia;">Amsterdam Library of Object Images (ALOI) : <a href="http://staff.science.uva.nl/%7Ealoi/">http://staff.science.uva.nl/~aloi/</a></span></span></li><li><span style="font-size:100%;"><span style="font-family:georgia;">Colored image database with ground truth : <a href="http://www.cs.washington.edu/research/imagedatabase/groundtruth/">http://www.cs.washington.edu/research/imagedatabase/groundtruth/<br /></a></span></span></li><li><span style="font-size:100%;"><span style="font-family:georgia;">Databases for benchmarking : <a href="http://peipa.essex.ac.uk/benchmark/databases/index.html#colour">http://peipa.essex.ac.uk/benchmark/databases/index.html#colour</a></span></span></li><li><span style="font-size:100%;"><span style="font-family:georgia;">Object Recognition Image Database : <a href="http://www.cs.sfu.ca/%7Ecolour/image_db/index.html">http://www.cs.sfu.ca/~colour/image_db/index.html</a></span></span></li></ol>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com0tag:blogger.com,1999:blog-1139019782137974791.post-64727246933011023462009-02-10T18:34:00.000+08:002009-07-24T10:52:22.377+08:00MATLAB Workshop by IEEE<span style=";font-family:georgia;font-size:130%;" ><span style="color: rgb(255, 255, 0);">Hello readers! Again, this is totally not makeup-related but I know some of u might interested in this. This workshop is organized by </span><span style="font-weight: bold; color: rgb(255, 255, 0);">IEEE Signal Processing Society Malaysia Section</span><span style="color: rgb(255, 255, 0);">. The details for each course is described below, together with the advert for ur reference. Contact me directly if u're interested.</span></span><br /><br />-----------------------------------------------------------<br /><br /><span style="font-weight: bold; color: rgb(255, 255, 0);font-family:georgia;" >Time-Frequency:</span><br /><span style="font-family:georgia;"> 1. Review of Signal Processing</span><br /><span style="font-family:georgia;"> 2. Time-Frequency Analysis (TFA)</span><br /><span style="font-family:georgia;"> 3. Wavelet Analysis</span><br /><span style="font-family:georgia;"> 4. Wigner-Ville Distribution</span><br /><span style="font-family:georgia;"> 5. TFA Engineering Applications</span><br /><span style="font-family:georgia;"> 6. Case Studies Using Matlab</span><br /><br /><span style="font-weight: bold; color: rgb(255, 255, 51);font-family:georgia;" >Signal Processing:</span><br /><span style="font-family:georgia;"> 1. Introduction to MATLAB</span><br /><span style="font-family:georgia;"> 2. Signals (sampling frequency, creating signals, reading, plotting, writing, listening)</span><br /><span style="font-family:georgia;"> 3. Analyzing signals & the FFT function (time, frequency, the spectrogram)</span><br /><span style="font-family:georgia;"> 4. Convolution, autocorrelation, cross-correlation</span><br /><span style="font-family:georgia;"> 5. The moving average filter</span><br /><span style="font-family:georgia;"> 6. FIR and IIR filters (analysis, order and estimation)</span><br /><span style="font-family:georgia;"> 7. Windows and windowing</span><br /><span style="font-family:georgia;"> 8. The Power Spectral Density function</span><br /><span style="font-family:georgia;"> 9. GUI's for filter design and analysis in MATLAB.</span><br /><br /><span style="font-weight: bold; color: rgb(255, 255, 0);font-family:georgia;" >Communications:<br /></span><span style="color: rgb(204, 204, 204);font-family:georgia;" >1. Signals and Linear Systems<br />2. Random processes<br />3. Analog to digital conversion<br />5. Baseband digital transmission<br />6. Digital transmission through bandlimited channels<br />7. Digital transmission via carrier modulation<br />8. Some advanced communications applications</span><span style="font-weight: bold; color: rgb(255, 255, 0);font-family:georgia;" ><br /><br /><br />Image Processing :</span><br /><span style="font-family:georgia;">Will be updated later :)</span><br /><br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDxP3vVrHgi0zcaDQ1KtveytQfIqUzT3JMTEwqMaPe4O84oAmDAPA9MThhsQEH15KWAysGX_yVOdbFLcwiGzS71ANzVXlZgNWWcbvUH6jYixhZ1MOxj9TnZ02xZgtZCzelGnu0h4KxRG4/s1600-h/sp_ads_revised6_resized.jpg"><img style="cursor: pointer; width: 219px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDxP3vVrHgi0zcaDQ1KtveytQfIqUzT3JMTEwqMaPe4O84oAmDAPA9MThhsQEH15KWAysGX_yVOdbFLcwiGzS71ANzVXlZgNWWcbvUH6jYixhZ1MOxj9TnZ02xZgtZCzelGnu0h4KxRG4/s400/sp_ads_revised6_resized.jpg" alt="" id="BLOGGER_PHOTO_ID_5301117261997172146" border="0" /></a><br /></div>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com0tag:blogger.com,1999:blog-1139019782137974791.post-48706481411882297182009-02-10T18:21:00.000+08:002009-07-24T10:52:45.121+08:00Research Officer Wanted!!<span style="color: rgb(255, 204, 0); font-weight: bold;font-family:georgia;font-size:130%;" >I know this is totally not 'makeup' at all but my supervisor needs another RO for his new project. If u're interested pls contact him directly. These are the details :</span><br /><br /><span style="font-family:georgia;">--------------------------------------------------------------------------------------</span><br /><span style="font-family:georgia;">Research officer (RO) position is available at the Faculty of Engineering (FOE), Multimedia University, Cyberjaya.</span><br /><br /><span style="font-weight: bold;font-family:georgia;" >Project Title:</span><span style="font-family:georgia;"> Analysis and development of shape extraction algorithms for trademark image search system application</span><br /><br /><span style="font-weight: bold;font-family:georgia;" >Project Leader:</span><span style="font-family:georgia;"> Dr. Mohammad Faizal bin Ahmad Fauzi (</span><a style="font-family: georgia;" href="mailto:faizal1@mmu.edu.my">faizal1@mmu.edu.my</a><span style="font-family:georgia;">)</span><br /><br /><span style="font-weight: bold;font-family:georgia;" >Project Objectives:</span><br /><span style="font-family:georgia;"> • To design, implement and evaluate shape analysis algorithms for trademark images.</span><br /><span style="font-family:georgia;"> • To develop a system for searching trademark images and examining trademark applications and registration.</span><br /><span style="font-family:georgia;"> • To develop multidimensional indexing techniques and to incorporate them into the retrieval system in order to speed up search time for the large trademark image database.</span><br /><br /><span style="font-weight: bold;font-family:georgia;" >Job Description:</span><br /><span style="font-family:georgia;"> • The salary will be RM1800 per month + EPF (12%) + SOCSO,</span><br /><span style="font-family:georgia;"> • Position available starting 1st April 2009, period of tenure will be 18 months,</span><br /><span style="font-family:georgia;"> • The RO must help the project leader in all work associated with the project,</span><br /><span style="font-family:georgia;"> • The RO has to register for Master by Research program (MEngSc) with MMU.</span><br /><br /><span style="font-weight: bold;font-family:georgia;" >Requirements:</span><br /><span style="font-family:georgia;"> • Sufficient background in signal and image processing and/or indexing fields,</span><br /><span style="font-family:georgia;"> • Good programming skills, particularly MATLAB and C/C++,</span><br /><span style="font-family:georgia;"> • Good English proficiency,</span><br /><span style="font-family:georgia;"> • Self-motivated, requires minimal supervision, resourceful and willing to learn.</span><br /><br /><span style="font-family:georgia;"> For potential candidate interested to apply for the RO position, please send your CV directly to Dr. Mohammad Faizal at his email address </span><span style="font-weight: bold;font-family:georgia;" >by 10th March 2009</span><span style="font-family:georgia;">. Enquiries should also be forwarded to the above email address. Only short-listed candidates will be called for</span><br /><span style="font-family:georgia;"> interview.</span>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com0tag:blogger.com,1999:blog-1139019782137974791.post-89359657394772401082008-05-14T00:51:00.000+08:002009-07-24T10:53:09.130+08:00Official Makeup Site<div style="text-align: center;"><span style=";font-family:georgia;font-size:180%;" ><br />My official makeup site :<br /></span><a href="http://makeups.blogspot.com/"><span style=";font-family:georgia;font-size:180%;" >http://makeups.blogspot.com</span></a><br /><br /><br /><span style="font-size:180%;">Other domain :<br /><a href="http://themakeups.com/">http://themakeups.com</a><br /><a href="http://munieahmad.com/">http://munieahmad.com</a></span><br /></div>Munie Ahmad @ MakeUpAddicthttp://www.blogger.com/profile/15025127260210441067noreply@blogger.com0