写在前面 今天我们继续学习类别不平衡问题, 本文中主要对处理类别不平衡问题的方法做了一定的介绍. 类别不平衡问题 前面介绍的分类学习方法都有一个通通的基本假设, 即不同类别的训练样例数目相当. 如果不同类别的训练样例数目稍有差别, 通常影响不大, 但若差别很大, 则会对学习过程造成困扰. 类别不平衡(Class-Imbalance)就是指分类任务中不同类别的训练样例数目差别很大的情况. 不失一般性, 本节假设正类样例较少, 反类样例较多. 在现实的分类学习任务中, 我们经常会遇到类别不平衡. 从线性分类器的角度讨论容易理解, 在我们用 对新样本 进行分类时, 事实上是在用预测出的 值与一个阈值进行比较. 例如通常在 时判别为正例, 否则为反例.…
Hacking Linux
写在前面 在这篇文章中, 我们继续学习线性判别分析与多分类学习小节中的内容. 本文中涉及到的数学问题与名词比较多, 数学不好的同学也不害怕, 先过一遍, 有个概念之后就知道如何去查找解决不懂的问题了. 后续笔者也会相应的补充一些数学类的文章更新上来, 学习有个过程, 不要害怕未知, 每天学一点, 积累下来, 久而久之, 回头一看, 会发现自己已经不是曾经那个自己, 早已走远. 线性判别分析 线性判别分析(Linear Discriminant Analysis, 简称LDA), 是一种经典的线性学习方法, 在二分类问题上因为最早由Fisher提出, 亦称'Fisher判别分析'. LDA的思想非常朴素:…
写在前面 在这篇文章中, 我们继续学习线性模型, 如果时间地点允许, 我希望读者能拿着笔纸, 跟着一起推导一遍, 相信你会受益颇深. 基本形式 给定由d个属性描述的示例 , 其中 是 在第 个属性上的取值, 线性模型(Linear Model)试图学得一个通过属性的线性组合来进行预测的函数, 即: 一般用向量形式写成: 其中 , 和 学得之后, 模型就得以确定. 线性模型形式简单, 易于建模,…
写在前面 这篇文章中, 我们接着学习偏差与方差部分. 在学习的同时, 对于数学基础不是太好的童鞋, 最好能准备好google, 或者备一本<概率导论>. 偏差与方差 '偏差-方差分解'(Bias-Variance Decomposition): 是解释学习算法泛化性能的一种重要工具. 偏差-方差分解试图对学习算法的期望泛化错误率进行拆解. 我们知道, 算法在不同训练集上学的的结果很可能不同, 即便这些训练集是来自同一个分布. 对测试样本 , 令 为 在数据集中的标记, 为 的真实标记, 为训练集 上学的模型 在…
写在前面 在这篇文章中, 我们将继续学习模型评估与选择中的性能度量与比较检验这两个小节. 这两个小节中涉及到的概念性的东西比较多, 我们提炼了一些比较重要的点出来进行讲解. 性能度量 性能度量(Performance Measure): 对学习器的泛化性能机型评估, 不仅需要有效可行的实验估计方法, 还需要有度量模型泛化能力的评价标准, 这就是性能度量(Performace Measure). 性能度量反映了任务需求, 在对比不同模型的能力时, 使用不同的性能度量往往会导致不同的评判结果; 这意味着模型的'好坏'是相对的, 什么样的模型是好的, 不仅取决于算法和数据, 还决定于任务需求. 在预测任务中, 给定样例集 , 其中 是示例…
写在前面 今天我们继续读第二个章节, 模型评估与选择. 在这篇文章中, 我们重点探讨经验误差与过拟合, 评估方法这两个小节中的内容. 经验误差与过拟合 错误率(Error Rate): 分类错误的样本数占样本总数的比例. 如果在m个样本中, 有a个样本分类错误, 则错误率 . 精度(Accuracy): 精度 = 1 - 错误率 , . 误差(Error): 学习器的实际预测输出与样本的真实输出之间的差异被称为误差. 学习器在训练集上的误差称为'训练误差'(Training…
写在前面 周志华老师的<机器学习>, 又被称为西瓜书, 每次读都会有一种耳目一新的感觉. 这次在微信公众号发起了西瓜书精读活动, 很多童鞋的需求都很强烈, 希望在我们一起努力下, 能对书中的知识有更深刻的认知. 机器学习是目前火热的人工智能领域中的一门大学科, 其中对高数, 线代, 统计学, 概率论的要求极高. 在看这个系列文章的同时, 如果遇见看不懂的公式或者名词, 可以适量的补充一些数学知识. 相信我们都会有所进步! 在这篇文章中, 我们对机器学习的基本概念与名词做了解释. 在学习完这个章节之后, 你会对机器学习有个大概的认知, 并且了解一些基本术语, 假设空间, 以及理解归纳偏好的概念. 引言…
Robot Controller项目讲解: 项目地址: https://github.com/udacity/AIPND-cn
直播视频: 文字材料: 1.下载install.sh wget --no-check-certificate -c https://oss.hacking-linux.com/cuda/install.sh 2.下载lubcudnn相关包: wget --no-check-certificate -c https://oss.hacking-linux.com/cuda/libcudnn7-dev_7.1.4.18-1%2Bcuda9.0_amd64.deb wget --no-check-certificate -c https://oss.hacking-linux.com/cuda/libcudnn7_7.1.4.18-1%2Bcuda9.0_amd64.deb 3.安装cuda: bash ./install.sh 4.安装libcudnn: dpkg -i libcudnn7* 5.检查是否安装成功: nvidia-smi…
写在前面 在这个章节, 我们将从头推导一个神经网络的反向传播过程. 反向传播在神经网络中非常重要, 要理解透彻神经网络的学习过程, 需要好好消化一下这里的内容. 如果你对微积分还不够理解, 请先看微积分(一). 如果你对神经网络正向传播过程还不理解, 请先看神经网络(二) 误差 我们需要有一个指标来了解预测有多差, 也就是误差 (error). 这里 是预测值, y是真实值. 一个是所有输出单元j的和, 另一个是所有数据点 的和. 首先是内部这个对j的求和. 变量j代表网络输出单元. 所以这个内部的求和是指对于每一个输出单元, 计算预测值 与真实值y之间的差的平方,…