随笔分类 - 0081. 机器学习
摘要:逻辑回归是一个分类算法,它可以处理二元分类以及多元分类。虽然它名字里面有“回归”两个字,却不是一个回归算法。那为什么有“回归”这个误导性的词呢?个人认为,虽然逻辑回归是分类模型,但是它的原理里面却残留着回归模型的影子,本文对逻辑回归原理做一个总结。 1. 从线性回归到逻辑回归 我们知道,线性回归的模
阅读全文
摘要:scikit-learn对于线性回归提供了比较多的类库,这些类库都可以用来做线性回归分析,本文就对这些类库的使用做一个总结,重点讲述这些线性回归算法库的不同和各自的使用场景。 线性回归的目的是要得到输出向量\(\mathbf{Y}\)和输入特征\(\mathbf{X}\)之间的线性关系,求出线性回归
阅读全文
摘要:本文将用一个例子来讲述怎么用scikit-learn和pandas来学习Ridge回归。 1. Ridge回归的损失函数 在我的另外一遍讲线性回归的文章中,对Ridge回归做了一些介绍,以及什么时候适合用 Ridge回归。如果对什么是Ridge回归还完全不清楚的建议阅读我这篇文章。 线性回归原理小结
阅读全文
摘要:前面的文章对线性回归做了一个小结,文章在这: 线性回归原理小结。里面对线程回归的正则化也做了一个初步的介绍。提到了线程回归的L2正则化-Ridge回归,以及线程回归的L1正则化-Lasso回归。但是对于Lasso回归的解法没有提及,本文是对该文的补充和扩展。以下都用矩阵法表示,如果对于矩阵分析不熟悉
阅读全文
摘要:对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题 没有数据,当然没法研究机器学习啦。:) 这里我们用UCI大学公开的机器学习数据来跑线性回归。 数据的介绍在这: http://ar
阅读全文
摘要:很多朋友想学习机器学习,却苦于环境的搭建,这里给出windows上scikit-learn研究开发环境的搭建步骤。 Step 1. Python的安装 python有2.x和3.x的版本之分,但是很多好的机器学习python库都不支持3.x,因此,推荐安装2.7版本的python。当前最新的pyth
阅读全文
摘要:线性回归可以说是机器学习中最基本的问题类型了,这里就对线性回归的原理和算法做一个小结。 1. 线性回归的模型函数和损失函数 线性回归遇到的问题一般是这样的。我们有m个样本,每个样本对应于n维特征和一个结果输出,如下: \((x_1^{(0)}, x_2^{(0)}, ...x_n^{(0)}, y_
阅读全文
摘要:在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口的概念: 1. TP, FP, TN, FN 听起来还是很费劲,不过我们用一张图就很容易理解了。图如
阅读全文
摘要:交叉验证是在机器学习建立模型和验证模型参数时常用的办法。交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,用测试集来评估模型预测的好坏。在此基础上可以得到多组不同的训练集和测试集,某次训练集中的某样本在下次可能成为测试集中的样本,即所谓
阅读全文
摘要:最小二乘法是用来做函数拟合或者求函数极值的方法。在机器学习,尤其是回归模型中,经常可以看到最小二乘法的身影,这里就对我对最小二乘法的认知做一个小结。 1.最小二乘法的原理与要解决的问题 最小二乘法是由勒让德在19世纪发现的,原理的一般形式很简单,当然发现的过程是非常艰难的。形式如下式:$$目标函数
阅读全文
摘要:在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。这里就对梯度下降法做一个完整的总结。 1. 梯度 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数
阅读全文