感知机模型学习笔记及Python实现
来源:互联网 发布:linux 查找关键字 编辑:程序博客网 时间:2024/06/05 05:03
最近刚接触李航博士的《统计学习方法》,还是挺赞的一本书,特别适合机器学习初学者的入门。里面主要阐述机器学习中的几大经典模型的理论方面,包括感知机、kNN、决策树、朴素贝叶斯、逻辑回归、SVM等。下面我结合自己的理解先介绍下感知机及其学习算法,然后通过Python实现这一模型并可视化处理。
1. 感知机模型
感知机模型如下
上面几个公式看着比较抽象,下面从几何的角度看下什么是感知机:
从上图可以看到,
2. 学习算法(原始形式与对偶形式对比)
感知机学习算法是对以下最优化问题的算法. 给定一个训练数据集
关于感知机的损失函数由来以及学习策略这里不再赘述,可以参照《统计学习方法》原著第2章节或者参考资料.
下面我主要从学习算法的原始形式和对偶形式两个方面的对比,来加深该算法的理解。
问1:如何简单地理解学习算法的对偶形式?
通常来说,对于原始形式不好解决的问题,可以转换到对应的对偶形式中,使之更容易求解。比如,在多维空间中运算量较大,感知机学习的对偶形式能够更加简地便计算。
问2:为什么在对偶形式中,迭代更新
对偶形式的基本想法是,将
3. 算法实现
例子:正样本点是
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
实现效果:
4. 总结
感知机是最简单最基础的分类器,理论也较简单. 但到了真正自己动手实现算法的时候,会遇到各种各样的问题. 说到底还是经验不足,以后有空还是要多推敲推敲代码. 一边实践,一边温习理论知识,理解才会更加深刻.
参考资料:
- http://www.hankcs.com/ml/the-perceptron.html
本文作为个人学习笔记,有什么不正确的地方,还请多多批评指正
阅读全文
1 0
- 感知机模型学习笔记及Python实现
- 感知机模型学习笔记及Python实现
- 《统计学习方法》学习笔记—感知机模型python实现
- Python机器学习-感知机原理及代码实现
- 统计学习笔记--感知机模型
- 《统计学习方法》-感知机模型学习笔记
- 感知机相关概念及Python实现
- 感知机原理及python实现
- 感知机学习模型
- 感知机算法及应用学习笔记
- 机器学习-感知机python实现
- [python]感知机学习算法实现
- 机器学习之感知机python实现
- 机器学习——感知器算法及python实现
- 统计学习方法 --- 感知机模型原理及c++实现
- 感知机Python实现
- 感知机实现Python
- python感知机实现
- TensorFlow 数据读取模块调用过程(inception)
- 猴子哟吐槽APP
- Throwable的几个常见方法
- 知识点总结
- JavaEE入门知识积累
- 感知机模型学习笔记及Python实现
- struts2学习之---文件上传
- git学习------>Git 分支管理最佳实践
- throws的方式处理异常
- python编码规范
- python web http server
- 使用hive查看hbase数据
- Linux驱动开发--pr_fmt的用法
- [iOS]FFmpeg框架在iOS平台上的编译和使用