从sklearn学机器学习
文章平均质量分 73
matrix_studio
Happy learning, happy coding, happy earning!!!
展开
-
从sklearn学机器学习(专栏简介)
本专栏將立足于sklearn的官方文档,依次对机器学习领域的模型、划分数据集的方法、评估指标等一系列的内容展开讲解。对于有机器学习理论的同学来说,本专栏涉及到的知识广泛、全面且深刻,可以作为理论学习上的一次重要的回顾;对于将要涉及应用实践的同学来说,本专栏易于理解,容易上手,是难得的入门途径。希望本专栏能获得大家的喜爱。...原创 2021-10-28 09:02:40 · 302 阅读 · 0 评论 -
1.1. Linear Models(广义线性模型)
1.1. Linear ModelsLinear Models(线性模型)是sklearn监督学习的第一大章,其实也是周志华西瓜书中介绍的第一个模型种类。这里其实有一个非常模糊的点,是我一开始看西瓜书没有看明白的,就是:线性的模型,本质上是到底指的是什么?是模型的数学推导具有线性属性吗?是样本的分布满足线性关系吗(就像线性回归那样)?还是单纯的人们能从模型的可视化里得到一条“线”属性的图像?sklearn的定义与西瓜书的定义是一致的:用中文解释:线性模型试图学得一个通过属性的线性组合来原创 2021-10-28 18:39:53 · 497 阅读 · 0 评论 -
1.1.1. Ordinary Least Squares(普通最小二乘)
1.1.1. Ordinary Least Squares注:1.本文所指线性回归,若非特别强调,均指最基础的线性回归模型2.为了降低理解难度,本文涉及的到的数学推导并不严格严谨(严谨的我也不会,我又不是数学系的)简介线性回归数学推导线性回归函数介绍线性回归实战案例...原创 2021-10-29 20:26:16 · 1309 阅读 · 0 评论 -
1.1.2. Ridge regression and classification(岭回归和岭分类)
1.1.2. Ridge regression and classification一、简介(岭回归)岭回归是线性回归中普通最小二乘的一个变体。它在普通最小二乘的目标函数中,增加了一项针对系数的大小的惩罚项(a penalty on the size of the coefficients),用以解决类似我们上一节所说的线性回归中多重共线性的问题。怎么理解:直观上,既然多重共线性导致模型的稳定性很差(稳定性差一般意味着模型不能很好的收敛),任何细微的波动多会导致系数coefficients较大的变原创 2021-11-02 11:41:15 · 2251 阅读 · 0 评论 -
1.1.3. Lasso(套索回归)
1.1.3. Lasso一、简介首先,Lasso同样是线性回归的一种变体。而文档中指出,它是一种能让参数ω\omegaω稀疏的模型(作用)。它是压缩感知领域的基础(地位),在特定情况下,它可以“恢复一组非零权重的精确集”(这句话来着别人的翻译,我暂时还不明白)。二、损失函数特性在Ridge Regression中,我们介绍了正则项(惩罚项)Lasso和Ridge模型上的差别也主要体现在损失函数中不同的正则项上。在Ridge中,我们为了约束参数ω\omegaω,我们给损失函数添上了关于ω\omeg原创 2021-11-11 22:29:01 · 7703 阅读 · 1 评论 -
1.1.4. Multi-task Lasso(多任务 Lasso)(多任务学习)
1.1.4. Multi-task Lasso说实话,在最开始,我只把多任务 Lasso当作Lasso的一种应用于多输出回归的一种方式而已;甚至想把它和弹性网络那几章混在一起讲。但是我又按捺不住性子,上网查了查,想要切实了解一下Multi-task Lasso,没想到还真让我挖到了一个大坑。哈哈哈哈哈哈哈哈,别急,容我慢慢展开!一、简介简单理解,Multi-task Lasso只是不同Lasso的豪华版,可以应用多任务回归。可是,这里面的多任务到底指的是什么?是我们之前说的多分类对应的多回归吗?显原创 2021-11-13 21:39:07 · 3360 阅读 · 0 评论 -
1.1.5. Elastic-Net (弹性网络)与 1.1.6. Multi-task Elastic-Net(多任务弹性网络)
1.1.5. Elastic-Net一、简介原创 2021-11-15 18:50:26 · 2296 阅读 · 1 评论 -
1.1.7. Least Angle Regression(最小角回归)和 1.1.8. LARS Lasso
1.1.7. Least Angle Regression原创 2021-12-09 12:50:15 · 1255 阅读 · 0 评论 -
1.1.9. Orthogonal Matching Pursuit (OMP)(正交匹配追踪)
1.1.9. Orthogonal Matching Pursuit (OMP)一、简介这是sklearn对OMP的所有描述,对我来说,显得有些晦涩难懂。事实上,想要很好的理解这部分内容,我们需要一定的基础和相应的数学功底。OMP本质上,涉及到了字典学习和稀疏表示这一领域。我也是在复习了西瓜书上相关部分的内容和结合了之前关于线性模型求解的数学推导与优化后,才堪堪理解。这里我先给出一篇我学习这部分内容时,看得一篇文章,这位大佬做了很多、很详细的数学上的讲解,虽然我看不太懂,但我大受震撼。二、结合多原创 2021-11-08 14:44:46 · 1862 阅读 · 1 评论 -
1.1.10. Bayesian Regression(贝叶斯回归)
1.1.10. Bayesian Regression一、简介贝叶斯概率理论体系在机器学习中有着举足轻重的地位。其实很多时候,我们机器学习的算法从本质上来看,就是一种统计学习方法。所以,贝叶斯概率学派的很多思想,是理解机器学习的关键所在。贝叶斯回归显然是贝叶斯理论在线性回归的一个应用。sklearn一上来就给出了一条很重要的性质:在贝叶斯概率模型中,我们用参数的概率分布(参数本身具有分布的形式),取代了常规正则化。1.1 形式唔,我们发现,Ridge回归(分类)中的 l2l_2l2 范数,其原创 2021-11-20 11:43:06 · 8128 阅读 · 2 评论 -
1.1.11. Logistic regression(逻辑回归)
1.1.11. Logistic regression一、简介:逻辑回归是一种分类算法,而不是他名称里提到的回归算法。这里无需纠结,只是单纯的命名问题,甚至sklearn里还提到了他的另外三种名字,不过显然,这都不是重点。逻辑回归的本质是通过sigmoid函数将线性回归得到的实数域的数据根据需要投影到一定范围内(有时是0~1,有时是-1~1,或者其它的区间)对于一个两分类的问题,我们假定其中一类是正类,另一类是负类。然后,我们通过线性回归(我们假定了一个样本属于正类的程度与其特征是呈现出一定的线性原创 2021-12-12 12:05:00 · 317 阅读 · 0 评论 -
1.1.12. Generalized Linear Regression (广义线性回归)
1.1.12. Generalized Linear Regression线性回归的推广一共体现在两个方面求取预测值:我们通过对特征的线性组合施加一个非线性变换,得到新的预测值,从而达到一部分非线性回归的功能不同的损失函数:在OLE中,我们的损失函数是均方误差,但是,我们可以用不同类型的损失来替换原始损失函数,从对线性回归做进一步推广。下面给出一些常见的损失函数。...原创 2021-12-13 13:39:58 · 1313 阅读 · 0 评论 -
1.1.13. Stochastic Gradient Descent - SGD(随机梯度下降)
1.1.13. Stochastic Gradient Descent - SGD随机梯度下降“随机梯度下降是一种简单但是效果很好的,用来拟合线性模型的算法。并且,他在那些样本量,特征数量巨大的情况时特别有用。”为什么这么说呢?我们知道,传统的梯度下降,也就是批量梯度下降,它是依照每一个样本,计算出他们的梯度,再统一更新的。这样,虽然我们得到的梯度会非常准确,下降速度也会很快,但是因为计算梯度是一件很麻烦的事(涉及到逆矩阵的运算),所以求梯度这件事本身会带来很大的影响(即大大增加训练时长)。所以,原创 2021-12-04 14:45:12 · 1517 阅读 · 0 评论 -
1.1.14. Perceptron(感知机)
1.1.14. Perceptron简介感知机是一个十分经典的二分类线性模型(虽然它可以推广到多分类、非线性),它是神经网络和支持向量机的基础。核心《统计学习方法》中是这么说的:感知机学习,旨在求出将训练数据进行线性划分的分类超平面,为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行最小化,求得感知机模型。这里做进一步的解释:处理二分类问题,我们的目标是找到线性划分的超平面SSS损失函数基于误分类,具体为误分类点到超平面SSS的总距离这里选择的梯度下降法为SGD随机梯度下降法原创 2021-12-05 20:45:20 · 125 阅读 · 0 评论 -
1.1.15. Passive Aggressive Algorithms(被动攻击算法)
1.1.15. Passive Aggressive Algorithms一、简介:被动攻击算法体现出了一种在线学习(online learning)的思想。之前在逻辑回归一章我们讨论过将分类问题转化为回归问题的方式。里面有两个核心关键词:可能性(程度)和可能性(概率)。在这里,我们对模型的优化从两点考虑。样本是否分类正确模型预测的可能性(程度/概率)是否贴近实际。Passive Aggressive Algorithms算法根据以上的判断准则优化自己的模型:在样本分类正确 且 模型对原创 2021-12-12 13:23:48 · 5220 阅读 · 0 评论 -
1.1.16. Robustness regression: outliers and modeling errors(稳定性回归)
1.1.16. Robustness regression: outliers and modeling errors稳健回归有点难,把它整理出来太花时间了,所以我决定转载一下我自己学习是看的一篇博客。老规矩,并非完全照搬,里面有内容结果上的调整和我自己的注释,希望大家有所收获。一、最小二乘法的弊端很多关于线性回归的模型,都是基于最小二乘法来实现的。但是,当数据样本点出现很多的异常点(outliers),这些异常点对回归模型的影响会非常的大,传统的基于最小二乘的回归方法将不适用。当然,可以考虑在做回转载 2021-12-13 13:09:40 · 225 阅读 · 0 评论 -
1.1.17. Quantile Regression (分位数回归)
1.1.17. Quantile Regression分位数回归:不同于最小二乘拟合条件均值,分位数回归将拟合中位数或其它分位数。它相对稳定,不易收到离群点的影响。这很容易理解,在表示一个群体的收入时,我们通常不用平均值,而是用中位数,因为在存在所谓“极端数据”时,中位数更稳定。分位数回归的稳定性最强,MLE很弱,Hubor介于他们中间。分位数回归的一个典型的作用是求取数据分布的区间。显然,面对上图的发散型数据,分位数回归比其它回归更具代表性。...原创 2021-12-13 13:32:44 · 1516 阅读 · 0 评论 -
1.1.18. Polynomial regression: extending linear models with basis functions(多项式回归:用基函数展开线性模型)
1.1.18. Polynomial regression: extending linear models with basis functions多项式回归:用基函数展开线性模型机器学习中一种常见的模式,是使用线性模型训练数据的非线性函数。这种方法保持了一般快速的线性方法的性能,同时允许它们适应更广泛的数据范围。比如,在上图的例子中,我们可以认为的将变量用非线性函数进行非线性变换,然后将得到的新的变量再带入线性模型中。这种思想非常重要,是神经网络的基础。神经网络中,每一个神经元都是先得到上一原创 2021-12-13 13:19:46 · 1049 阅读 · 0 评论 -
1.2. Linear and Quadratic Discriminant Analysis(线性判别和二次判别分析)(一)
1.2. Linear and Quadratic Discriminant Analysis一、简介西瓜书里是这样介绍的线性判别的:LDA的思想十分朴素:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。sklearn的这段话给出了几个信息:第一,判别的核心叫做决策面(decition surface),而线性判别和二次判别具有不同的决策面。第二,线性原创 2021-11-13 11:38:41 · 2056 阅读 · 0 评论 -
1.2. Linear and Quadratic Discriminant Analysis(线性判别和二次判别分析)(二)
1.2. Linear and Quadratic Discriminant Analysis原创 2021-11-17 19:10:06 · 1224 阅读 · 0 评论 -
1.3. Kernel ridge regression(内核岭回归)
1.3. Kernel ridge regression一、简介Kernel ridge regression (KRR) (内核岭回归) 对常规岭回归 采用了 “核方法”,因此可以拟合非线性的函数。对于每个非线性的核,它对应了原始空间里的一个非线性的函数。二、“核方法”简介参考西瓜书,我们认为,在原始空间里线性函数无法拟合的关系也许 能在高维空间里的线性关系拟合 (这里的说法并不严谨,但意思没错)按照我这种常人的想法,为了能成功调用线性算法,我会对数据进行“升维”。但是显然,这种“升维”并不现原创 2021-11-17 19:37:39 · 2402 阅读 · 0 评论 -
1.15. Isotonic regression(保序回归)
1.15. Isotonic regression(保序回归)一、描述保序回归,正如它的名字,是一种对预测值施加了“保序”约束的一种回归分析。“保序”的严格定义我们暂且不表,可以简单的理解为一种“对任意Xi≤XjX_i\le X_jXi≤Xj,必须有 yi≤yjy_i \le y_jyi≤yj”的一种约束。在它的目标函数∑iωi(yi−yi^)2\sum_i\omega_i(y_i-\hat{y_i})^2∑iωi(yi−yi^)2 中,mse部分很好理解,代表损失,参数ωi\om原创 2022-03-07 23:57:52 · 1435 阅读 · 0 评论 -
3.1. Cross-validation(交叉验证): evaluating estimator performance(一)
3.1. Cross-validation: evaluating estimator performance这一章的内容比较多,一、简介原创 2021-11-21 15:41:31 · 1290 阅读 · 0 评论