这篇学习笔记强调几何直觉,同时也注重感知机算法内部的动机.限于篇幅,这里仅仅讨论了感知机的一般情形.损失函数的引入.工作原理.关于感知机的对偶形式和核感知机,会专门写另外一篇文章.关于感知机的实现代码,亦不会在这里出现,会有一篇专门的文章介绍如何编写代码实现感知机,那里会有几个使用感知机做分类的小案例. 感知机算法是经典的神经网络模型,虽然只有一层神经网络,但前向传播的思想已经具备.究其本质,感知机指这样一个映射函数:\(sign(w_ix_i + b)\),将数据带进去计算可以得到输出值,通过…
完整代码及其数据,请移步小编的GitHub 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/MachineLearningNote 在数据挖掘方面,经常需要在做特征工程和模型训练之前对数据进行清洗,剔除无效数据和异常数据.异常检测也是数据挖掘的一个方向,用于反作弊,伪基站,金融欺诈等领域. 在之前已经学习了异常检测算法One Class SVM和 isolation  Forest算法,博文如下: Python机器学习笔记:异常点检测算法--One…
之前在<机器学习---感知机(Machine Learning Perceptron)>一文中介绍了感知机算法的理论知识,现在让我们来实践一下. 有两个数据文件:data1和data2,分别用于PLA和Pocket Algorithm.可在以下地址下载:https://github.com/RedstoneWill/MachineLearningInAction/tree/master/Perceptron%20Linear%20Algorithm/data. 先回顾一下感知机算法: 1,初始…
一.支持向量机 (SVM)算法的原理 支持向量机(Support Vector Machine,常简称为SVM)是一种监督式学习的方法,可广泛地应用于统计分类以及回归分析.它是将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面.在分开数据的超平面的两边建有两个互相平行的超平面,分隔超平面使两个平行超平面的距离最大化.假定平行超平面间的距离或差距越大,分类器的总误差越小. 对于线性可分的支持向量机求解问题实际上可转化为一个带约束条件的最优化求解问题: 推理过程:      结果:…
本文由云+社区发表 GBDT 是常用的机器学习算法之一,因其出色的特征自动组合能力和高效的运算大受欢迎. 这里简单介绍一下 GBDT 算法的原理,后续再写一个实战篇. 1.决策树的分类 决策树分为两大类,分类树和回归树. 分类树用于分类标签值,如晴天/阴天/雾/雨.用户性别.网页是否是垃圾页面: 回归树用于预测实数值,如明天的温度.用户的年龄.网页的相关程度: 两者的区别: 分类树的结果不能进行加减运算,晴天 晴天没有实际意义: 回归树的结果是预测一个数值,可以进行加减运算,例如 20 岁 3…
14.降维 觉得有用的话,欢迎一起讨论相互学习~Follow Me 14.3主成分分析原理Proncipal Component Analysis Problem Formulation 主成分分析(PCA)是最常见的降维算法 当主成分数量K=2时,我们的目的是找到一个低维的投影平面,当把所有的数据都投影到该低维平面上时,希望所有样本 平均投影误差 能尽可能地小. 投影平面 是一个由两个经过原点的向量规划而成的平面,而 投影误差 是 从特征向量向该投影平面作垂线的长度. 当主成分数量K=1时,我…
PCA 的数学原理和可视化效果 本文结构: 什么是 PCA 数学原理 可视化效果 1. 什么是 PCA PCA (principal component analysis, 主成分分析) 是机器学习中对数据进行降维的一种方法. 例如,我们有这样的交易数据,它有这几个特征:(日期, 浏览量, 访客数, 下单数, 成交数, 成交金额),从经验可知,“浏览量”和“访客数”,“下单数”和“成交数”之间会具有较强的相关关系.这种情况下,我们保留其中的两个维度就可以保证原有的信息完整. 但是当我们在做降维的…
前几天认把感知机这一章读完了,顺带做了点笔记 现在把笔记做第三次的整理 (不得不说博客园的LaTex公式和markdown排版真的不太舒服,该考虑在服务器上建一个博客了) 零.总结 适用于具有线性可分的数据集的二分类问题,可以说是很局限了 感知机本质上是一个分离超平面 在向量维数(特征数)过高时,选择对偶形式算法 在向量个数(样本数)过多时,应选择原始算法 批量梯度下降和随机梯度下降的区别和优势 参考链接:随机梯度下降(Stochastic gradient descent)和 批量梯度下降(B…
本文结构: 什么是集成学习? 为什么集成的效果就会好于单个学习器? 如何生成个体学习器? 什么是 Boosting? Adaboost 算法? 什么是集成学习 集成学习就是将多个弱的学习器结合起来组成一个强的学习器. 这就涉及到,先产生一组‘个体学习器’,再用一个策略将它们结合起来. 个体学习器可以选择:决策树,神经网络.集成时可以所有个体学习器属于同一类算法:全是决策树,或全是神经网络:也可以来自不同的算法.结合策略:例如分类问题,可以用投票法,少数服从多数. 之所以用这种集成的思想,是因为单…
9. Clustering Content 9. Clustering 9.1 Supervised Learning and Unsupervised Learning 9.2 K-means algorithm(代码地址:https://github.com/llhthinker/MachineLearningLab/tree/master/K-Means) 9.3 Optimization objective 9.4 Random Initialization 9.5 Choosing t…