机器学习笔记 perceptron(感知机) 在ex4Data数据集上的实现

惯例的ML课堂作业,第四个也是最后一个线性分类模型,感知机。

感知机是一个非常简单的线性分类模型,简单来说就是一个神经元,其激活函数是门限函数,有n个输入和一个输出,和神经元结构十分相似。

感知机的损失函数是看作是分类错的所有样本的输出值的和

hw的输出就是模型的预测结果,对于二分类问题就是0/1两种,y是真实标记。当预测和真实一致时,求和项为0,当hw取1,真实样本为0,系数为1。hw输入正值时才预测1所以整一项也是取正值,相反时系数为-1,但是输入值也是负数,最后还是正数。

损失函数形式很简单,对参数求导就可以得到梯度值。

对于SGD优化,参数更新规则如下:

由于数据是线性不可分的,SGD下会不断的震荡,用GD的话可以稳定结果,但是参数会不断扩大直到超出表示范围。GD就是把所有的SGD更新加起来而已。

下面给出代码:

import numpy as np
import matplotlib.pyplot as plt
import random

data_x = np.loadtxt("ex4Data/ex4x.dat")
data_y = np.loadtxt("ex4Data/ex4y.dat")
data_x_plt = data_x
plt.axis([15, 65, 40, 90])
plt.xlabel("exam 1 score")
plt.ylabel("exam 2 score")
for i in range(data_y.size):
    if data_y[i] =&#
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值