随笔分类 -  机器学习笔记

摘要:GitHub代码练习地址:https://github.com/Neo-ML/MachineLearningPractice/blob/master/Pytorch01_LinearRegression.py 有关线性回归的公式及相关代码实现: Step1: 代码实现为: Step2:单步梯度下降 阅读全文
posted @ 2019-04-05 04:24 chalee3 阅读(790) 评论(0) 推荐(0)
摘要:最后一章内容,主要是OCR的实例,很多都是和经验或者实际应用有关;看完了,总之,善始善终,继续加油!! 一、图像识别(店名识别)的步骤: 图像文字识别应用所作的事是,从一张给定的图片中识别文字。这比从一份扫描文档中识别文字要复杂的多。 为了完成这样的工作,需要采取如下步骤: 1.文字侦测(Text 阅读全文
posted @ 2019-03-30 23:33 chalee3 阅读(919) 评论(0) 推荐(0)
摘要:一、随机梯度下降算法 之前了解的梯度下降是指批量梯度下降;如果我们一定需要一个大规模的训练集,我们可以尝试使用随机梯度下降法(SGD)来代替批量梯度下降法。 在随机梯度下降法中,我们定义代价函数为一个单一训练实例的代价: 随机梯度下降算法为:首先对训练集随机“洗牌”,然后: 下面是随机梯度下降算法的 阅读全文
posted @ 2019-03-21 19:49 chalee3 阅读(807) 评论(0) 推荐(0)
摘要:一、向量化:低秩矩阵分解 之前我们介绍了协同过滤算法,本节介绍该算法的向量化实现,以及说说有关该算法可以做的其他事情。 举例:1.当给出一件产品时,你能否找到与之相关的其它产品。2.一位用户最近看上一件产品,有没有其它相关的产品,你可以推荐给他。 我们将要做的是:实现一种选择的方法,写出协同过滤算法 阅读全文
posted @ 2019-03-17 18:02 chalee3 阅读(1232) 评论(0) 推荐(0)
摘要:在之前的基于内容的推荐系统中,对于每一部电影,我们都掌握了可用的特征,使用这些特征训练出了每一个用户的参数。相反地,如果我们拥有用户的参数,我们可以学习得出电影的特征。 但是如果我们既没有用户的参数,也没有电影的特征,这两种方法都不可行了。协同过滤算法可以同时学习这两者。 我们的优化目标便改为同时针 阅读全文
posted @ 2019-03-17 10:44 chalee3 阅读(1123) 评论(0) 推荐(0)
摘要:假使我们是一个电影供应商,我们有 5 部电影和 4 个用户,我们要求用户为电影打分。 前三部电影是爱情片,后两部则是动作片,我们可以看出Alice 和Bob 似乎更倾向与爱情片, 而 Carol 和 Dave 似乎更倾向与动作片。并且没有一个用户给所有的电影都打过分。我们希望构建一个算法来预测他们每 阅读全文
posted @ 2019-03-17 03:19 chalee3 阅读(694) 评论(0) 推荐(0)
摘要:一、多元高斯分布简介 假使我们有两个相关的特征,而且这两个特征的值域范围比较宽,这种情况下,一般的高斯分布模型可能不能很好地识别异常数据。其原因在于,一般的高斯分布模型尝试的是去同时抓住两个特征的偏差,因此创造出一个比较大的判定边界。 下图中是两个相关特征,洋红色的线(根据ε 的不同其范围可大可小) 阅读全文
posted @ 2019-03-15 16:44 chalee3 阅读(799) 评论(0) 推荐(0)
摘要:对于异常检测算法,使用特征是至关重要的,下面谈谈如何选择特征: 异常检测假设特征符合高斯分布,如果数据的分布不是高斯分布,异常检测算法也能够工作,但是最好还是将数据转换成高斯分布,例如使用对数函数:𝑥 = 𝑙𝑜𝑔(𝑥 + 𝑐),其中 𝑐为非负常数; 或者 𝑥 = 𝑥^𝑐,𝑐为 阅读全文
posted @ 2019-03-15 12:18 chalee3 阅读(732) 评论(0) 推荐(0)
摘要:一、开发与评价一个异常检测系统 异常检测算法是一个非监督学习算法,意味着我们无法根据结果变量 𝑦 的值来告诉我们数据是否真的是异常的。我们需要另一种方法来帮助检验算法是否有效。当我们开发一个异常检测系统时,我们从带标记(异常或正常)的数据着手,我们从其中选择一部分正常数据用于构建训练集,然后用剩下 阅读全文
posted @ 2019-03-14 23:57 chalee3 阅读(358) 评论(0) 推荐(0)
摘要:如何应用高斯分布开发异常检测算法呢? 异常检测算法: 对于给定的数据集 𝑥(1), 𝑥(2), . . . , 𝑥(𝑚),我们要针对每一个特征计算 𝜇 和 𝜎2 的估计值。 一旦我们获得了平均值和方差的估计值,给定新的一个训练实例,根据模型计算 𝑝(𝑥): 当𝑝(𝑥) < 𝜀时 阅读全文
posted @ 2019-03-14 15:58 chalee3 阅读(778) 评论(0) 推荐(0)
摘要:一、问题动机 异常检测(Anomaly detection)问题是机器学习算法的一个常见应用。这种算法的一个有趣之处在于:它虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题。 给定数据集 𝑥(1), 𝑥(2), . . , 𝑥(𝑚),我们假使数据集是正常的,我们希望知道 阅读全文
posted @ 2019-03-14 08:28 chalee3 阅读(403) 评论(0) 推荐(0)
摘要:一、初始值重建的压缩表示 在PCA算法里我们可能需要把1000 维的数据压缩100 维特征,或具有三维数据压缩到一二维表示。所以,如果这是一个压缩算法,应该能回到这个压缩表示,回到原有的高维数据的一种近似。 所以,给定的𝑧(𝑖),这可能100 维,怎么回到你原来的表示𝑥(𝑖),这可能是100 阅读全文
posted @ 2019-03-13 06:03 chalee3 阅读(565) 评论(0) 推荐(0)
摘要:PCA 减少𝑛维到𝑘维步骤: 第一步是均值归一化。我们需要计算出所有特征的均值,然后令 𝑥𝑗 = 𝑥𝑗 − 𝜇𝑗。如果特征是在不同的数量级上,我们还需要将其除以标准差 𝜎2。 第二步是计算协方差矩阵(covariance matrix) (求和上面的n错了,应该是m) 第三步是计算 阅读全文
posted @ 2019-03-13 03:49 chalee3 阅读(828) 评论(0) 推荐(0)
摘要:主成分分析(PCA)是最常见的降维算法。 在PCA 中,我们要做的是找到一个方向向量(Vector direction),当我们把所有的数据都投射到该向量上时,我们希望投射平均均方误差能尽可能地小。方向向量是一个经过原点的向量,而投射误差是从特征向量向该方向向量作垂线的长度。 下面给出主成分分析问题 阅读全文
posted @ 2019-03-12 18:55 chalee3 阅读(488) 评论(0) 推荐(0)
摘要:目标一:数据压缩 除了聚类,还有第二种类型的无监督学习问题称为降维。有几个不同的的原因使你可能想要做降维。一是数据压缩,数据压缩不仅允许我们压缩数据,因而使用较少的计算机内存或磁盘空间,而且它也让我们加快我们的学习算法。 我们收集的数据集,有许多,许多特征,我绘制两个在这里。 假设我们未知两个的特征 阅读全文
posted @ 2019-03-12 06:19 chalee3 阅读(737) 评论(0) 推荐(0)
摘要:一、K均值算法的优化目标 K-均值最小化问题,是要最小化所有的数据点与其所关联的聚类中心点之间的距离之和,因此 K-均值的代价函数(又称畸变函数 Distortion function)为: 其中𝜇𝑐(𝑖)代表与𝑥(𝑖)最近的聚类中心点。 我们的的优化目标便是找出使得代价函数最小的 𝑐( 阅读全文
posted @ 2019-03-11 19:23 chalee3 阅读(1109) 评论(0) 推荐(0)
摘要:K-均值是最普及的聚类算法,算法接受一个未标记的数据集,然后将数据聚类成不同的组。 K-均值是一个迭代算法,假设我们想要将数据聚类成n 个组,其方法为: 首先选择𝐾个随机的点,称为聚类中心(cluster centroids); 对于数据集中的每一个数据,按照距离𝐾个中心点的距离,将其与距离最近 阅读全文
posted @ 2019-03-11 07:04 chalee3 阅读(579) 评论(0) 推荐(0)
摘要:本篇我们讨论如何运行或者运用SVM。 在高斯核函数之外我们还有其他一些选择,如:多项式核函数(Polynomial Kernel)字符串核函数(String kernel)卡方核函数( chi-square kernel)直方图交集核函数(histogram intersection kernel) 阅读全文
posted @ 2019-03-10 19:53 chalee3 阅读(542) 评论(0) 推荐(0)
摘要:回顾我们之前讨论过可以使用高级数的多项式模型来解决无法用直线进行分隔的分类问题: 为了获得上图所示的判定边界,我们的模型可能是𝜃0 + 𝜃1𝑥1 + 𝜃2𝑥2 + 𝜃3𝑥1𝑥2 + 𝜃4𝑥²1 +𝜃5𝑥²2 + ⋯的形式。 我们可以用一系列的新的特征f 来替换模型中的每一项。 阅读全文
posted @ 2019-03-09 04:16 chalee3 阅读(2290) 评论(0) 推荐(1)
摘要:假设我有两个向量,𝑢和𝑣,我将它们写在这里。两个都是二维向量,我们看一下,𝑢𝑇 𝑣的结果。𝑢𝑇 𝑣也叫做向量𝑢和𝑣之间的内积。由于是二维向量,我可以将它们画在这个图上。 我们说,这就是向量𝑢即在横轴上,取值为某个𝑢1,而在纵轴上,高度是某个𝑢2作为𝑢的第二个分量。现在,很 阅读全文
posted @ 2019-03-08 22:51 chalee3 阅读(926) 评论(0) 推荐(1)