编写一段通过感知机原始形式实现二分类的rust代码,学习率设置为0.01
时间: 2023-03-08 17:18:43 浏览: 171
一段实现二分类的Rust代码如下:fn perceptron(inputs: &[f64], weights: &[f64], bias: f64) -> f64 {
let mut sum = 0.0; for (input, weight) in inputs.iter().zip(weights.iter()) {
sum += input * weight;
} sum += bias; let activation = 1.0 / (1.0 + (-sum).exp()); let output = if activation > 0.5 {1.0} else {0.0}; output
}fn train_perceptron(inputs: &[f64], targets: &[f64], weights: &mut [f64], bias: &mut f64, learning_rate: f64) {
let output = perceptron(inputs, weights, *bias);
let error = targets[0] - output;
*bias += error * learning_rate; for (i, weight) in weights.iter_mut().enumerate() {
*weight += inputs[i] * error * learning_rate;
}
}fn main() {
let inputs = vec![1.0, 2.0, 3.0];
let targets = vec![1.0];
let mut weights = vec![0.1, -0.2, 0.3];
let mut bias = 0.0;
let learning_rate = 0.01; for _ in 0..100 {
train_perceptron(&inputs, &targets, &mut weights, &mut bias, learning_rate);
} let output = perceptron(&inputs, &weights, bias);
println!("Output: {}", output);
}
阅读全文
相关推荐

















