- 博客(25)
- 资源 (2)
- 收藏
- 关注
原创 啤酒与尿布?挖掘商品之间的关联性分析(1):机器学习之Apriori算法
1. 背景一个广为流传的挖掘商品之间的关联性的故事就是“啤酒与尿布”这个故事。相传某超市通过分析顾客的账单,发现啤酒总是和尿布一起购买。通过分析,发现这是因为美国人喜欢喝啤酒,当买尿布的时候看到啤酒就顺便买了。于是就把啤酒与尿布总是放在一起卖。这样的有关联性的商品还有很多。如洋葱和土豆捆绑消费等等。将关联度高的商品放在一起促销或者捆绑消费可以提高营业额。同时电商平台也可以捆绑推荐提高成交量。而当...
2019-05-27 21:35:08 9101
原创 取球博弈问题 蓝桥杯
取球博弈两个人玩取球的游戏。一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目。如果无法继续取球,则游戏结束直接深度优先搜索肯定不行,因为如果有1000个球那么每次有三种取法,一共差不多就有3的几百次方。这个数据简直是天文数字。 因此需要进行记忆化存储,将原先算过的数据进行保存。但是要保存所有数据也是不现实的,因为我们需要保存的结果是当剩下n个球。
2019-05-27 15:31:10 1552
原创 {高中生能看懂的}梯度下降是个啥?
刚接触机器学习的同学避不开的一个专业名词就是梯度下降。顿时心里万马奔腾,其实很简单的,你先得理解概念才能看到那些公式不怂。(当然本文全程无公式,书写用时2小时,阅读估计10分钟) 本文主要解决三个问题:梯度到底是啥?梯度下降有啥用?为啥要下降? 问题一:梯度是个啥? 其实“梯度”你Ctr+H替换成“导数”就可以了,梯度就是目标函数的导数。以后你在书上遇到这个词就替换成“导数”就...
2019-05-27 15:30:26 674
原创 4分钟看懂逻辑回归是什么?要优化什么参数?和极大似然法有什么关系?机器学习小总结
机器学习虽然那么多事实上都是一个规律。我在文章末尾进行了总结。逻辑回归和线性回归最大区别两个一 是线性回归它认为模型是一条直线,逻辑回归它认为模型是一条曲线。二是优化参数的方法。线性回归就是想让各个样本点离画出来的直线的平均距离尽可能短。而逻辑回归则不是算平均距离。它是用概率来优化的。优化方法叫做极大似然法。还是不懂要优化什么参数?和怎么优化的?看下面的:那么逻辑回归里面的极大似然法怎么做的?逻辑回归到底是什么?要优化什么参数?为何要优化这些参数...
2019-05-27 15:29:06 1525 2
原创 从本质看决策树,谈谈信息熵是怎么发现的,ID3决策树Python实践实现XOR异或
本文首发于CSDN @Ai酱 的博客,转载请注明出处。任何机器学习的套路机器学习算法看起来那么多,其实套路就一个。那么多算法是背不下来的,自己知道他们怎么根据套路想出来的就可以。套路就三步:选取一种数学模型来对数据进行分类预测*。线性回归是用直线这个数学模型来划分数据。逻辑回归是用sigmoid这个函数来输出一个概率值。决策树是想用一个二叉树来对数据分类(二叉树也是一个数学模型)确...
2019-05-27 10:54:31 936
原创 适合初学者易懂的机器学习算法之k-means(k均值)Python代码实现
k-means算法中文名叫做k均值。它是一种聚类算法,这是什么意思呢?就是现在我有一堆数据,但是我知道这些数据有k个类。但是具体每一个数据点所属分类我就不知道了。此时就需要用k-means聚类算法,它可以把原先的数据分成k个部分,注意这k个部分包含的数据点的数量不一定相等的。相似的数据就聚在一起。k-means算法操作步骤1. 设定k的取值(你觉得有多少个类就设置是多少,不知道那就把点描出来你...
2019-05-26 14:55:09 1831
转载 adaboost理解
基本原理Adaboost算法基本原理就是将多个弱分类器(弱分类器一般选用单层决策树)进行合理的结合,使其成为一个强分类器。Adaboost采用迭代的思想,每次迭代只训练一个弱分类器,训练好的弱分类器将参与下一次迭代的使用。也就是说,在第N次迭代中,一共就有N个弱分类器,其中N-1个是以前训练好的,其各种参数都不再改变,本次训练第N个分类器。其中弱分类器的关系是第N个弱分类器更可能分对前N-...
2019-05-25 21:22:16 434
原创 通俗解释高中生能听懂的SVM本质和原理
当年SVM怎么被发明的?任何机器学习都是套一个数学模型,然后求解数学模型的待求解参数。SVM使用的是怎样的一个模型呢?。现在把我们作为一发明者,看看下面这张图。知道一个算法原理最好的方法是研究它是怎么想出来的,不然直接看公式可能马上就记住了,但是过了段时间就会忘因为没有理解。如果是下面这张图,我们怎么划分开这两组数据?最简单的方式就是用一条直线。现在我们已经发明了一种算法(事实上别人已经发明了...
2019-05-24 21:06:18 2047 1
原创 [初学者入门]任何机器学习套路?逻辑回归是什么?要有哪些未知参数待求解?如何优化?梯度下降是什么?如何用梯度下降
逻辑回归是什么?要有哪些未知参数待求解?如何优化?梯度下降是什么?如何用梯度下降求逻辑回归未知参数?作者:知乎@Ai酱本文要解决的是标题上的那些问题。1. 任何机器学习套路任何机器学习套路都逃不掉:使用一个数学模型来套到数据上->任何数学模型都有待设定的参数,不同数据适合不同参数值->怎么评价这些参数设定值好不好(设计误差函数)->用梯度下降或者其他方法求解误差函数最小值...
2019-05-23 18:14:43 476 1
原创 贝叶斯公式在机器学习中有什么用,实例讲解Python实现朴素贝叶斯分类器
贝叶斯公式=贝叶斯定理贝叶斯公式到底想说啥贝叶斯公式就是想用概率数学来表示事件发生依赖关系。贝叶斯公式长下面这样:用图形怎么表示贝叶斯公式P(X=x)P(X=x)P(X=x)就是X的面积。P(Y=y)P(Y=y)P(Y=y)就是Y的面积。P(X=x∣Y=y)P(X=x|Y=y)P(X=x∣Y=y)是什么?P(X=x∣Y=y)P(X=x|Y=y)P(X=x∣Y=y)是指Y发生的情况下...
2019-05-22 21:11:34 1090
原创 通俗易懂适合初学者的机器学习实战(1):k- Nearest Neighbor (k个最近的邻居)KNN算法
k- Nearest Neighbor (k个最接近的邻居)算法任何机器学习都是假定一种数学模型可以用于当前这个数据解决问题 。而任何数学模型都有参数,其中不同数据参数的取值是不一样的。那么我们学习任何机器学习第一件事。那就是要确定它使用的是数学模型是什么。第二件事就是看这个数学模型有哪些参数需要根据数据来确定。kNN算法到底是什么?它未知参数k到底是什么?kNN很简单。那就是“人以类聚...
2019-05-20 13:30:42 584
原创 Python从0开始实现Numpy矩阵库,拒绝掉包侠,学习造轮子
# -*- coding: utf-8 -*-"""Created on Tue May 14 15:37:59 2019@author: Ai酱"""class Mattrix: val = [] shape=(0,) def __init__(self,val): if type(val)==list: self.val...
2019-05-15 09:23:57 355 1
原创 99%的人都会忽略的Python易错点总结
(-2)**0.5和sqrt(-2)是不同的,前者是复数后者是会报错的。print((-2)**0.5)#输出:(8.659560562354934e-17+1.4142135623730951j)import mathmath.sqrt(-2)#报错ValueError: math domain error...
2019-05-14 11:05:21 682
原创 遇到问题,有哪些有效的分析方法?
作者:Ai酱这个方法为什么叫这个名字?如果是我们自己做我会怎么设计?为什么提出者能想到这个想法?一直问为什么来找方向,自己去尝试解释为什么通过问这三个问题让我们看到一个概念时候就方向感,知道从哪入手。万事开头难。我用这几个问题问自己悟出这个回答:计算机生态圈是怎么样的?。就拿香农的《信息熵=》来讲。是不是完全不懂“信息熵”是什么?怎么学?从哪学?查定义也似懂非懂。这个难度绝对是超过...
2019-05-11 13:22:16 900
原创 10分钟 举例子Python 单元测试实践 入门教程
10分钟 举例子Python 单元测试实践 入门教程作者:知乎 Ai酱首发于:知乎专栏《适合初学者的机器学习神经网络理论到实践》,转载需注明出处华南理工大学 计算机技术硕士在读2 人赞同了该文章为何要测试:设定预期结果让计算机判断结果是否符合预期。省得组件很多的时候一个一个的检测这些组件是否运行结果正确。- 如何比较运行时某变量大小或类型是否与预期值一致: asser...
2019-05-10 10:46:59 500
原创 [编辑推荐|易懂]如何理解论文中的那些评估方法性能指标概念名词{召回率 ROC AUC 交叉验证} 适合初学者的神经网络 实战 理论 实践(6)
适合初学者的神经网络 实战 理论 实践(6)[易懂]如何理解论文中的那些评估方法性能指标概念名词{召回率 ROC AUC 交叉验证}作者:知乎 Ai酱首发于:知乎专栏《适合初学者的机器学习神经网络理论到实践》假设现在我们论文是要识别垃圾邮件。将邮件分类为垃圾邮件和非垃圾邮件。好了接下来通过垃圾邮件这个例子说明别人论文中常常出现的评估方法性能的概念名字是什么意思。假如我输入了...
2019-05-10 10:38:21 492 2
原创 如何理解Bayes贝叶斯公式|如何理解极大似然法|这两个有什么关系?贝叶斯定理是什么|贝叶斯公式在机器学习中有什么用?
如何理解贝叶斯定理|公式?贝叶斯公式到底想说啥?如何理解极大似然法|这两个有什么关系?它怎么来的?用图形表示是什么样子。贝叶斯定理是什么|贝叶斯公式在机器学习中有什么用?
2019-05-06 19:05:55 915
原创 如何理解无偏估计?无偏估计有什么用?什么是无偏估计?
如何理解无偏估计无偏估计:就是我认为所有样本出现的概率一样。假如有N个样本我们认为所有样本出现概率都是1/N。然后根据这个来计算数学期望。此时的数学期望就是我们平常讲的平均值。数学期望本质就是平均值无偏估计为何叫做“无偏”?它要“估计”什么?回答第二个问题,它要估计的是整体的数学期望(平均值)。那为何叫做无偏?有偏是什么?假设这个是一些样本的集合X=x1,x2,..,xi,xN...
2019-05-06 17:14:37 33306 9
原创 概率质量(mass)函数和概率密度(density)函数区别
答:他们是同一个东西,不同名字。就像人类,有些叫做男人有些叫做女人,一样的道理。描述离散型数据的概率叫做概率分布函数,描述连续型数据叫做概率密度函数。概率分布函数:各个分类的概率。概率密度函数:数据落在某一段连续的区间的概率。概率分布函数概率密度函数...
2019-05-06 14:56:29 9663
原创 Python使用VTK三维3D图形绘制入门教程
安装:pip install vtk学习一个东西最快的方法是知道基本原理和用途VTK有啥用不能做游戏。适合快速开发绘制静态三维模型。所以类似多用途折叠工具刀用处多,但是不能用在特别费劲的场合。VTK工作流程(大致看看对vtk各模块做的事有点印象即可)读取图形数据→过滤→建图→构建执行单元→渲染→打开渲染窗口→交互界面读取图形数据\rightarrow过滤\rightarrow建图\...
2019-05-05 20:42:57 11047 2
原创 numpy数组水平方向拼接和在尾部拼接
numpy数组拼接np.concatenatea = np.array([[1,2,3]])b = np.array([[4,5,6]])c = np.array([[7,8,9]])1. 尾部拼接np.concatenate((a,b,c))"""array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])"""2. 水平方向...
2019-05-05 18:54:01 1722
原创 Python中numpy中tile和repeat用法和区别
tiletile(数组,重复次数)tile(数组,(第1维重复次数,第2维重复次数,...,第n维重复次数))例子tile(数组,(沿着第1维的轴重复次数,沿着第2维的轴重复次数,…,沿着第n维的轴重复次数))我看了下numpy中tile()函数的源码,它是这么做的。(第1维重复次数,第2维重复次数,...,第n维重复次数)这是个元组。这个元组维度和目标数组维度一样,因为它是要...
2019-05-04 15:45:19 858
原创 适合初学者的神经网络理论到实践(5):10分钟从实践了解Python测试入门
Table of Contents- 如何比较运行时某变量大小或类型是否与预期值一致: assert(断言)assert例子:assert练习:- Python单元测试实践- 如何测试近似相等,非常接近我们就认为是相等(需要用到numpy)为何要测试:设定预期结果让计算机判断结果是否符合预期。省得组件很多的时候一个一个的检测这些组件是否运行结果正确。- 如何比较运行时某...
2019-05-04 14:51:25 692
驯服烂代码
2017-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人