机器学习
文章平均质量分 63
打工人小飞
公众号:机器修行
展开
-
主成分分析(PCA)一次讲个够
PCA 简介多元统计分析中普遍存在的困难中,有一个困难是多元数据的可视化。matlab 中的 plot 可以显示两个变量之间的关系,plot3 和surf 可以显示三维的不同。但是当有多于3个变量时,要可视化变量之间的关系就很困难了。幸运的是,在一组多变量的数据中,很多变量常常是一起变动的。一个原因是很多变量是同一个驱动影响的的结果。在很多系统中,只有少数几个这样的驱动,但是多余的仪器使我们测量了很原创 2017-11-29 11:31:46 · 57364 阅读 · 6 评论 -
对比欧氏距离与余弦相似度
欧式距离欧氏距离就是我们平常所说的距离,如果是平面上的两个点 A(x1,y1)A(x_1,y_1) 和 B(x2,y2)B(x_2,y_2) ,那么 A 与 B 的欧式距离就是 (x1−x2)2+(y1−y2)2‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√\sqrt{(x_1-x_2)^2+(y_1-y_2)^2} ;如果是三维空间中的两个点 A(x1,y1,z1)A(x_1,y_1,z_1) 和原创 2017-11-07 16:48:20 · 21517 阅读 · 3 评论 -
公众号“机器修行”开篇·致读者
大家好,欢迎来到“黄飞的博客专栏”!两年前就有开通公众号的想法,一直没有付诸行动。毕业之后可自由支配的时间相对减少,其实应该是拖延症……无数次思想斗争后,终于,一个名叫“机器修行”(ID: Machine2Learn)的公众号落地了!为什么开通公众号?记录日常所学所感,并用最通俗的语言传达出来是开设公众号的初衷。自2015年大三起,笔者将进入实验室后参与科研项目的心路历程以博客的形式记录下来,并发表在CSDN上。这个习惯一直坚持到现在,也将持续进行下去。笔者的CSDN博客专栏栏目众多,包含了曾经涉猎过的原创 2021-01-16 18:01:57 · 1675 阅读 · 6 评论 -
谈一谈交叉熵损失函数
关于损失函数的概念以及种类特点,可参看博主的博客: 常见的损失函数总结,谈到交叉熵,就不得不提信息熵的概念,同样可参看博主之前的博客:决策树之基 —— ID3 算法,博文中提到了信息熵的相关知识。有了上述两篇博文作为基础,此文不再赘述相关概念。交叉熵的离散函数形式交叉熵(cross entropy)是用来评估当前训练得到的概率分布与真实分布的差异情况,减少交叉熵损失就是在提高模型的预...原创 2018-05-22 16:31:40 · 4154 阅读 · 0 评论 -
matplotlib 实例回顾总结
在使用机器学习方法解决问题的过程中,一定会遇到需要针对数据进行绘图的场景。Matplotlib 是支持 Python 语言的开源绘图库,因为其支持丰富的绘图类型、简单的绘图方式以及完善的接口文档,深受开发者和研究者的喜爱。同样本次是对之前的零散知识点进行归纳总结,用实例总结回顾 matplotlib 库的各种绘图技巧。一、Matplotlib 面向对象 API(1)画出函数 y=x2+2y=x^2+原创 2018-05-03 20:10:57 · 1264 阅读 · 0 评论 -
numpy 实例回顾总结
NumPy 是 Python 语言的一个扩充程序库。支持大量高维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。机器学习涉及到大量对数组的变换和运算,NumPy 就成了必不可少的工具之一。基于之前对 numpy 的使用较零散,笔者今天对 numpy 的各个常用知识点做一个归纳总结,并都以实例形式展现(基于python3.6 与 NumPy1.14.2,输入与输入都放入代码块中,输入前标注>原创 2018-05-01 16:55:20 · 2971 阅读 · 0 评论 -
机器学习中如何解决样本不均衡的问题?
很多机器学习算法都有一个基本假设,就是数据分布是均匀的。当我们把这些算法直接应用在实际数据中时,大多数情况下都无法取得理想的结果,因为实际数据往往分布的很不均衡,都存在长尾效应。举个例子,大部分(假如是97%以上)的微博的总互动数(包括被转发,评论和点赞数量)都在0~5之间,交互数多的微博(多于100)非常的少,如果我们去预测一条微博交互数所在档位,预测器只需要把所有微博预测为第一档(0-5)就能解原创 2018-04-14 15:11:21 · 4077 阅读 · 2 评论 -
常见的损失函数总结
损失函数(loss function)用来估量模型的预测值 f(x)f(x) 与真实值 YY 的不一致程度,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数的重要组成部分。模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子: Rsrm(f)=1N∑i=1NL(yi,f(xi))+λJ(f)R_{srm}(f)=\frac{1}{N}\sum_{i原创 2018-04-13 17:07:45 · 4144 阅读 · 0 评论 -
机器学习中常见的最优化算法总结
最优化算法的重要性不言而喻,笔者在本科的时候曾经投入不少精力参加数学建模竞赛,学习到了不少东西,也取得过一些较好的奖项。在数学建模竞赛中,优化问题占了大半江山,由此可见其在科研以及实际项目中的分量。本篇博客主要将竞赛和项目中曾遇到过的以及机器学习中的常见优化算法做一个概要总结。1. 梯度下降法关于梯度下降法的详细解释,可参照笔者的另一篇博客:BP 神经网络中的基础算法之二 —— 梯度下...原创 2018-04-10 16:33:16 · 5433 阅读 · 0 评论 -
一个完整机器学习项目流程总结
1. 实际问题抽象成数学问题这里的抽象成数学问题,指的我们明确我们可以获得什么样的数据,目标是一个分类还是回归或者是聚类的问题,如果都不是的话,如果划归为其中的某类问题。2. 获取数据获取数据包括获取原始数据以及从原始数据中经过特征工程从原始数据中提取训练、测试数据。机器学习比赛中原始数据都是直接提供的,但是实际问题需要自己获得原始数据。“ 数据决定机器学习结果的上限,而算法只是尽可能的逼近这个上限原创 2018-04-08 13:53:39 · 22882 阅读 · 4 评论 -
机器学习中,为何经常要对数据归一化?
机器学习中,为何经常要对数据归一化?原因有二:(1)归一化后加快了梯度下降求最优解的速度;(2)归一化有可能提高精度。为什么归一化能提高梯度下降法求解最优解的速度?假定为预测房价的例子,自变量为面积大小和房间数,因变量为房价。那么可以得到的公式为: y=θ1x1+θ2x2y=θ1x1+θ2x2y=\theta_1x_1+\theta_2x_2 其中,x1x1x_1代表房间数,θ1θ1\...原创 2018-04-07 16:50:49 · 8718 阅读 · 0 评论 -
总结 LR 与 SVM 以及 线性回归的区别与联系
LR 与 SVM 的联系与区别相同点LR 与 SVM 都是分类算法;LR 与 SVM 都是监督学习算法;LR 与 SVM 都是判别模型;关于判别模型与生成模型的详细概念与理解,笔者会在下篇博文给出,这里不详述。如果不考虑核函数,LR 与 SVM 都是线性分类算法,也就是说他们的分类决策面都是线性的这里需要说明的是,LR 也是可以用核函数的,因在 LR 算法里,每个样本点都必须参与决策面的计算原创 2018-04-05 15:42:49 · 3388 阅读 · 3 评论 -
总结 Logistic 回归与 Softmax 回归联系与区别
Logistic 回归与 Softmax 回归是两个基础的分类模型,虽然听名字像是回归模型,实际上并非如此。Logistic 回归,Softmax 回归以及线性回归都是基于线性模型。其实 Softmax 就是 Logistic 的推广,Logistic 一般用于二分类,而softmax 是多分类。逻辑回归的激活函数是 sigmoid 函数,可理解成一个被 sigmoid 函数归一化后的线性回归,si原创 2018-04-03 13:27:59 · 12363 阅读 · 6 评论 -
浅谈 SVM
SVM,全称是 support vector machine,中文名叫支持向量机。SVM 是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开。 如上图所示,w⃗ \vec{w} 为分割线(红线)的法向量,对平面上的某个样本点(向量 u⃗ \vec{u}),如果满足: w⃗ ⋅u⃗ ≥c时,则该样本属于正样本.\vec{w}\cdot\vec{u}\geq c 时原创 2018-03-25 17:11:33 · 613 阅读 · 0 评论 -
谈一谈正则化
要理解正则化,首先需要了解过拟合的概念,关于过拟合,笔者在前面的博文中有专门提到,详情可参见博文:过拟合与欠拟合简要总结 以及 如何解决过拟合问题。下面结合 NG 的公开课、网络上资源解读以及自己的一些理解,对正则化做相关阐述:以 NG 公开课中的房价预测问题为背景,展开讨论。 在机器学习中,过多的变量(特征),同时只有非常少的训练数据,会导致出现过度拟合的问题。因此为了解决过度拟合,有以下两个办原创 2018-03-17 21:23:32 · 679 阅读 · 0 评论 -
BP 神经网络中的基础算法之二 —— 梯度下降算法
在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法,关于最小二乘法,可参考笔者的上一篇博客 BP 神经网络中的基础算法之一 —— 最小二乘法。何为梯度?在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数 f(x,y)f(x,y), 分别对 x,y 求偏导原创 2018-02-06 21:03:10 · 2856 阅读 · 0 评论 -
BP 神经网络中的基础算法之一 —— 最小二乘法(LS 算法)
最小二乘法(LS 算法)是统计分析中最常用的逼近计算的一种算法,其交替计算结果使得最终结果尽可能地逼近真实结果。LS 算法是一种数学优化技术,也是一种机器学习常用算法。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和最小。最小二乘法还可用于曲线拟合,其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。若原创 2018-02-06 16:26:42 · 6944 阅读 · 0 评论 -
决策树之基 —— ID3 算法
决策树用来预测的是一个固定的对象,从根到叶节点的一条特定路线就是一个分类规则,决定这一个分类算法和结果。 决策树的生成算法是从根部开始,输入一系列带有标签分类的示例(向量),从而构造出一系列的决策节点。其节点又称为逻辑判断,表示该属性的某个分支(属性),供下一步继续判断,一般有几个分支就有几条有向的线作为类别标记。决策树的理论基础——信息熵信息熵指的是对事件中不确定的信息的度量。在一原创 2018-01-29 17:53:55 · 862 阅读 · 0 评论