
从零开始-Machine Learning学习笔记
文章平均质量分 94
随着人工智能的热潮席卷全球,学习经典的机器学习模型成了入门的必经之路。此专栏主要为本人机器学习的相关笔记,与同行诸君交流学习。知识主要总结于Andrew Ng的视频,周志华的西瓜书,Peter Harrington的《Machine Learning in Action》
kabuto_hui
渡己亦渡人
展开
-
【论文阅读】YOLOv3-YOLOv3: An Incremental Improvement
文章目录1. 细节1.1 Bounding boxes prediction1.2 Class Prediction1.3 Predictions Across Scales1.4 Feature Extractor2. 结论3. 一些失败的实验YOLOv3的论文相较于前两个版本,没有太大的改动,作者以一种实验报告的形式描述了YOLOv3的改进部分及实验结果,也非常坦率地公布了一些不太成功的实验...原创 2020-04-13 19:09:13 · 648 阅读 · 0 评论 -
【论文阅读】YOLO-v2: YOLO9000: Better, faster, stronger
文章目录1. 动机2. 方法2.1 改进2.2 联合多个数据集的训练机制3. 总结1. 动机 当前大部分的目标检测模型都只能检测很少的类别,这主要是受到数据集的影响。相较于分类和tagging任务的数据集,目标检测数据集规模小,比如样本数量,类别等。所以在YOLOv2的论文里面,作者不仅提出了一个升级版本的YOLO,最主要的贡献是还提出了一个联合多个图片分类的数据集和目标检测数据集训练目标检...原创 2020-04-12 22:55:58 · 595 阅读 · 0 评论 -
【论文阅读】图像超分辨率(ISR) - RDN, SRGAN, ESRGAN
目录1.RDN(Residual Dense Network)残差密集网络【2018】1.1【Note】1.2【参数细节】1.3【超参数】2.SRGAN【2017】2.1【Note】3.ESRGAN【2018】3.1 与SRGAN中的生成器区别是做了以下的两个改进:3.2 与SRGAN中的判别器区别是做了以下的改进:3.3 关于感知损失(Perceptual...原创 2019-10-18 21:29:51 · 3654 阅读 · 1 评论 -
从零开始-Machine Learning学习笔记(39)-Softmax回归
文章目录1. Logistic Regression(逻辑回归)2. Softmax回归1. Logistic Regression(逻辑回归) 在逻辑回归中,我们使用Sigmoid函数求取预测的概率:hθ(x(i))=11+e−θTx(i)h_{\theta}(x^{(i)}) = \frac{1}{1+e^{-{\theta^{T}x^{(i)}}}}hθ(x(i))=1+e−θ...原创 2019-05-08 16:59:08 · 376 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(38)-基于SVD的推荐系统
文章目录0. 前言1. 关于SVD与特征值分解2. 基于SVD的推荐系统2. 1 相似度2.2 使用SVD对未打分的物品进行打分2.3 基于SVD的推荐函数3. 基于SVD的图像压缩4. SVD的评价参考资料0. 前言 本文总结于Peter Harrington的《Machine Learning in Action》的第14章-利用SVD简化数据。1. 关于SVD与特征值分解 SVD...原创 2019-03-17 16:43:58 · 621 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(37)-L1正则化优化方法PGD(近端梯度下降)
【本文转载自LASSO回归与L1正则化 西瓜书,感谢BIT_666同学】 1.结构风险与经验风险在支持向量机部分,我们接触到松弛变量,正则化因子以及最优化函数,在朴素贝叶斯分类,决策树我们也遇到类似的函数优化问题。其实这就是结构风险和经验风险两种模型选择策略,经验风险负责最小化误差,使得模型尽可能的拟合数据,而结构风险则负责规则化参数,使得参数的形式尽量简洁,从而...转载 2019-03-13 15:54:54 · 3278 阅读 · 1 评论 -
从零开始-Machine Learning学习笔记(36)-EM算法总结
文章目录0. 前言1. EM算法流程2. EM算法的经典例子-三硬币模型3. 参考资料0. 前言 EM(Expectation Maximization)算法是1977由Dempster等人提出来的,是一种迭代算法。其每次迭代过程分为两步:E步:求期望(Expectation);M步:求极大值(Maximization)。 EM算法的应用场景: 当模型含有隐变量或者潜在变量(latent...原创 2019-03-07 11:29:16 · 558 阅读 · 3 评论 -
从零开始-Machine Learning学习笔记(35)-最大熵模型
文章目录0. 前言1. 最大熵模型的定义2. 求解最优化问题3. 改进的迭代尺度法(Improved Iterative Scaling, IIS)4. 最大熵模型的总结5. 参考资料0. 前言 假设离散随机变量X的概率分布是P(x),其熵为:H(P)=−∑xP(x)logP(x)H(P) = -\sum_{x} P(x)\log P(x)H(P)=−x∑P(x)logP(x)熵...原创 2019-03-06 11:07:34 · 920 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(34)-XGBoost原理详解
文章目录0. 写在前面1. XGBoost简介2. XGBoost原理介绍2.1 推导最优值函数(打分函数)2.2 损失增益2.3 XGBoost的完整流程3. 后记参考资料0. 写在前面 最近刚看完AdaBoost和GBDT部分,就想着一鼓作气将XGBoost的内容了解一下。在写这篇博文的时候,在网上也查找了大量的文章,但是看得还是云里雾里的。在看完了作者的Slide讲解后,思路就比较清晰...原创 2019-03-04 22:07:09 · 675 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(33)-AdaBoost、Boosting tree、GBDT
从零开始-Machine Learning学习笔记(33)-AdaBoost、Boosting tree、GBDT1. AdaBoost 在周志华先生的《机器学习》的集成学习(第8章)一章中,给出了Adaboost算法的伪代码,这里对继续对这个算法进行详细的解释。 AdaBoost的基本原理就是训练N个弱学习器,将这N个弱学习器进行加权结合:【上面的算法可以总结为】:初始化样...原创 2019-03-04 11:23:47 · 440 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(32)-强化学习
文章目录1. K-摇臂赌博机1.1 探索与利用1.2 $\epsilon$-贪心1.3 Softmax2. 有模型学习2.1 策略评估2.2 策略改进2.3 策略迭代与值迭代3. 免模型学习3.1 蒙特卡罗强化学习3.2 时序查分学习4. 值函数近似5. 模仿学习5.1 直接模仿学习5.2 逆强化学习 下图是强化学习的一个简单的示意图。强化学习任务通常用马尔可夫决策过程(Markov Dec...原创 2018-11-30 23:37:37 · 981 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(31)-规则学习
文章目录1. 基本概念2. 序贯覆盖3. 剪枝优化3.1 预剪枝-CN2算法3.2 后剪枝-RIPPER算法4. 一阶规则学习5. 归纳逻辑程序设计(ILP)5.1 最小一般泛化5.2 逆归结1. 基本概念 “规则学习” (rule learning)是从训练数据中学习出一组能用于对未见示例进行判别的规则。 形式上一般为:式子中,右边的部分称为规则体(Body),表示该条规则的前...原创 2018-11-28 23:10:04 · 4681 阅读 · 1 评论 -
从零开始-Machine Learning学习笔记(30)-概率图模型
概率模型:(probabilistic model)提供了一种描述框架,将学习任务归结于计算变量的概率分布。生成式模型:对联合概率建模;判别式模型:对条件概率建模。概率图模型:(probabilistic graphical model)是一类用图来表达变量相关关系的概率模型。它以图为表示工具,最常见的是用一个结点表示一个或一组随机变量,结点之间的边表示变量间的概率相关关系,即"变量关系图"...原创 2018-11-27 23:41:30 · 573 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(29)-半监督学习
让学习器不依赖外界交互、自动地利用未标记样本来提升学习性能,就是半监督学习(semi-supervised learning)。利用未标记样本学习主要有主动学习和半监督学习,其中半监督学校主要包括 “纯半监督学习” 和 “直推学习”。主动学习: 先拿有标记的样本训练一个模型,然后拿这个模型去未标记的数据上验证,这个验证需要引入专家知识,以尽量少的“查询”来获取尽量好的性能。纯半监督学习: ...原创 2018-11-26 23:19:50 · 631 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(28)-特征选择与稀疏学习
特征选择的目的主要有两个:首先,我们在现实任务中经常会遇到维数灾难问题,这是由于属性过多而造成的,若能从中选择出重要的特征,使得后续学习过程仅需在-部分特征上构建模型,则维数灾难问题会大为减轻。这与降维的目的类似。第一个原因是,去除不相关特征往往会降低学习任务的难度,这就像侦探破案一样,若将纷繁复杂的因素抽丝剥茧,只留下关键因素,则真相往往更易看清。1. 子集搜素与评价 在众多的特征中如...原创 2018-11-25 21:22:44 · 725 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(27)-降维与度量学习
文章目录1. k近邻学习 - (k-Nearest Neighbor, KNN)2. 低维嵌入3. 主成分分析(Principal Component Analysis, PCA)4. 核化线性降维 - KPCA(Kernelized PCA, KPCA)5. 流形学习5.1 等度量映射((Isometric Mapping, Isomap)5.2 局部线性嵌入(Locally Linear Em...原创 2018-11-22 23:39:59 · 579 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(26)-聚类
文章目录0. 前言1. 聚类的性能度量和距离计算1.1 性能度量1.2 距离计算2. 原型聚类2.1 K-means2.2 学习向量化LVQ(Learning Vector Quantization, LVQ)2.3 高斯混合聚类3. 密度聚类 - DBSCAN算法4. 层次聚类 - AGNES5. 写在最后0. 前言 原本计计划用两个早晨看完这一章节的,没想到竟然很顺利的只用了一早上就看完...原创 2018-11-21 22:47:55 · 1627 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(25)-集成学习
文章目录1. Boosting - AdaBoosting2. Bagging与随机森林2.1 Bagging - 并行式集成学习2.2 随机森林3. 结合策略3.1 平均法3.2 投票法3.3 学习法 - Stacking4. 多样性增强 集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统(multi-classifier syst...原创 2018-11-19 21:38:34 · 491 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(24)-贝叶斯分类器
首先还是先取出周志华先生在《机器学习》贝叶斯分类器一章中对于贝叶斯决策论的定义:贝叶斯决策论是概率框架下实施决策的基本方法。在分类任务中,在所有相关概率都已知的情况下,贝叶斯决策论考虑的是如何基于这些概率和误判损失来选择最优的标记。 基于最小化条件风险,我们可以得到最小化分类错误率的贝叶斯最优分类器:h∗(x)=argmaxc∈yP(c∣x)h^{*}(x) = \arg \...原创 2018-11-19 16:09:41 · 868 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(23) - 决策树总结
0. 前言 最近的计划是先将周志华先生的《机器学习》整体先过一遍,对于其中的经典算法中的一些公式进行推导和理解,并整理成笔记。关于课后习题部分先暂时放一放,留待下个月研究《Machine Learning in Action》的时候,在完成课后习题中关于编程的部分。注:为了方便理解,我将书中的所说的属性称为特征,而可取值数目我称之为属性,这样就比较好理解一些,如特征为:色泽,他的属性有{青绿...原创 2018-11-14 21:35:58 · 4095 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(22)-常见概率分布总结
import scipy.stats as statsimport numpy as npimport matplotlib.pyplot as plt1. 伯努利分布(Bernoulli distribution)伯努利分布亦称“零一分布”、“两点分布”,即事件的结果只有两个值,且事件之间相互独立,例如抛一次硬币就为一次伯努利试验,结果要么为正面要么为反面,因此它符合伯努利分布。伯努利...原创 2018-10-29 21:41:04 · 558 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(21)-Pandas及Seaborn绘图总结
目录1. Pandas绘图1.1DataFrame绘图1.1.1 折线图1.1.2 散点图1.1.3 箱形图【盒式图】1.1.4 柱状图【直方图】1.2 pandas.tools.plotting1.2.1 查看变量间的关系1.2.2 查看多变量分布2. Seaborn绘图2.1 Seaborn-直方图2.2 联合绘图jointplot()2.3...原创 2018-10-22 23:13:14 · 996 阅读 · 2 评论 -
从零开始-Machine Learning学习笔记(20)-kNN(k-Nearset Neignbor)学习笔记
k-近邻算法是我见过最为简单却很实用的算法,他没有复杂的推导公式,没有长时间的训练过程,数据集即是模型。 在周志华老师的西瓜书中,是这么来描述他的:k-近邻是一种常用的监督学习方法,其工作机制非常简单:从给定测试样本,基于某种距离度量来找出数据集中与其最靠近的k个样本,然后基于这k个邻居来进行预测。在分类问题中,可以根据“投票法”来选择这k个邻居中出现最多的类别作为预测结果;在回归...原创 2018-10-18 22:58:46 · 537 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(19)-One-hot与哑变量的区别与联系
One-hot与哑变量的区别与联系1. One-hot编码 独热编码直观来说就是有多少个状态就有多少个bit,且只有一个bit是1,其余全是0的一种编码方式。举个例子就是一个气球有四种颜色红色R,紫色P,蓝色B和黄色Y,我们使用One-hot进行编码就可以表示为:红色R — 0001 紫色P — 0010 蓝色B — 0100 黄色Y — 1000...原创 2018-10-10 11:45:09 · 3270 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(18)-Pandas学习笔记(二).md
1. 统计每列中各个元素的个数感谢@waple_0820 提供的两个个方案:df.groupby(['colname'],as_index=False)['colname'].agg({'cnt':'count'}) #方案一df['colname'].value_counts() #方案二2. 从原数据中划分train和test 在sklearn中有一个方法叫t...原创 2018-09-20 10:38:43 · 453 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(17)-Pandas学习笔记(1).md
1. 导入与导出数据import pandas as pdpd.read_csv(filename) #从CSV文件导入数据pd.read_table(filename) #从限定分隔符的文本文件导入数据pd.read_excel(filename) #从Excel文件导入数据pd.read_sql(query, connection_object) #从SQL...原创 2018-09-20 10:37:27 · 261 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(16)-使用scikit-learn实现学习曲线.md
从零开始-Machine Learning学习笔记(16)-使用scikit-learn实现学习曲线1.导入工具包from sklearn.model_selection import learning_curve2.封装函数 在learning_curve中使用的函数原型是:learning_curve(estimator, X, y, groups=None, ...原创 2018-09-20 10:51:08 · 440 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(15)-数据处理分析工具Pandas学习笔记
1. 导入与导出数据import pandas as pdpd.read_csv(filename) #从CSV文件导入数据pd.read_table(filename) #从限定分隔符的文本文件导入数据pd.read_excel(filename) #从Excel文件导入数据pd....原创 2018-08-31 17:23:12 · 392 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(14)-PCA主成分分析
从零开始-Machine Learning学习笔记(14)-基于PCA的人脸识别 PCA(Principal Component Analysis, PCA)主成分分析法是一种应用比较广的降维技术,也是在模式识别领域中的一种行之有效的特征提取方法,是一种最优正交变换。1.原理 降维的目的是减少预测变量的个数,并且这些预测变量都是相互独立的。 对于一个样本空间,...原创 2018-06-07 23:30:49 · 423 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(13)-SMO算法中的启发式变量选择
在SMO算法中,如果使用遍历所有的α i αi\alpha_i,再随机选择第二个变量进行优化,也能实现功能,但是算法速度非常的慢,为了提高算法的运算速度,目前一般采用一种启发式的变量选择。 在周志华先生的《机器学习》中提到: 只需要选取的α i αi\alpha_i与α j α...原创 2018-05-27 23:17:53 · 2717 阅读 · 4 评论 -
从零开始-Machine Learning学习笔记(12)-SMO算法解析
SMO-Sequential Minimal Optimization,序列最小优化,SMO的基本思路就是:先固定αiαi\alpha_i之外的所有参数,然后求αiαi\alpha_i的极值。但是问题中存在约束条件:∑mi=0αiyi=0∑i=0mαiyi=0\sum_{i=0}^{m}\alpha_iy_i=0。如果固定了αiαi\alpha_i之外的其他变量,则αiαi\alpha_i...原创 2018-05-18 21:43:30 · 813 阅读 · 1 评论 -
从零开始-Machine Learning学习笔记(11)-SVM支持向量机(2)【核函数】
在之前的笔记中,我们假设样本是线性可分的,即存在一个划分超平面能将样本正确分类,然而在实际任务中,原始的样本空间也许不能线性可分。在上一个笔记中提到对于不能线性可分的样本,我们添加了一个松弛变量就完成了对线性不可分的支持向量机的求解。其原理是什么,我将在这个笔记中详细总结。1.核函数 对于线性不可分的样本,我们的处理思想是:把这些样本映射到更高的维度中,在高维度中找一个划分超平面...原创 2018-04-27 16:13:31 · 527 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(10)-SVM支持向量机(1)
1995年,苏联的弗拉基米尔·瓦普尼克(Vladimir N. Vapnik)在Machine Learning上发表了最初的SVM文章。传统的统计模式识别方法只有在样本趋向无穷大时,其性能才有理论的保证。统计学习理论(STL)研究有限样本情况下的机器学习问题。SVM的理论基础就是统计学习理论。 SVM以训练误差作为优化问题的约束条件,以置信范围值最小化作为优化目标,即SVM是一种基于结...原创 2018-04-25 21:10:58 · 800 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(9)-动态规划01背包算法的python实现
这里我先引用dd大牛的背包九讲中关于01背包算法的讲解。 所谓01背包问题可以描述为:有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 情况一: 第i件不放进去,这时所得价值为:f[i-i][v] 情况二: 第i件放进...原创 2018-04-24 12:19:40 · 1066 阅读 · 2 评论 -
从零开始-Machine Learning学习笔记(8)-指数平滑及python实现
1. 指数平滑的定义及应用场景 指数平滑由布朗提出、他认为时间序列的态势具有稳定性或规则性,所以时间序列可被合理地顺势推延;他认为最近的过去态势,在某种程度上会持续的未来,所以将较大的权数放在最近的资料。指数平滑法是移动平均法中的一种,其特点在于给过去的观测值不一样的权重,即较近期观测值的权数比较远期观测值的权数要大。根据平滑次数不同,指数平滑法分为一次指数平滑法、二次指数平滑法和三次指...原创 2018-04-21 12:29:07 · 6935 阅读 · 3 评论 -
从零开始-Machine Learning学习笔记(7)-Linear Regression的python手工实现(不使用第三方库)
从零开始-Machine Learning学习笔记(7)-Linear Regression的python手工实现(不使用第三方库) 最近刚刚做完华为2018软件精英挑战赛,本次比赛不让使用第三库,所以一些算法不得不“手工”实现。所以在不使用第三方库的情况下实现了一些算法并将其整理一下发到了博客上。 因为numpy也是第三方库,所以要实现线性回归算法,就不能使用矩阵的操作。当然...原创 2018-04-19 16:07:14 · 720 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(6)-机器学习性能评估
通常我们建立起一个机器学习系统时,系统的表现不尽如人意。这时就需要想出一些办法来改进系统的性能。但是我们应该从哪些方面去着手改进性能呢?Stanford的Andrew Ng给我们提供了以下的几个思路:获取更多的训练实例(通常有效,但是代价较大)尝试减少特征的数量尝试获得更多的特征尝试增加多项式特征尝试减少归一化程度λλ\lambda尝试增加归一化程度λλ\lambda...原创 2018-04-24 17:27:06 · 754 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(5)-神经网络
从零开始-Machine Learning学习笔记(5)-神经网络0. 前言 神经网络目前使用得最为广泛的定义是“神经网络是具有适应性的简单单元组成的广泛并行互连网络,它的组织能够模拟生物神经系统对真实世界级物体所作出的交互反应”。 二十世纪四十年代M-P神经元模型、Hebb学习率,五十年代的感知机、Adaline等成果相继出现,迎来了神经网络发展的第一个高潮期。但是M...原创 2018-04-10 17:54:08 · 1628 阅读 · 2 评论 -
从零开始-Machine Learning学习笔记(4)-Logistic Regression(逻辑回归模型)
从零开始-Machine Learning学习笔记(4)-Logistic Regression(逻辑回归模型/对数几率回归模型)1.逻辑回归简介 在之前,我们使用线性回归(Linear Regression)来进行回归学习,使用的数据主要是有标签的数据,而且这个标签与我们的feature(特征)具有一定的线性关系。但是如果我们遇到一种二分类问题,标签一般为y=0/1,这个时候就...原创 2018-03-21 22:52:17 · 754 阅读 · 0 评论 -
从零开始-Machine Learning学习笔记(3)-线性回归中的特征缩放与正规方程
1.特征缩放 我们在使用多元线性回归的时候,会有多个变量,每个变量的量纲不一样导致其数值上也会不一样。比如我们对与房屋价格的预测上,房间的大小的单位是平方米,其数值大小在几十到几百,而房间数则是一个10以内的数值。如果我们绘制代价函数J的等高线图就可以清楚的看到特征之间的数值差异过大会导致等高线图呈现一个扁长的状态,而这样会导致梯度下降算法要迭代很多次才能收敛。 因此,为了...原创 2018-03-07 16:41:26 · 965 阅读 · 0 评论