感知机与adaline算法
来源:互联网 发布:西门子数控编程软件 编辑:程序博客网 时间:2024/06/08 07:34
原理
相对于感知机,Adaline算法有趣的多,因为在学习Adaline的过程中涉及到机器学习中一个重要的概念:定义、最小化损失函数。学习Adaline为以后学习更复杂高端的算法(比如逻辑斯蒂回归、SVM等)起到抛砖引玉的作用。
Adaline和感知机的一个重要区别是Adaline算法中权重参数更新按照线性激活函数而不是单位阶跃函数。
算法对比
感知机
import numpy as npclass Perceptron(object): def __init__(self,eta = 0.1,n_iter = 10): self.eta = eta self.n_iter = n_iter def fit(self,X,y): self.w_ = np.zeros(1+X.shape[1]) self.errors = [] for _ in range(self.n_iter): errors = 0 for feature, target in zip(X, y): update =target - self.predict(feature) self.w_[1:] += update*feature self.w_[0] += update errors += int(update != 0.0) self.errors.append(errors) def net_input(self,X): return np.dot(X,self.w_[1:]+self.w_[0]) def predict(self,X): return np.where(self.net_input(X)>0.0,1,-1)
adaline算法
import numpy as npclass Adaline(object): def __init__(self,eta = 0.1,n_iter = 10): self.eta = eta self.n_iter = n_iter def fit(self,X,y): self.w_ = np.zeros(1+X.shape[1]) self.cost_ = [] for i in range(self.n_iter): output = self.predit(X) errors = y - output self.w_[1:] = self.eta * X.T.dot(errors) self.w_[0] = self.eta * errors.sum() cost = (errors ** 2).sum()/2.0 self.cost_.append(cost) return self def predit(self,X): return np.dot(X,self.w_[1:])+self.w_[0] def predict(self, X): return np.where(self.predit(X) > 0.0, 1, -1)
阅读全文
0 0
- 感知机与adaline算法
- 感知机与梯度下降算法
- 感知器算法与神经网络
- 感知机算法
- 感知机算法
- Python感知机算法
- 感知机学习算法
- 感知机算法
- 浅谈感知机算法
- 感知机学习算法
- 感知机算法
- 《李航:统计学习方法》--- 感知机算法原理与实现
- 感知机(perceptron)算法与MATLAB实现
- 感知机学习算法实现
- 机器学习:感知机算法
- 感知机学习算法实现
- 统计学习算法--感知机
- 感知机算法拓展---神经网络
- [13] Mysql常用操作
- Java 正则表达式
- gulp插件gulp-repath使用教程
- 树状数组区间操作模板
- Matlab基础_1
- 感知机与adaline算法
- nginx 泛解析
- Android 内存查看常用命令
- springmvc验证登录用过滤器还是拦截器
- HDU 2209 翻纸牌游戏
- 【JZOJ5335】【NOIP2017提高A组模拟8.24】早苗
- LICEcap 屏幕录制工具
- Hdu 6171 Admiral【双向Bfs+字符串哈希】
- Runtime的总结和应用