机器学习
文章平均质量分 69
Fitz_p
这个作者很懒,什么都没留下…
展开
-
线性回归、对数几率回归的部分数学基础
原创 2019-12-09 00:05:50 · 369 阅读 · 0 评论 -
我对机器学习的整理理解
在机器学习通常来说,特征工程对模型性能影响最大,参数调优一般提升不如特征工程提升。 首先需要对数据进行充分探索,如属性是字符串类型、日期类型 还是 数值类型;若提供的数据存在几张表中,表中数据是否存在关联,是否可以进行统计、聚合;从业务理解上,可能影响模型性能的因素有哪些,表中数据能否构造该因素。 其次,我们需要对数据进行预处理。对字符串、categories 一般来说我们可以: ...原创 2019-12-08 23:51:41 · 453 阅读 · 0 评论 -
svc实战fashion-mnist图像分类
支持向量机 (SVMs)可用于以下监督学习算法:分类,回归和异常检测.支持向量机的优势在于:在高维空间中非常高效. 即使在数据维度比样本数量大的情况下仍然有效. 在决策函数(称为支持向量)中使用训练集的子集,因此它也是高效利用内存的. 通用性: 不同的核函数核函数与特定的决策函数一一对应.常见的 kernel 已经提供,也可以指定定制的内核.支持向量机的缺点包括:...原创 2019-09-24 01:23:01 · 2892 阅读 · 4 评论 -
实战fashion-mnist图像分类
1.分类原理(以crossentropy为例) 分类误差: 通过梯度下降 w:=w-d(L)/d(w) 来更新w的值,使得w朝梯度=0的方向变化,减少分类误差.2.下面来上代码2.1数据加载import matplotlib.pyplot as pltimport matplotlib as mpl%matplotlib ...原创 2019-09-21 21:20:03 · 2210 阅读 · 0 评论 -
决策树-处理连续值(5)
一.决策树根据属性进行一步步判断,连续值存在无限可能,故为了能够处理连续值,需要将连续值转化为离散值二.连续属性离散化技术:二分法(最简单)三.二分法做法:将连续值划分为 >t,<t,两类遍历属性所有值,按从小到大排序 则Ta={(ai+ai+1)/2 | 0<i<n } 遍历Ta,考察划分点,这里采用信息增益的方式, 选取信息增益最大的划分点 a...原创 2019-02-04 23:59:27 · 614 阅读 · 0 评论 -
决策树-后剪枝(4)
1.目的:提高泛化性能,2.后剪枝做法:先生成完整的决策树 由最底层结点开始考察,若把其替换成叶节点(取样例数最多的一类),比较验证集精度,如果精度提升,则将其替换为叶节点(剪枝);否则不进行剪枝; 参考书籍:机器学习-周志华...原创 2019-02-04 23:52:01 · 444 阅读 · 0 评论 -
决策树预剪枝(3)
1.预剪枝的目的:提升决策树的泛化性能 2.预剪枝的做法:将数据划分为训练集和验证集在划分每个节点之前进行评估,若当前节点的划分不能提升泛化性能,则停止划分,并将其标记为叶节点; 若当前节点的划分能够提升泛化性能(从信息增益 or 其他方式 选择最优属性),则继续划分; 3.如何判断泛化性能是否提升:用留出法(机器学习-性能评...原创 2019-02-04 23:47:12 · 1023 阅读 · 0 评论 -
决策树sklearn实现(2)
上一篇文章已经讲了决策树的原理:模拟 人决策过程,按因素影响程度 从大到小,依次决策,得出最终结论。也讲了如何判断因素的影响程度的一种方法:信息增益越大,影响程度越大。也大致讲了递归构建决策树的过程,今天我们来使用sklearn实现决策树。我不建议重复造轮子,除非当前轮子无法满足需求。sklearn实现决策树的核心代码就3句:1.声明决策树模型model=tree.DecisionTr...原创 2019-02-04 23:30:26 · 1152 阅读 · 0 评论 -
决策树思维方式及实现过程(1)
1.决策树是模拟 人决策过程,按因素影响程度 从大到小,依次决策,得出最终结论。如下图:为分类一封邮件是否为垃圾邮件 2.如何评判因素的影响程度a.评判影响程度的一种方法是 信息增益,信息增益越大,表示该因素的影响程度越高,用该因素决策,越容易到达结论(只剩下单一可能类别)b.信息的定义:如果待分类的事物可能划分在多个分类之中,则符号xi的信息定义为:c.熵:信息的...原创 2019-02-03 11:02:17 · 875 阅读 · 0 评论 -
每天学点算法->强化学习->Q_learning走迷宫
今天给大家分享如何用Q_learning算法来实现走迷宫,我们的红色方块会一次次的尝试不同的格子,直到落入黑格子,获得惩罚*1;或者走进黄格子,获得奖励*1为止。每一次游戏都会更新Q_table的权重,以实现红色方块下一次能够更加快速的找到黄格子。本文参照了莫烦python的博客:https://morvanzhou.github.io/tutorials/machine-learning...原创 2018-10-08 23:34:26 · 3065 阅读 · 5 评论 -
每天学点算法->强化学习->Q_learning
本文将按照以下顺序进行内容安排: 一.Q_learning 简单示例 二.示例的逻辑思路和代码 三.Q_learning应用拓展 第一部分:Q_learning 简单示例——寻找目标T表示目标位置o表示人物位置人物随机出生在一个地点,人物不知道T的位置,但每次可以向左或向右走一步,走到T位置则完成任务。 第二部分:简单示例的逻辑代...原创 2018-10-08 00:21:16 · 381 阅读 · 0 评论 -
每天学点算法->进化策略->遗传算法简单例子解读
假设草原上有一群斑马,这群斑马里面,有些斑马跑的比较快,有的跑的慢,而狮子每次捕猎能抓到跑的慢的斑马,那么经过一代代的繁衍,根据达尔文进化论,留下的大部分斑马都是跑的比较快的。进化策略也是基于这优胜略汰,适者生存的套路,通过模拟一个种群的进化过程,逐步优化参数,最终使得目标函数达到最优.在这个例子中目标函数:max=sin(10*x)*x + cos(2*x)*x ; x属于[0,5]...原创 2018-10-12 00:34:21 · 747 阅读 · 0 评论 -
算法思维-Demo3 树的实现
树的实现特定的树结构会使得他们更加容易实现 其中最容易实现的就是根的树结构了,这种树的每条边都统根出发,并向下延伸。此类结构所代表的往往是某个数据集拥有所有的层次结构,其根节点代表着全部对象(这些对象获取就被直接包含在叶节点内)而其内部各节点所代表的对象都是以该节点为跟的树结构的叶节点。在这里我们甚至可以直接利用类似直觉,将各个子树组织成一个子树列表 T=[ ["a","b"...原创 2018-07-29 19:10:41 · 505 阅读 · 0 评论 -
TensorFlow实现基础CNN,两层卷积+2层全连接网络demo
TensorFlow实现基础CNN,两层卷积+2层全连接网络demo,代码如下,注释都有import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data#加载数据集mnist=input_data.read_data_sets('MNIST_data',one_hot=True)#每个批次的大小bat...原创 2018-06-27 23:59:47 · 4543 阅读 · 0 评论 -
神经网络-实现学习率随迭代次数变化
1.需要变化的学习率的原因:经历一段时间的学习之后,我们距离目标值越来越近,此时如果学习率太大,则会造成训练在最优值附近来回波动,这时候我们就需要减少学习率2.实现:学习率是在Optimizer中使用,我们每次迭代通过tf.assign修改学习率3.note: tf.assign(ref, value, validate_shape=None, use_locking=None, name=...原创 2018-07-09 22:08:27 · 6088 阅读 · 0 评论 -
为什么有的机器学习应用公司必将失败?
作者 | Cassie Kozyrkov编译 | Leo出品 | 人工智能头条告诉大家一个秘密:当人们说起“ 机器学习 ”时,听起来好像只是在谈论一门学科,但其实是两门。如果企业不了解其中的差异,那么就可能招惹来满世界的麻烦。▌两个关于机器学习的故事在机器学习方面,企业经常犯的错误类似于:请一位厨师来制造烤箱或请一位电气工程师去烘烤面包。假设你是一家面包店的店主,你需要聘请的是一位经验丰富的面包师...转载 2018-07-08 19:29:04 · 229 阅读 · 0 评论 -
神经网络使用drop_out消除过拟合+MNIST
1.drop_out的原理为:通过将某神经元的输出设置为0,达到使其失活的效果,消除网络中过分依赖某个神经元2.过拟合一般出现在网络过分复杂,且训练数据较少的情况,数据较少而未知参数太多,则较易产生过拟合3.核心代码:layer1=tf.nn.dropout(layer1,drop_out)#3-3 MNIst数据集使用drop-out提升准确率,消除部分过拟合import tensorflow ...原创 2018-07-08 19:25:49 · 4735 阅读 · 1 评论 -
神经网络HelloWorld
神经网络界 的 HelloWorld代码,了解神经网络过程1.输入2.通过参数拟合曲线,Helloworld中使用 y=∑ax+b,3.训练,反向传播,修改a,b的值修正拟合曲线#3-2 MNIst数据集分类简单版本import tensorflow as tf;import numpy as np;from tensorflow.examples.tutorials.mnist import i...原创 2018-07-08 19:18:44 · 526 阅读 · 0 评论 -
tensorflow入门,完成1元1次方程拟合
tensorflow入门,完成1元1次方程拟合该一元一次方程为:x_data = np.float32(np.random.rand(2, 100)) # 随机输入y_data = np.dot([0.100, 0.200], x_data) + 0.300由于是x_data是随机数,故而无法画出图形,若我们定义x为等差数列[[0,1,2,...100],[101...200]]则y=ax+b为分...原创 2018-06-30 10:37:13 · 899 阅读 · 0 评论