zoukankan      html  css  js  c++  java
  • Kernel Regression from Nando's Deep Learning lecture 5

    require 'torch'
    require 'gnuplot'
    
    local nData = 10
    local kWidth = 1
    local xTrain = torch.linspace(-1, 1, nData)
    local yTrain = torch.pow(xTrain, 2)
    print(xTrain)
    print(yTrain)
    local yTrain = yTrain + torch.mul(torch.randn(nData), 0.1)
    print(yTrain)
    
    local function phi(x, y)
        return torch.exp(-(1/kWidth)*torch.sum(torch.pow(x-y,2)))
    end
    
    local Phi = torch.Tensor(nData, nData)
    for i = 1, nData do
        for j = 1, nData do
            Phi[i][j] = phi(xTrain[{{i}}], xTrain[{{j}}])
        end
    end
    
    local regularizer = torch.mul(torch.eye(nData), 0.001)
    local theta = torch.inverse((Phi:t()*Phi) + regularizer) * Phi:t() * yTrain
    
    local nTestData = 100
    local xTest = torch.linspace(-1, 1, nTestData)
    
    local PhiTest = torch.Tensor(nData, nTestData)
    for i = 1, nData do
        for j = 1, nTestData do
            PhiTest[i][j] = phi(xTrain[{{i}}], xTest[{{j}}])
        end
    end
    
    local yPred = PhiTest:t() * theta
    
    gnuplot.plot({'Data', xTrain, yTrain, '+'}, {'Prediction', xTest, yPred, '-'})

  • 相关阅读:
    细菌(disease)
    素数路(prime)
    母亲的牛奶(milk)
    Counting Islands II
    Popular Products
    Binary Watch
    BZOJ 1822[JSOI2010]Frozen Nova 冷冻波
    尝试一下LLJ大佬的理论AC大法
    BZOJ 3626 [LNOI2014]LCA
    BZOJ 3319 黑白树
  • 原文地址:https://www.cnblogs.com/devai/p/4839923.html
Copyright © 2011-2022 走看看