首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perceptron算法混淆

Perceptron算法混淆
EN

Stack Overflow用户
提问于 2021-12-20 19:57:41
回答 1查看 63关注 0票数 0

我正试图解决这个问题:

代码语言:javascript
复制
def phi(x):
    # DO NOTHING ON THIS FUNCTION
    if x<=0:
        return -1.0
    else:
        return 1.0
    
phi = np.vectorize(phi)

这就是我需要实现该功能的地方:

代码语言:javascript
复制
def predictOne(x, w):
    z =  
    return phi(z)

但是,当我尝试使用我的公式时,但是用我的输入代码:

代码语言:javascript
复制
def predictOne(x, w):
    z =  0 + x * w
    return phi(z)

并运行我的断言:

代码语言:javascript
复制
assert predictOne(np.array([0.0,0.0]) , np.array([0.1,3.2,7.4])) == 1.0
assert predictOne(np.array([0.0,0.0]), np.array([-0.1,3.2,7.4])) == -1.0
assert predictOne(np.array([0.3,-0.7]), np.array([0.1,3.2,7.4])) == -1.0
assert predictOne(np.array([0.3,0.7]), np.array([0.1,3.2,7.4])) == 1.0

我得到一个(操作数不能与形状(2,) (3,)一起广播)

显然,断言是正确的,所以我在predictOne函数中做了一些错误。有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-20 20:55:53

问题在于公式:

代码语言:javascript
复制
def predictOne(x, w):
    z = w[0] + np.sum(x * w[1:])
    return phi(z)

  • w[0]是偏见。正如@mkrieger所指出的,零的偏差并不能使大量的sense.
  • perceptron实质上计算输入的加权和,因此结果应该被总结。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70427301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档