本文整理了Java中gov.sandia.cognition.math.matrix.Vector.outerProduct()
方法的一些代码示例,展示了Vector.outerProduct()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Vector.outerProduct()
方法的具体详情如下:
包路径:gov.sandia.cognition.math.matrix.Vector
类名称:Vector
方法名:outerProduct
[英]Computes the outer matrix product between the two vectors
[中]计算两个向量之间的外矩阵积
代码示例来源:origin: algorithmfoundry/Foundry
/**
* Computes the stochastic transition-probability matrix from the
* given probabilities.
* @param alphan
* Result of the forward pass through the HMM at time n
* @param betanp1
* Result of the backward pass through the HMM at time n+1
* @param bnp1
* Conditionally independent likelihoods of each observation at time n+1
* @return
* Transition probabilities at time n
*/
protected static Matrix computeTransitions(
Vector alphan,
Vector betanp1,
Vector bnp1 )
{
Vector bnext = bnp1.dotTimes(betanp1);
return bnext.outerProduct(alphan);
}
代码示例来源:origin: algorithmfoundry/Foundry
/**
* Computes the stochastic transition-probability matrix from the
* given probabilities.
* @param alphan
* Result of the forward pass through the HMM at time n
* @param betanp1
* Result of the backward pass through the HMM at time n+1
* @param bnp1
* Conditionally independent likelihoods of each observation at time n+1
* @return
* Transition probabilities at time n
*/
protected static Matrix computeTransitions(
Vector alphan,
Vector betanp1,
Vector bnp1 )
{
Vector bnext = bnp1.dotTimes(betanp1);
return bnext.outerProduct(alphan);
}
代码示例来源:origin: gov.sandia.foundry/gov-sandia-cognition-learning-core
/**
* Computes the stochastic transition-probability matrix from the
* given probabilities.
* @param alphan
* Result of the forward pass through the HMM at time n
* @param betanp1
* Result of the backward pass through the HMM at time n+1
* @param bnp1
* Conditionally independent likelihoods of each observation at time n+1
* @return
* Transition probabilities at time n
*/
protected static Matrix computeTransitions(
Vector alphan,
Vector betanp1,
Vector bnp1 )
{
Vector bnext = bnp1.dotTimes(betanp1);
return bnext.outerProduct(alphan);
}
代码示例来源:origin: algorithmfoundry/Foundry
this.covarianceInverse = x1.outerProduct(x2);
this.covarianceInverse.plusEquals( x1.outerProduct(x2) );
代码示例来源:origin: gov.sandia.foundry/gov-sandia-cognition-learning-core
this.covarianceInverse = x1.outerProduct(x2);
this.covarianceInverse.plusEquals( x1.outerProduct(x2) );
代码示例来源:origin: gov.sandia.foundry/gov-sandia-cognition-learning-core
for( Vector x : xs )
sum.accumulate(x.outerProduct(x));
代码示例来源:origin: algorithmfoundry/Foundry
for( Vector x : xs )
sum.accumulate(x.outerProduct(x));
代码示例来源:origin: algorithmfoundry/Foundry
for( Vector x : xs )
sum.accumulate(x.outerProduct(x));
代码示例来源:origin: gov.sandia.foundry/gov-sandia-cognition-learning-core
/**
* Fits a single MultivariateGaussian to the given MixtureOfGaussians
* @return MultivariateGaussian that captures the mean and covariance of
* the given MixtureOfGaussians
*/
public MultivariateGaussian.PDF fitSingleGaussian()
{
Vector mean = this.getMean();
RingAccumulator<Matrix> covarianceAccumulator =
new RingAccumulator<Matrix>();
double denom = this.getPriorWeightSum();
for( int i = 0; i < this.getDistributionCount(); i++ )
{
MultivariateGaussian Gaussian =
(MultivariateGaussian) this.getDistributions().get(i);
Vector meanDiff = Gaussian.getMean().minus( mean );
covarianceAccumulator.accumulate( Gaussian.getCovariance().plus(
meanDiff.outerProduct( meanDiff ) ).scale(
this.priorWeights[i]/denom ) );
}
return new MultivariateGaussian.PDF( mean, covarianceAccumulator.getSum() );
}
代码示例来源:origin: algorithmfoundry/Foundry
/**
* Fits a single MultivariateGaussian to the given MixtureOfGaussians
* @return MultivariateGaussian that captures the mean and covariance of
* the given MixtureOfGaussians
*/
public MultivariateGaussian.PDF fitSingleGaussian()
{
Vector mean = this.getMean();
RingAccumulator<Matrix> covarianceAccumulator =
new RingAccumulator<Matrix>();
double denom = this.getPriorWeightSum();
for( int i = 0; i < this.getDistributionCount(); i++ )
{
MultivariateGaussian Gaussian =
(MultivariateGaussian) this.getDistributions().get(i);
Vector meanDiff = Gaussian.getMean().minus( mean );
covarianceAccumulator.accumulate( Gaussian.getCovariance().plus(
meanDiff.outerProduct( meanDiff ) ).scale(
this.priorWeights[i]/denom ) );
}
return new MultivariateGaussian.PDF( mean, covarianceAccumulator.getSum() );
}
代码示例来源:origin: algorithmfoundry/Foundry
/**
* Fits a single MultivariateGaussian to the given MixtureOfGaussians
* @return MultivariateGaussian that captures the mean and covariance of
* the given MixtureOfGaussians
*/
public MultivariateGaussian.PDF fitSingleGaussian()
{
Vector mean = this.getMean();
RingAccumulator<Matrix> covarianceAccumulator =
new RingAccumulator<Matrix>();
double denom = this.getPriorWeightSum();
for( int i = 0; i < this.getDistributionCount(); i++ )
{
MultivariateGaussian Gaussian =
(MultivariateGaussian) this.getDistributions().get(i);
Vector meanDiff = Gaussian.getMean().minus( mean );
covarianceAccumulator.accumulate( Gaussian.getCovariance().plus(
meanDiff.outerProduct( meanDiff ) ).scale(
this.priorWeights[i]/denom ) );
}
return new MultivariateGaussian.PDF( mean, covarianceAccumulator.getSum() );
}
代码示例来源:origin: algorithmfoundry/Foundry
@Override
public void update(
Vector value)
{
// We've added another value.
this.count++;
// Compute the difference between the value and the current mean.
final int dim = value.getDimensionality();
if (this.mean == null)
{
this.mean = VectorFactory.getDefault().createVector(dim);
}
Vector delta = value.minus(this.mean);
// Update the mean based on the difference between the value
// and the mean along with the new count.
this.mean.plusEquals(delta.scale(1.0 / this.count));
// Update the squared differences from the mean, using the new
// mean in the process.
if (this.sumSquaredDifferences == null)
{
this.sumSquaredDifferences
= MatrixFactory.getDefault().createIdentity(dim, dim);
this.sumSquaredDifferences.scaleEquals(
this.getDefaultCovariance());
}
Vector delta2 = value.minus(this.mean);
this.sumSquaredDifferences.plusEquals(delta.outerProduct(delta2));
}
代码示例来源:origin: gov.sandia.foundry/gov-sandia-cognition-learning-core
@Override
public void update(
Vector value)
{
// We've added another value.
this.count++;
// Compute the difference between the value and the current mean.
final int dim = value.getDimensionality();
if (this.mean == null)
{
this.mean = VectorFactory.getDefault().createVector(dim);
}
Vector delta = value.minus(this.mean);
// Update the mean based on the difference between the value
// and the mean along with the new count.
this.mean.plusEquals(delta.scale(1.0 / this.count));
// Update the squared differences from the mean, using the new
// mean in the process.
if (this.sumSquaredDifferences == null)
{
this.sumSquaredDifferences
= MatrixFactory.getDefault().createIdentity(dim, dim);
this.sumSquaredDifferences.scaleEquals(
this.getDefaultCovariance());
}
Vector delta2 = value.minus(this.mean);
this.sumSquaredDifferences.plusEquals(delta.outerProduct(delta2));
}
代码示例来源:origin: algorithmfoundry/Foundry
@Override
public void update(
Vector value)
{
// We've added another value.
this.count++;
// Compute the difference between the value and the current mean.
final int dim = value.getDimensionality();
if (this.mean == null)
{
this.mean = VectorFactory.getDefault().createVector(dim);
}
Vector delta = value.minus(this.mean);
// Update the mean based on the difference between the value
// and the mean along with the new count.
this.mean.plusEquals(delta.scale(1.0 / this.count));
// Update the squared differences from the mean, using the new
// mean in the process.
if (this.sumSquaredDifferences == null)
{
this.sumSquaredDifferences
= MatrixFactory.getDefault().createIdentity(dim, dim);
this.sumSquaredDifferences.scaleEquals(
this.getDefaultCovariance());
}
Vector delta2 = value.minus(this.mean);
this.sumSquaredDifferences.plusEquals(delta.outerProduct(delta2));
}
代码示例来源:origin: algorithmfoundry/Foundry
double denom = 1.0 + delta2.dotProduct(Aiu);
vtAi.scaleEquals(1.0 / denom);
Matrix update = Aiu.outerProduct(vtAi);
this.sumSquaredDifferencesInverse.minusEquals(update);
代码示例来源:origin: algorithmfoundry/Foundry
Cin.accumulate( x1.outerProduct(x2) );
代码示例来源:origin: algorithmfoundry/Foundry
Cin.accumulate( x1.outerProduct(x2) );
代码示例来源:origin: algorithmfoundry/Foundry
betahat.plusEquals( delta.outerProduct(delta.scale((n*nu)/nuhat)) );
代码示例来源:origin: algorithmfoundry/Foundry
betahat.plusEquals( delta.outerProduct(delta.scale((n*nu)/nuhat)) );
代码示例来源:origin: gov.sandia.foundry/gov-sandia-cognition-learning-core
betahat.plusEquals( delta.outerProduct(delta.scale((n*nu)/nuhat)) );
内容来源于网络,如有侵权,请联系作者删除!