随笔分类 - 机器学习
摘要:1. 计算图 使用计算图的主要目的是使梯度求导更加方便。 2. 静态图和动态图 TensorFlow是静态图,PyTorch是动态图,区别在于在运算前是否先搭建图。 3. autograd 自动求导 grad_tensors的使用: 4. 逻辑回归 最终结果: 思考: 1. 调整线性回归模型停止条件
阅读全文
摘要:目录: "1. PyTorch简介" "2. 张量的概念及创建" "2.1 直接创建Tensor" "2.2 依据数值创建Tensor" "2.3 依据概率分布创建Tensor" "3. 张量的操作" "3.1 张量的拼接和切分" "3.2 张量索引" "3.3 张量变换" "4. 实现线性回归"
阅读全文
摘要:Anaconda安装 PyCharm安装 PyTorch安装 linux下只需要pip install torch就可以了,windows安装步骤如下 cuDNN的三个文件夹复制到CUDA目录下。检查是否安装成功: # 进入cuda的安装目录下bin目录,执行: nvcc -V # 进入cuda的安
阅读全文
摘要:1.背景知识 one-hot → word class → word embedding 不过传统的word embedding解决不了多义词的问题。 2. ELMO 为了解决上述问题,首先有了ELMO。 它是一个双向的RNN网络,这样每一个单词都对应两个hidden state,进行拼接便可以得到
阅读全文
摘要:1.RNN和CNN的局限性 RNN是seq2seq的模型,RNN不易平行化,如果是单向的话,要输出$b3$,需要先看完$a1, a2, a3$。如果是双向的话,可以看完整个句子。 CNN在高层的时候,可以考虑距离更长的信息,CNN易于并行化。CNN的缺点是,考虑的只是局部内容,要考虑长距信息,需要叠
阅读全文
摘要:课程笔记 前言 两种可解释性: 局部解释:为什么这种图是猫? 全局解释:猫是什么样子的? 为什么需要可解释机器学习?(打开黑盒) 一般的提升效果的方法就是一顿暴调参数,可解释性可以帮助我们更好地提升模型性能。 其实人也是个黑盒(这个观点太6了)。 可解释机器学习的目标,不需要真正知道模型如何工作,只
阅读全文
摘要:读取原始数据 训练感知机模型 使用自己写的MyPerceptron类训练 perceptron = MyPerceptron() time1 = datetime.datetime.now() perceptron.fit(X_train, y_train) time2 = datetime.dat
阅读全文
摘要:1. 词袋模型 (Bag of Words, BOW) 文本分析是机器学习算法的一个主要应用领域。然而,原始数据的这些符号序列不能直接提供给算法进行训练,因为大多数算法期望的是固定大小的数字特征向量,而不是可变长度的原始文本。 为了解决这个问题,scikit learn提供了从文本内容中提取数字特征
阅读全文
摘要:朴素贝叶斯 朴素贝叶斯方法是一组基于贝叶斯定理的监督学习算法,其“朴素”假设是:给定类别变量的每一对特征之间条件独立。贝叶斯定理描述了如下关系: 给定类别变量$y$以及属性值向量$x_1$至$x_n$: $P(y \mid x_1, \dots, x_n) = \frac{P(y) P(x_1, \
阅读全文
摘要:决策树算法 决策树算法主要有ID3, C4.5, CART这三种。 ID3算法从树的根节点开始,总是选择信息增益最大的特征,对此特征施加判断条件建立子节点,递归进行,直到信息增益很小或者没有特征时结束。 信息增益:特征 A 对于某一训练集 D 的信息增益 $g(D, A)$ 定义为集合 D 的熵 $
阅读全文
摘要:半监督学习 在监督学习中,通常训练数据有input $x^r$, 也有output $\hat{y}^r$。 但是在实际情况下,数据不难收集,但做数据的标记需要花费很大的功夫。 所以半监督学习,就是利用了很多没有标记的数据$x^u$,通常U R。 transductive learning: unl
阅读全文
摘要:当参数一样多的时候,神经网络变得更高比变宽更有效果。为什么会这样呢? 其实和软件行业的 模块化思想 是一致的。 比如,如果直接对这四种分类进行训练,长发的男孩数据较少,那么这一类训练得到的classifier不是很好。 但如果分成长发or短发,男孩or女孩,这两种基分类器,那么数据就是足够的,可以得
阅读全文
摘要:Convolutional Neural Network CNN 卷积神经网络 1. 为什么要用CNN? CNN一般都是用来做图像识别的,当然其他的神经网络也可以做,也就是输入一张图的像素数组(pixel vector),最后输出n个分类(dimension)。 但是为什么不用Fully Conne
阅读全文
摘要:1. Keras Demo2 前节的Keras Demo代码: Keras Demo中的结果不是很好,看一下在Training Data上的结果: 结果如下: 说明在Training Data上结果也不好,接下来开始调参: loss function 分类问题mse不适合,将loss mse fun
阅读全文
摘要:神经网络的表现 在Training Set上表现不好 可能陷入局部最优 在Testing Set上表现不好 Overfitting 过拟合 虽然在机器学习中,很容易通过SVM等方法在Training Set上得出好的结果,但DL不是,所以得先看Training Set上的表现。 要注意方法适用的阶段
阅读全文
摘要:3.1 configuration 3.2 寻找最优网络参数 代码示例: Keras 2.0 代码类似 x_train, y_train解释 小批量梯度下降,速度更快的原因是因为可以并行计算。 完整的Keras演示: 运行结果: Downloading data from https://s3.am
阅读全文
摘要:反向传播 反向传播主要用到是链式法则。 概念: 损失函数Loss Function 是定义在单个训练样本上的,也就是一个样本的误差。 代价函数Cost Function 是定义在整个训练集上的,也就是所有样本误差的总和的平均。有没有这个平均不会影响最后的参数求解结果。 总体损失函数Total Los
阅读全文
摘要:深度学习发展历史 : 感知机和逻辑回归很像,只是没有$sigmoid$激活函数。 深度学习训练的三个步骤 : Step1:神经网络(Neural network) Step2:模型评估(Goodness of function) Step3:选择最优函数(Pick best function) St
阅读全文
摘要:Logistic Regression 逻辑回归 逻辑回归与线性回归有很多相似的地方。后面会做对比,先将逻辑回归函数可视化一下。 与其所对应的损失函数如下,并将求max转换为min,并转换为求指数形式,便于计算。 最后得到的是两个伯努利分布(function output & target)的交叉熵
阅读全文
摘要:Classification: Probabilistic Generative Model 分类:概率生成模型 如果说对于分类问题用回归的方法硬解,也就是说,将其连续化。比如 $Class 1$ 对应的目标输出为 1, $Class 2$ 对应 1。 则在测试集上,结果更接近1的归为$Class
阅读全文

浙公网安备 33010602011771号