secretflow / spu

SPU (Secure Processing Unit) aims to be a provable, measurable secure computation device, which provides computation ability while keeping your private data protected.
https://www.secretflow.org.cn/docs/spu/en/
Apache License 2.0
242 stars 104 forks source link

使用 SPU 实现感知机(perceptron)算法 #250

Closed Candicepan closed 1 year ago

Candicepan commented 1 year ago

此 ISSUE 为 隐语开源共建计划(SecretFlow Open Source Contribution Plan,简称 SF OSCP)第二期任务 ISSUE,欢迎社区开发者参与共建~ 若有感兴趣想要认领的任务,但还未报名,辛苦先完成报名进行哈~

任务介绍

详细要求

能力要求

操作说明

认领说明

本任务可有多种实现方式,故支持一个任务有多位开发者进行认领,请在认领任务后,在该 issue 下 comment 你的具体设计思路。

设计思路说明:简单说明计划使用什么算法 or 什么优化器实现任务需求即可

当同一任务有多位开发者提交设计思路时:

  • 若多位开发者的设计思路均类似,则将按照 comment 的时间 assign 给第一位 comment 的开发者;
  • 若多位开发者的设计思路均不同,则该 issue 将会拆分为以不同设计思路进行实现的子 issue,并 assign 给对应开发者。

开发须知

以下部分代码请必须增加代码注释,对对应代码模块进行说明,包括:

zoeStartover commented 1 year ago

zoeStartover Give it to me

Candicepan commented 1 year ago

zoeStartover Give it to me

感谢认领~Next Step:请按照认领说明在您的回复下 再更新您计划的设计思路哈~

zoeStartover commented 1 year ago

设计思路:

deadlywing commented 1 year ago

设计思路:

  • 初始化感知机模型,确定是否需要正则(L1,L2,ElasticNet,None),是否需要拟合bias项等基本参数(参照sklearn);
  • fit方法:训练感知机模型,输入训练集对X,Y = (x_i,y_i),若某点计算为误分类点,更新参数w和b,迭代上述过程至max_iter;
  • predict方法:输入待预测样本x,输出预测结果y=sign(w*x+b)。

您好,能麻烦具体说一下预备实现的内容么?

比如准备实现哪个(些)正则方法,以及使用什么优化算法?

zoeStartover commented 1 year ago

输入训练集X,Y = (x_i,y_i),优化目的是最小化-sum(y_i(wx_i+b)),每一圈使用随机梯度下降法(SGD)更新参数w,b,w=w+η y_i x_i,b=b+ η y_i,其中可选择的正则化方法包括L1,L2,ElasticNet(L1+L2)。

Candicepan commented 1 year ago

输入训练集X,Y = (x_i,y_i),优化目的是最小化-sum(y_i(wx_i+b)),每一圈使用随机梯度下降法(SGD)更新参数w,b,w=w+η y_i x_i,b=b+ η y_i,其中可选择的正则化方法包括L1,L2,ElasticNet(L1+L2)。

LGTM,请在下方子 issue 中再次认领任务哈 https://github.com/secretflow/spu/issues/285 ,我们将把任务的该种实现方式 assign 给你哈

github-actions[bot] commented 1 year ago

Stale issue message. Please comment to remove stale tag. Otherwise this issue will be closed soon.