
机器学习算法
机器学习算法那些事
欢迎关注公众号:机器学习算法那些事,一个认真有情怀的机器学习社区
展开
-
非常详细的sklearn介绍
0引言Sklearn (全称 Scikit-Learn) 是基于 Python 语言的机器学习工具。它建立在 NumPy, SciPy, Pandas 和 Matplot...转载 2019-11-12 08:30:00 · 184166 阅读 · 65 评论 -
贝叶斯分析:抛硬币的概率真的是1/2吗
前言前面两文介绍了贝叶斯学派的思想和先验分布、后验分布的相关知识,古典频率学派认为抛硬币的概率是常数,本文从贝叶斯学派的角度看待抛硬币的概率问题。本文详细介绍了 β分布,重述贝叶斯思想,对于抛硬币的概率问题作各种情况的分析,最后总结本文。目录1、为什么选择β分布作为先验分布2、重述贝叶斯思想3、抛硬币问题的多情况分析4、总结 ...原创 2018-11-08 22:00:46 · 13287 阅读 · 2 评论 -
非参数正态性检验
前面两节介绍了采用Q-Q图和偏度与峰度来对采集样本进行正态性检验,本节介绍非参数性的正态性检验,非参数性的正态性检验算法思想大致相同,算法思想步骤为:首先假设条件H0成立,然后计算采集样本的统计量,最后在已知统计量分布的情况下比较统计量与显著性水平α的大小,根据比较结果判断是否拒绝检验假设H0(如下图)。 本文首先介...原创 2018-11-08 22:40:39 · 3962 阅读 · 0 评论 -
机器学习模型评估方法
实际的机器学习项目中,我们往往只知道包含m个样例的数据集D,D={(x1,y1),(x2,y2),(x3,y3),...(xm,ym)},通过对数据集D进行适当的处理,划分为训练集和测试集,训练集构建模型,然后用该模型计算测试数据集的测试误差,最后以测试集的测试误差近似为模型的泛化能力,根据泛化能力来评价模型的优劣。我们在构建最优机器模型的前提是假设数据集D是独立同分布的,用抽样的观点来解释就...原创 2018-11-08 22:59:22 · 1245 阅读 · 0 评论 -
机器学习模型性能评估(一):错误率与精度
机器学习是对给定的原始数据集构建最优学习模型,上篇文章讲到《机器学习模型评估方法》,通过模型评估方法将原始数据集划分训练集和测试集,训练集又可细分为训练集和验证集。机器学习的整个流程包括训练集和验证集构建最优模型,最优模型评估测试集的测试误差,通过测试误差来评价学习方法的泛化能力,泛化能力是评价机器学习模型性能的金标准(如图),即泛化能力强,对应的学习模型好。 ...原创 2018-11-08 23:52:11 · 5858 阅读 · 0 评论 -
机器学习模型性能评估(二):P-R曲线和ROC曲线
上文简要介绍了机器学习模型性能评估的四种方法以及应用场景,并详细介绍了错误率与精度的性能评估方法。本文承接上文,继续介绍模型性能评估方法:P-R曲线和ROC曲线。 2.2 查准率、查全率与F1错误率和精度虽然常用,但是不能满足特定的任务的需求。以西...原创 2018-11-09 00:17:01 · 4656 阅读 · 0 评论 -
机器学习模型性能评估(三):代价曲线
上文详细介绍了P-R曲线与ROC曲线的性能评估方法,P-R曲线与ROC曲线是基于均等损失代价的模型性能评估方法,本文承接上文,详细介绍基于非均等损失代价的模型性能评估方法,并对已介绍的性能评估方法进行了总结。 2.4 代价敏...原创 2018-11-09 00:43:14 · 7046 阅读 · 4 评论 -
模型优化的风向标:偏差与方差
前面讲到测试集的泛化性能是衡量学习模型优劣的金标准,实际工作中,我们会遇到两个不能忽视的问题:(一)训练数据集D给定的情况下,不同的测试集T会有不同的测试精度;(二)不同训练数据集D构建的最优模型f不同。因此,仅仅通过测试误差来评价模型的泛化性能是存在偏差的。已知训练数据集D和测试数据集T的概率分布,用测试数据集的期望泛化误差来评价模型的泛化性能模型是最佳评价方案,其中,测试数据...原创 2018-11-09 00:58:51 · 937 阅读 · 0 评论 -
线性回归:不能忽视的三个问题
前言线性回归是比较简单的机器学习算法,很多书籍介绍的第一种机器学习算法就是线性回归算法,笔者查阅的中文书籍都是给出线性回归的表达式,然后告诉你怎么求参数最优化,可能部分同学会忽视一些问题,至少笔者忽视了。因此,本文重点介绍了平常容易忽视的三类问题,(1)线性回归的理论依据是什么,(2)过拟合意味着什么。(3)模型优化的方向目录1、线性回归的理论依据是什么2、过拟合意味着什么...原创 2018-11-09 01:09:28 · 2109 阅读 · 0 评论 -
清晰易懂的Numpy入门教程
目录1.如何构建numpy数组2.如何观察数组属性的大小和形状3. 如何从数组提取特定的项3.1 如何反转数组3.3 如何计算n维数组的平均值,最小值和最大值4. 如何从现有的数组定义新数组5. 多维数组的重构(reshaping)和扁平(flattening)5.1 flatten()和ravel()的区别6. 如何通过numpy生成序列数(sequences),重复数(repetitions...原创 2019-05-11 10:10:16 · 807 阅读 · 0 评论 -
浅谈先验分布和后验分布
【前言】上文提到贝叶斯定理是先验分布和后验分布转换的桥梁,贝叶斯学派计算参数后验分布的难点在于如何选择参数的先验分布,本文通过二项式分布的例子来形象的表达如何选择先验分布和计算后验分布,并阐述了先验分布和后验分布是如何转换的,最后对本文进行总结。 ...原创 2018-11-08 21:48:58 · 15414 阅读 · 2 评论 -
浅谈频率学派和贝叶斯学派
【写在前面的话】终于可以写贝叶斯相关的文章啦,心情有点小激动,最近一段时间反复看Bishop老师编写的<<Pattern Recognition and Machine Learning>>前三章章节,发现贝叶斯思想真是太强大了,瞬间成为该书作者的忠实粉丝。在后续的文章中,笔者会尽自己最大的努力去阐述与机器学习算法所蕴含的贝叶斯思想。若有错误之处,欢迎更正指出。笔者认为...原创 2018-11-08 21:38:35 · 6015 阅读 · 6 评论 -
深入理解线性回归算法(一)
前言线性回归算法是公众号介绍的第一个机器学习算法,原理比较简单,相信大部分人对线性回归算法的理解多于其他算法。本文介绍的线性回归算法包括最小二乘法和最大似然法,进而讨论这两种算法蕴含的一些小知识,然后分析算法的偏差和方差问题,最后总结全文。 ...原创 2018-11-09 09:10:29 · 2537 阅读 · 0 评论 -
深入理解线性回归算法(二):正则项的详细分析
前言当模型的复杂度达到一定程度时,则模型处于过拟合状态,类似这种意思相信大家看到个很多次了,本文首先讨论了怎么去理解复杂度这一概念,然后回顾贝叶斯思想(原谅我有点啰嗦),并从贝叶斯的角度去理解正则项的含义以及正则项降低模型复杂度的方法,最后总结全文。 ...原创 2018-11-09 09:19:36 · 1913 阅读 · 0 评论 -
深入理解线性回归算法(三):浅谈贝叶斯线性回归
前言上文介绍了正则化项与贝叶斯的关系,正则化项对应于贝叶斯的先验分布,因此通过设置参数的先验分布来调节正则化项。本文首先介绍了贝叶斯线性回归的相关性质,和正则化参数λ的作用,然后简单介绍了贝叶斯思想的模型比较,最后总结全文。目录1、后验参数分布和预测变量分布2、正则化参数λ的作用3、贝叶斯模型比较4、总结 ...原创 2018-11-09 09:29:39 · 2636 阅读 · 0 评论 -
线性分类模型(一):线性判别模型分析
前言前几篇文章介绍了线性回归算法,线性分类模型分为判别式模型和生成式模型,本文首先简单复习了与算法相关的数学基础知识,然后分析各线性判别式分类算法,如最小平方法,Fisher线性判别法和感知器法,最后总结全文。 目录1、相关的数学知识回顾2、判别式模...原创 2018-11-09 09:46:33 · 6645 阅读 · 0 评论 -
线性分类模型(二):logistic回归模型分析
前言上一篇文章介绍了线性判别模型,本文介绍线性生成模型——logistic回归模型。本文介绍logstic回归模型相关的知识,为了更好理解模型的决策边界函数,本文同时分析了多元变量的协方差对概率分布的影响。目录1、logistic回归模型的含义2、logistic模型的决策边界函数分析3、logistic模型的参数最优化3、logistic回归模型与感知机模型的比较...原创 2018-11-09 09:59:30 · 5069 阅读 · 1 评论 -
深入浅出核函数
前言支持向量机是最重要的机器学习算法之一,支持向量机的一个重要特点是通过核函数进行非线性分类。本文深度剖析了核函数的含义,并从该角度去理解线性回归和非线性分类的问题。目录1、线性回归的核函数表示2、核函数含义解析3、核函数含义理解线性回归4、核函数含义理解非线性分类5、核函数的应用范围6、总结 ...原创 2018-11-13 07:50:43 · 1286 阅读 · 0 评论 -
机器学习概论
一、机器学习简述 机器学习是通过学习现有的训练数据,获得”知识“,然后把该”知识“应用到新的数据中。机器学习学习现有的训练数据主要分为四个步骤:(一)计算训练数据的特征,(二)选择学习模型,如逻辑斯蒂回归,支持向量机或决策树等模型;(三)确定代价函数,代价函数最小化对应的模型为最佳模型,相同的训练数据不同的代价函数可能会得到不同的最佳模型;(四)确定评价准则,根据评价准则选择模型...原创 2018-11-08 19:13:28 · 874 阅读 · 0 评论 -
怎么用Q-Q图验证数据集的分布
样本数据集在构建机器学习模型的过程中具有重要的作用,样本数据集包括训练集、验证集、测试集,其中训练集和验证集的作用是对学习模型进行参数择优,测试集是测试该模型的泛化能力。 正负样本数据集符合独立同分布是构建机器学习模型的前提,...原创 2018-11-08 19:21:15 · 8745 阅读 · 0 评论 -
偏度与峰度的正态性分布判断
当我们应用统计方法对数据进行分析时,会发现许多分析方法如T检验、方差分析、相关分析以及线性回归等等,都要求数据服从正态分布或近似正态分布,正态分布在机器学习的重要性后期会讲述。上一篇文章用Q-Q图来验证数据集是否符合正态分布,本文首先介绍了偏度与峰度的定义,然后用偏度与峰度检测数据集是否符合正态分布,最后分析该检测算法的适用条件以及SPSS的结果分析。1、偏度与峰度(1)偏度(Ske...原创 2018-11-08 21:29:34 · 32543 阅读 · 2 评论