-
老马学机器学习-08-感知机算法对偶算法
回顾
上一节,我们学习了感知机算法的基本实现。
但是,如果数据不是线性可分,即找不到一条直线能够将所有的正负样本完全分类正确,这种情况下,似乎 PLA 会永远更新迭代下去,却找不到正确的分类线。
对于线性不可分的情况,该如何使用PLA算法呢?
Pocket PLA 是什么?
首先,我们来看一下线性不可分的例子:
读取数据
实现如下:
import numpy as np
im...
2019-04-16 02:55:13 |
ML
-
老马学机器学习-06-感知机算法 PLA 原理及源码实现详解
感知机
PLA 全称是 Perceptron Linear Algorithm,即线性感知机算法,属于一种最简单的感知机(Perceptron)模型。
感知机模型是机器学习二分类问题中的一个非常简单的模型。
核心思想
它的思想很简单,就是在一个二维空间中寻找一条直线将红点和蓝点分开(图1),类比到高维空间中,感知机模型尝试寻找一个超平面,将所有二元类别分开(图2)。
不可分...
2019-04-16 02:55:13 |
ML
-
老马学机器学习-06-PLA
序章
机器学习的入门经典书籍有《机器学习》(西瓜书)和《统计学习方法》。
此处老马优先选择《统计学习方法》,因为基于概率的部分更加符合人的直觉,我们把神经网络部分放在统计算法之后。
当然,两本书有很多重合的地方,我们可以交叉学习。
所有理论篇前人已经总结的很好了,理论系列只做摘录,不作为原创。
四种学习形式
训练深度学习网络的方式主要有四种:监督、无监督、半监督和强化学习。
...
2019-04-16 02:55:13 |
ML
-
老马学机器学习-04-java 类似于 pandas 的开源库 Joinery
Joinery
Joinery 是遵循Pandas或R数据帧精神的数据帧实现。
快速开始
maven 引入
<dependency>
<groupId>joinery</groupId>
<artifactId>joinery-dataframe</artifactId>
<version>1.9&l...
2019-04-16 02:55:13 |
ML
-
老马学机器学习-04-java 类似于 numpy 的开源库 ND4j 简介
序言
API 有一个非常强大之处在于,是完全可以跨语言的。
numpy 工具强大到令人赞叹,那么 java 有没有类似的开源库呢?
答案是有的。
numpy 对应就是 ND4j。
ND4j
ND4J 是Java编写的开源、分布式深度学习项目,由总部位于旧金山的商业智能和企业软件公司Skymind牵头开发。
团队成员包括数据专家、深度学习专家、Java程序员和具有一定感知力的机器...
2019-04-16 02:55:13 |
ML
-
老马学机器学习-03-python 必备工具包简介
必备工具包
君子生非异也,善假于物也。——《劝学》
机器学习更是如此,前人为我们整理了大量的工具,我们要学会利用这些工具,帮助我们更快更好的学习。
当然就像孙悟空去东海一样,武器五花八门,我们最好的还是找到几个趁手的工具。
这里我们介绍一个最核心的 python 工具包。
Numpy
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量...
2019-04-16 02:55:13 |
ML
-
老马学机器学习-02-Anaconda 安装笔记
Anaconda
Anaconda 指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。
可以简单理解为 python 全家桶,包含了常见的工具包,这样就省去了我们后期安装各种依赖包。
核心组件
Anaconda 包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等
conda是一个开源的包、环境管理...
2019-04-16 02:55:13 |
ML
-
机器学习-01-如何从零开始入门机器学习?
序言
老马作为一名 java 开发者,对于机器学习仰慕已久。
对于机器学习甚至使用过 java 的深度学习框架 DL4j 学习过一遍,不过感觉依然没有入门。仔细想来,是没有理解机器学习背后的原理导致的。
而如何入门机器学习,也一直是一个困扰老马的问题。
本系列将和大家一起从零学习机器学习,揭开机器学习的神秘面纱。
机器学习
是什么?
机器学习是一门多领域交叉学科,涉及概率...
2019-04-16 02:55:13 |
ML