机器学习-正样本加权

在loss上进行加权,加权方式:在交叉熵的前项上乘上加权的系数。

 

### 感知机的概念 感知机是一种用于二元分类的线性分类算法,在机器学习领域具有重要意义[^3]。作为最简单形式的人工神经网络单元,感知机由输入层和输出层组成,其中不包含隐藏层。 #### 输入与输出关系 对于给定的数据样本 \( (x_1, x_2,..., x_n) \),通过加权求和并加上偏置项 b 后传入激活函数 f() 得到最终预测结果 y: \[y = f(\sum_{i=1}^{n}(w_i * x_i)+b)\] 这里 w 表示权重向量;f() 是阶跃函数,当净输入大于等于某个阈值时返回 1 ,反之则返回 -1 或者 0 。这种机制使得感知机能有效地处理线性可分问题[^4]。 ```python import numpy as np class Perceptron(object): def __init__(self, eta=0.01, n_iter=50, random_state=1): self.eta = eta self.n_iter = n_iter self.random_state = random_state def fit(self, X, y): rgen = np.random.RandomState(self.random_state) self.w_ = rgen.normal(loc=0.0, scale=0.01, size=1 + X.shape[1]) for _ in range(self.n_iter): errors = 0 for xi, target in zip(X, y): update = self.eta * (target - self.predict(xi)) self.w_[1:] += update * xi self.w_[0] += update errors += int(update != 0.0) return self def net_input(self, X): """Calculate net input""" return np.dot(X, self.w_[1:]) + self.w_[0] def predict(self, X): """Return class label after unit step""" return np.where(self.net_input(X) >= 0.0, 1, -1) ``` 此代码实现了单层感知器的学习过程,包括初始化权重、调整权重直至收敛等功能。 尽管如此,由于其局限性——仅能解决线性分离问题且无法提供最大间隔解法,因此在现代复杂场景下的应用受到一定限制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值