统计学习方法-感知机笔记

栏目: 数据库 · 发布时间: 5年前

内容简介:感知机(perceptron)是二类分类的线性分类模型,属于判别模型,是支持向量机(SVM)的基础,两者都是属于监督学习的一种分类器,而后者在生物信息学处理分类问题中应用非常广泛(尤其是在生物标记物biomarker研究以及癌症预后等研究中)感知机的学习策略是使基于误分类点到分离超平面的距离(损失函数)极小化,使用的是基于梯度下降法(为了解决存在多解的情况,使得存在唯一解,需要对分离超平面增加约束条件,从而改进为支持向量机,后者不是使用梯度下降法,而是由约束条件构造的拉格朗日函数,求偏导为0求极值点

感知机(perceptron)是二类分类的线性分类模型,属于判别模型,是支持向量机(SVM)的基础,两者都是属于监督学习的一种分类器,而后者在生物信息学处理分类问题中应用非常广泛(尤其是在生物标记物biomarker研究以及癌症预后等研究中)

感知机的学习策略是使基于误分类点到分离超平面的距离(损失函数)极小化,使用的是基于梯度下降法( 理解梯度下降法 )对损失函数的最优化算法(有些使用标准梯度下降来实现);因为使用的是随机梯度下降法,所以极小化过程中随机选择一个误分类点使其梯度下降;当训练数据集是线性可分时,其学习算法是收敛的,但是由于迭代随机选取误分类点而导致存在无穷多个解

为了解决存在多解的情况,使得存在唯一解,需要对分离超平面增加约束条件,从而改进为支持向量机,后者不是使用梯度下降法,而是由约束条件构造的拉格朗日函数,求偏导为0求极值点

但感知机学习算法具有简单而易于实现的优点,但容易造成过拟合,分为原始形式和对偶形式两种,两者都能求解出相同的结果

感知机的损失函数中点到超平面的距离公式的推导(自己高数忘光了,推导不出,只好看别人的了~)可看 点到超平面距离公式 推导

原始形式算法步骤:

* 用0(或者一个较小的输)来初始化权值w 0 和偏置b 0

* 从训练集中选取数据(x i , y i ),计算其公式判断每个点是否被正确分类

* 通过感知器学习规则来更新权值w和偏置b,迭代至所有点都被正确分类,最终获得更新的权重w和偏置b

以<统计学习方法>例2.1数据为例,代码实现如下:

import numpy as np

X = np.array([[3,3],[4,3],[1,1]])
y = np.array([[1],[1],[-1]])

class Perceptron():
    def __init__(self):
        self.weight = np.zeros((2,1))
        self.bias = 0
        self.learning_rate = 1

    def fit(self, X, y):
        a = np.dot(X, self.weight) + self.bias
        p = np.where(a <= 0)[0]

        while len(p) > 0:
            # 随机取误分类点
            # index = np.random.choice(p) 
            # 取第一个误分类点(按照书中例子)
            index = p[0]
            print(index + 1)
            self.weight += y[index] * X[index].reshape(2,1)
            self.bias += y[index]
            a = y * (np.dot(X, self.weight) + self.bias)
            p = np.where(a <= 0)[0]

        return self.weight, self.bias

p = Perceptron()
trained_w, trained_b = p.fit(X=X, y=y)

如果除了训练集外还有测试集,那么可以根据训练集获得的w和b来预测测试集从而进行分类

另外在查找R中感知机的函数时,见识到了一种搜索R函数的方法:

library(sos)
findFn("perceptron")

本文出自于 http://www.bioinfo-scrounger.com 转载请注明出处


以上所述就是小编给大家介绍的《统计学习方法-感知机笔记》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Programming Amazon Web Services

Programming Amazon Web Services

James Murty / O'Reilly Media / 2008-3-25 / USD 49.99

Building on the success of its storefront and fulfillment services, Amazon now allows businesses to "rent" computing power, data storage and bandwidth on its vast network platform. This book demonstra......一起来看看 《Programming Amazon Web Services》 这本书的介绍吧!

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具