|
NAMEbayesol - a Bayes solution calculator for use with dbacl.SYNOPSISbayesol [-DVNniv] -c riskspec [FILE]... bayesol -V DESCRIPTIONbayesol is a Bayes solution calculator designed to combine the output of dbacl(1) with a prior distribution and a risk specification, and calculate the optimal Bayesian decision (which minimizes the posterior risk).The risk specification is read from the text file riskspec and must be written in a simple format described below. The dbacl(1) output can either be read from FILE or from STDIN. EXIT STATUSOn success, bayesol returns a positive integer corresponding to the category with the lowest risk. In case of a problem, bayesol returns zero.OPTIONS
RISK SPECIFICATIONbayesol needs to read a text file riskspec containing a risk specification. The format of this text file is as follows
In the above, cat1, cat2,..., catN, are category names, p1, p2,..., pN, are non-negative numbers, regex1, regex2,..., regexM, are (possibly empty) regular expression strings, c1, c2,..., cM, are instances of the category names cat1, cat2,..., catN, and the formulas are numbers or mathematical expressions. Every category which appears in the categories section must appear at least once in the loss_matrix section, with an empty "" regular expression. To construct the actual loss matrix used in the decision calculations, bayesol selects, for each category appearing in the categories section, the first row whose regular expression is matched within FILE or STDIN, or the first row with empty regular expression if there are no matches. Each formula can be either a single number, or an algebraic combination of the operators exp(), log(), +, -, *, /, ^ and parentheses (). The string "inf" is parsed as the value infinity. Also, the string "complexity" is recognized, and converted to the complexity for that category as reported by dbacl(1). Finally, if the corresponding regular expression contains submatches delimited by parentheses, their numerical values can be used inside the formulas as the special variables $1, ..., $9. Note that submatches which aren't numerical are converted to the value zero. Case is important. Spaces and newlines can be liberally inserted. Comments must start with a # and extend to the end of the line. USAGETypically, bayesol is used together with dbacl(1). An invocation looks like this:% dbacl -c one -c two -c three sample.txt -vna | bayesol -c toy.risk -v See /usr/local/share/dbacl/doc/costs.ps for a description of the algorithm used. See also /usr/local/share/dbacl/doc/tutorial.html for a more detailed overview. SOURCEThe source code for the latest version of this program is available at the following locations:http://www.lbreyer.com/gpl.html
AUTHORLaird A. Breyer <laird@lbreyer.com>SEE ALSOdbacl(1), mailcross(1), mailfoot(1), mailinspect(1), mailtoe(1), regex(7)
Visit the GSP FreeBSD Man Page Interface. |