BAYESOL
NAME
SYNOPSIS
DESCRIPTION
EXIT STATUS
OPTIONS
RISK SPECIFICATION
USAGE
SOURCE
AUTHOR
SEE ALSO
NAME
bayesol −
a Bayes solution calculator for use with dbacl.
SYNOPSIS
|
bayesol |
|
[-DVNniv] -c riskspec
[FILE]... |
|
|
bayesol |
|
-V |
|
DESCRIPTION
bayesol
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 STATUS
On success,
bayesol returns a positive integer corresponding to
the category with the lowest risk. In case of a problem,
bayesol returns zero.
OPTIONS
|
-c |
|
Classify using riskspec.
See the section RISK SPECIFICATION. |
|
-i |
|
Fully internationalized mode. Forces the use of wide
characters internally, which is necessary in some locales.
This incurs a noticeable performance penalty. |
|
-n |
|
Print risk scores for each category. Each score
is (approximately) the logarithm of the expected risk under
that category. The lowest score (ie closest to -infinity) is
best, etc. |
|
-N |
|
Print recursive risk scores for each category.
Each score is (approximately) the logarithm of the best
score based on the remaining categories, after the
previously best scoring categories have been removed, and a
normalizing factor was added. A full description is given in
the technical report listed at the end of this manpange. The
largest score (ie closest to +infinity) is best, etc. |
|
-v |
|
Verbose mode. Prints to STDOUT the category with minimum
posterior risk. In case several categories are possible,
prints the first category in the order in which they appear
in the categories section of riskpspec. |
|
-D |
|
Print debug output. Do not use. |
|
-V |
|
Print the program version number and exit. |
RISK SPECIFICATION
bayesol
needs to read a text file riskspec containing a risk
specification. The format of this text file is as
follows
categories {
cat1, cat2,..., catN}
prior { p1, p2,..., pN}
loss_matrix {
"regex1" c1 [ formula11,
formula12,..., formula1N]
"regex2" c2 [ formula21,
formula22,..., formula2N]
.
.
"regexM" cM [ formulaM1,
formulaM2,..., formulaMN]
}
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.
USAGE
Typically,
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
@PKGDATADIR@/doc/costs.ps for a description of the algorithm
used. See also @PKGDATADIR@/doc/tutorial.html for a more
detailed overview.
SOURCE
The source code
for the latest version of this program is available at the
following locations:
http://www.lbreyer.com/gpl.html
http://dbacl.sourceforge.net
AUTHOR
Laird A. Breyer
<laird@lbreyer.com>
SEE ALSO
dbacl(1),
mailcross(1), mailfoot(1),
mailinspect(1), mailtoe(1),
regex(7)
|