Perceptron Learing Algorithm (PLA )matlab 实现

PLA 类似于线性回归,适用于二分类问题。
% Perceptron Learning ALgorithm
% Input Parameters: trainFile, TestFile,learning rate
% FIle Format : vector,label


% Initialize data
function w = PLA(trainFile,testFile,rate)
trainVectors = csvread(trainFile);
testVectors = csvread(testFile);
[trainRow,trainColumn] = size(trainVectors);
[testRow,testColumn] = size(trainVectors);
w = zeros(1,testColumn);
Change = false;
Iteration = 0;


if trainColumn ~= testColumn
    error('Error\n');
    return;
end
% train the vector
while true
    Change = false;
    for i = 1 : trainRow
        x = [ trainVectors(i,1: trainColumn - 1) ,1];
        if sign( dot(w, x )) ~= trainVectors(i,trainColumn)
            w = w + trainVectors(i,trainColumn).* x * rate;
            Change = true;
            Iteration = Iteration + 1;
        end
    end
    if ~Change || Iteration >= 2 * trainRow
        brea
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值