随笔分类 - 机器学习算法
摘要:一、scikit-learn 中的多项式回归 1)实例过程 模拟数据 import numpy as np import matplotlib.pyplot as plt x = np.random.uniform(-3, 3, size=100) X = x.reshape(-1, 1) y =
阅读全文
摘要:一、多项式回归的思想 1)什么是多项式回归法? 样本特征和值(y)呈非线性关系,这种关系的数学模型是一个多项式,如:y = ax2 + bx + c,其中 x2 可以看做是认为添加的另一个特征。 2)多项式回归法能解决什么问题?以及怎么解决? 解决的问题:拟合不是直线关系而是其它曲线关系的数据; 解
阅读全文
摘要:一、思维理解 将原始数据集降维,就是将数据集中的每一个样本降维:X(i) . WkT = Xk(i); 在人脸识别中,X 中的每一行(一个样本)就是一张人脸信息; 思维:其实 Wk 也有 n 列,如果将 Wk 的每一行看做一个样本,则第一行代表的样本为最重要的样本,因为它最能反映 X 中数据的分布,
阅读全文
摘要:一、噪音 噪音产生的因素:可能是测量仪器的误差、也可能是人为误差、或者测试方法有问题等; 降噪作用:方便数据的可视化,使用样本特征更清晰;便于算法操作数据; 具体操作:从 n 维降到 k 维,再讲降维后的数据集升到 n 维,得到的新的数据集为去燥后的数据集; 降维:X_reduction = pca
阅读全文
摘要:一、数据 获取数据 import numpy as np from sklearn.datasets import fetch_mldata mnist = fetch_mldata("MNIST original") 查看数据 mnist # 输出: {'COL_NAMES': ['label',
阅读全文
摘要:一、基础理解 1) PCA 降维的基本原理 寻找另外一个坐标系,新坐标系中的坐标轴以此表示原来样本的重要程度,也就是主成分;取出前 k 个主成分,将数据映射到这 k 个坐标轴上,获得一个低维的数据集。 2)主成分分析法的本质 将数据集从一个坐标系转换到另一个坐标系,原坐标系有 n 个维度(n 中特征
阅读全文
摘要:一、目标函数的梯度求解公式 PCA 降维的具体实现,转变为: 方案:梯度上升法优化效用函数,找到其最大值时对应的主成分 w ; 1)推导梯度求解公式 变形一 变形二 变形三:向量化处理 最终的梯度求解公式:▽f = 2 / m * XT . (X . dot(w) ) 二、代码实现(以二维降一维为例
阅读全文
摘要:PCA(Principal Component Analysis) 一、指导思想 降维是实现数据优化的手段,主成分分析(PCA)是实现降维的手段; 降维是在训练算法模型前对数据集进行处理,会丢失信息。 降维后,如果丢失了过多的信息,在我们不能容忍的范围里,就不应该降维。 降维没有正确与否的标准,只有
阅读全文
摘要:一、梯度下降法的调试 1)疑问 / 难点 如何确定梯度下降法的准确性? 损失函数的变量 theta 在某一点上对应的梯度是什么? 在更负责的模型中,求解梯度更加不易; 有时候,推导出公式后,并将其运用到程序中,但当程序运行时,有时对梯度的计算可能会出现错误,怎么才能发现这种错误? 2)梯度下降法的调
阅读全文
摘要:一、指导思想 # 只针对线性回归中的使用 算法的最优模型的功能:预测新的样本对应的值; 什么是最优的模型:能最大程度的拟合住数据集中的样本数据; 怎么才算最大程度的拟合:让数据集中的所有样本点,在特征空间中距离线性模型的距离的和最小;(以线性模型为例说明) 怎么得到最优模型:求出最优模型对应的参数;
阅读全文
摘要:一、推导目标函数 1)基础概念 多元线性回归模型: 多元线性回归的损失函数: 参数 theta:θ = (θ0, θ1, θ3, ..., θn) n:表示模型中有 n 个特征参数; θ1:表示 梯度:,对每一个 θi 求一次偏导数; 梯度代表方向:对应 J 增大最快的方向; 偏导数:函数 J 中含
阅读全文
摘要:一、梯度下降法基础 定义:梯度下降法不是一个机器学习算法,是一种基于搜索的最优化方法; 功能:最优化一个损失函数; 梯度上升法:最大化一个效用函数; 机器学习中,熟练的使用梯度法(下降法、上升法)求取目标函数的最优解,非常重要; 线性回归算法模型的本质就是最小化一个损失函数,求出损失函数的参数的数学
阅读全文
摘要:一、多元线性回归基础 简单线性回归算法只有一个特征值(x),通常线性回归算法中有多个特征值,有的甚至有成千上万个特征值; 多元线性回归中有多种特征,每一种特征都与 y 呈线性关系,只是线性关系的系数不同; 多元线性回归的模型可以解决一元线性回归问题; 多元线性回归模型中,每一种特征都与值(也就是 y
阅读全文
摘要:一、MSE、RMSE、MAE 思路:测试数据集中的点,距离模型的平均距离越小,该模型越精确 # 注:使用平均距离,而不是所有测试样本的距离和,因为距离和受样本数量的影响 1)公式: MSE:均方误差 RMSE:均方根误差 MAE:平均绝对误差 二、具体实现 1)自己的代码 import numpy
阅读全文
摘要:# 注:使用线性回归算法的前提是,假设数据存在线性关系,如果最后求得的准确度R < 0,则说明很可能数据间不存在任何线性关系(也可能是算法中间出现错误),此时就要检查算法或者考虑使用其它算法; 一、功能与特点 1)解决回归问题 2)思想简单,实现容易 # 因为算法运用了很多的数学推到,使计算机实现变
阅读全文
摘要:原文:https://blog.csdn.net/zolalad/article/details/11848739 博主:zolalad 通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算
阅读全文
摘要:数据归一化(Feature Scaling) 一、为什么要进行数据归一化 原则:样本的所有特征,在特征空间中,对样本的距离产生的影响是同级的; 问题:特征数字化后,由于取值大小不同,造成特征空间中样本点的距离会被个别特征值所主导,而受其它特征的影响比较小; 例:特征1 = [1, 3, 2, 6,
阅读全文
摘要:一、scikit-learn库中的网格搜索调参 1)网格搜索的目的: 找到最佳分类器及其参数; 2)网格搜索的步骤: 以kNN算法为例,Jupyter中运行; import numpy as np from sklearn import datasets # 得到原始数据 digits = data
阅读全文
摘要:一、评测标准 模型的测评标准:分类的准确度(accuracy); 预测准确度 = 预测成功的样本个数/预测数据集样本总数; 二、超参数 超参数:运行机器学习算法前需要指定的参数; kNN算法中的超参数:k、weights、P; 一般超参数之间也相互影响; 调参,就是调超参数; 1)问题 # 以kNN
阅读全文
摘要:一、判断机器学习算法的性能 机器学习经过训练得到的模型,其意义在于真实环境中的使用; 将全部的原始数据当做训练集直接训练出模型,然后投入到真实环境中,这种做法是不恰当的,存在问题: 方案:训练数据集与测试数据集切分(train test split),将原始数据的80%作为训练数据来训练模型,另外2
阅读全文