机器学习
文章平均质量分 74
Backcanhave7
学无止境,学以致用。
展开
-
关于梯度下降算法的理解
本文将从导数的几何意义出发来理解梯度下降算法。(1)一元函数导数的几何意义对于一元函数在某点的导数,我们可以将其理解成一元函数在该点处的切线的斜率。(2)偏导数的几何意义(3)方向导数的几何意义方向导数与偏导数密切相关。偏导数表示函数沿着坐标轴方向的变化率,而方向导数则表示函数沿着某个特定方向的变化率,当这个特定方向为坐标轴方向时,方向导数此时就变成了偏导数。上...原创 2018-12-13 22:37:59 · 450 阅读 · 0 评论 -
Python实现前向逐步回归
当基于最小二乘法训练线性回归模型而发生过拟合现象时,最小二乘法没有办法阻止学习过程。前向逐步回归的引入则可以控制学习过程中出现的过拟合,它是最小二乘法的一种改进或者说调整,其基本思想是由少到多地向模型中引入变量,每次增加一个,直到没有可以引入的变量为止。最后通过比较在预留样本上计算出的错误进行模型的选择。实现代码如下:# 导入要用到的各种包和函数import numpy as ...原创 2019-02-06 14:55:53 · 11306 阅读 · 1 评论 -
机器学习中的异常值检测和处理
1 什么是异常值?在机器学习中,异常检测和处理是一个比较小的分支,或者说,是机器学习的一个副产物,因为在一般的预测问题中,模型通常是对整体样本数据结构的一种表达方式,这种表达方式通常抓住的是整体样本一般性的性质,而那些在这些性质上表现完全与整体样本不一致的点,我们就称其为****异常点,通常异常点在预测问题中是不受开发者欢迎的,因为预测问题通产关注的是整体样本的性质,而异常点的生成机制与整体样...转载 2019-02-03 15:08:53 · 21040 阅读 · 0 评论 -
Python实现最小角度回归
关于LARS的详细介绍,可以参考Bradley Efron, Trevor Hastie, Iain Johnstone and Robert Tibshirani等人的那篇经典论文Least Angle Regression,文末附有论文地址。本文仅涉及LARS的Python实现。实现代码:# 导入要用到的相关包和函数%matplotlib inlineimport num...原创 2019-02-13 12:04:57 · 2521 阅读 · 1 评论 -
全面了解ROC曲线
原文地址:全面了解ROC曲线 | Public Library of Bioinformatics1. ROC的前世今生:ROC的全称是“受试者工作特征”(Receiver Operating Characteristic)曲线,首先是由二战中的电子工程师和雷达工程师发明的,用来侦测战场上的敌军载具(飞机、船舰),也就是信号检测理论。之后很快就被引入了心理学来进行信号的知觉检测。此后被引入...转载 2019-02-18 15:32:55 · 1830 阅读 · 0 评论 -
《Python机器学习——预测分析核心算法》笔记
本文是《Python机器学习——预测分析核心算法》截止到第五章的读后笔记,主要涉及惩罚线性回归方法。后续会更新第六、七两章关于集成方法的学习笔记。第一章 关于预测的两类核心算法什么是惩罚回归方法?惩罚线性回归方法是由普通最小二乘法衍生出来的。它设计之初的想法就是要克服最小二乘法可能会带来的过拟合问题。如下图所示: 上面的大图中,图1-1是基于六个点利用最小二乘法拟合出的预...原创 2019-02-23 17:01:27 · 3519 阅读 · 0 评论 -
机器学习缺失值处理方法汇总
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/w352986331qq/article/details/78639233 </div> <div id="content_views" clas转载 2019-02-21 12:54:18 · 1074 阅读 · 0 评论 -
Python实现坐标上升算法
场景:已知f(x1,x2)=-x1^2-3*x2^2+2*x1*x2+6,求当f(x1,x2)取得最大值时,x1和x2的值分别是多少?f(x1,x2)对x1的偏导:f_x1=-2*x1+2*x2,令f_x1=0,=》x1=x2;f(x1,x2)对x2的偏导:f_x2=-6*x2+2*x1,令f_x2=0,=》x2=1/3*x1。在坐标上升的过程中,当每次沿着某个坐标轴寻找多元函数f的最...原创 2019-03-03 23:37:15 · 680 阅读 · 0 评论 -
Lasso回归算法: 坐标轴下降法与最小角回归法小结
参考:https://www.cnblogs.com/pinard/p/6018889.html原创 2019-03-03 23:46:01 · 307 阅读 · 0 评论 -
决策树算法的sklearn实现及其调参
回归决策树import pandas as pd# 导入房价数据from sklearn.datasets.california_housing import fetch_california_housinghousing = fetch_california_housing()# 查看房价数据的具体信息housinghousing的具体信息如下图所示:# 将ho...原创 2019-03-24 14:13:16 · 3063 阅读 · 0 评论 -
Adaboost入门教程——最通俗易懂的原理介绍(图文实例)
原文地址:Adaboost入门教程——最通俗易懂的原理介绍(图文实例)说到Adaboost,公式与代码网上到处都有,《统计学习方法》里面有详细的公式原理,Github上面有很多实例,那么为什么还要写这篇文章呢?希望从一种更容易理解的角度,来为大家呈现Adaboost算法的很多关键的细节。本文中暂时没有讨论其数学公式,一些基本公式可以参考《统计学习方法》。基本原理Adaboost算法基本原...转载 2019-04-09 13:38:03 · 397 阅读 · 0 评论 -
利用ROC和AUC度量分类器性能
关于ROC及AUC的介绍,可以参考:https://blog.csdn.net/qq_41080850/article/details/86560645本文主要讨论用Python3实现ROC的绘制。另:以下代码均运行于Jupyter Notebook中。代码实现:# 读入岩石-水雷数据集:data = pd.read_csv('rock_mine.csv',header=None,...原创 2019-02-04 21:43:18 · 442 阅读 · 0 评论 -
向量范数及正则化方法简介
向量范数在G.H.Golub和C.F.Van_Loan所著的《矩阵计算》一书中,对向量范数的定义如下:正则化在机器学习中,正则化主要用于解决在训练模型的过程中出现的过拟合问题。常见的正则化方法有两种,即L1正则化和L2正则化。其中L1正则化除了可以抑制过拟合现象,还兼有特征选择和增加模型可解释性的作用;L2正则化除了可以抑制过拟合现象,在某些情况下还同时有助于后续的优化计算。L1正...原创 2019-01-16 20:21:19 · 4519 阅读 · 0 评论 -
利用批量梯度下降和正规方程求解线性回归参数的理论推导
有一组房子的面积和价格数据,如下表所示: x(size) y(price) 2104 460 1416 232 ...原创 2018-12-28 16:11:31 · 554 阅读 · 0 评论 -
利用批量梯度下降和正规方程求解线性回归参数(Python实现)
说明:本文使用的工具为Python3+Jupyter Notebook。利用批量梯度下降先导入要用到的各种包:%matplotlib notebookimport numpy as npimport pandas as pdimport matplotlib.pyplot as plt构造并查看数据:# 构造数据集:data = {'Ones':[1,1,1,1,1...原创 2018-12-22 20:25:29 · 2042 阅读 · 1 评论 -
随机梯度下降算法的Python实现
当用于训练的数据量非常大时,批量梯度下降算法变得不再适用(此时其速度会非常慢),为解决这个问题,人们又想出了随机梯度下降算法。随机梯度下降算法的核心思想并没有变,它仍是基于梯度,通过对目标函数中的参数不断迭代更新,使得目标函数逐渐靠近最小值。具体代码实现如下:先导入要用到的各种包:%matplotlib notebookimport pandas as pdimport matp...原创 2018-12-30 15:43:53 · 10935 阅读 · 4 评论 -
小批量梯度下降算法的Python实现
小批量梯度下降算法的核心思想仍然是基于梯度,通过对目标函数中的参数不断迭代更新,使得目标函数逐渐靠近最小值。它是批量梯度下降与随机梯度下降的折中,有着训练过程较快,同时又能保证得到较为精确的训练结果。在一些情况下,小批量梯度下降比批量梯度下降和随机梯度下降的速度都要快。具体代码实现如下:先导入要用到的各种包:%matplotlib notebookimport pandas as ...原创 2019-01-01 18:56:27 · 5301 阅读 · 2 评论 -
二项逻辑斯蒂回归的Python实现
说明:下文所使用的训练数据集ex2data1.txt来自Andrew Ng的机器学习公开课,数据集中包含有学生两次测试的得分和学生的录取情况。代码实现:%matplotlib notebookimport matplotlib.pyplot as pltimport seaborn as snsimport pandas as pdimport numpy as np# 读入...原创 2019-01-09 23:05:01 · 3351 阅读 · 3 评论 -
机器学习中的欠拟合与过拟合问题
机器学习的基本问题是利用模型对数据进行拟合,学习的目的并非是在有限训练集上进行正确预测,而是要对未曾在训练集合出现的样本进行正确预测。模型对训练集数据的误差称为经验误差,对测试集数据的误差称为泛化误差。模型对训练集以外样本的预测能力就称为模型的泛化能力,追求这种泛化能力始终是机器学习的目标。过拟合和欠拟合是导致模型泛化能力不高的两种常见原因,都是模型学习能力与数据复杂度之间失配的结果...原创 2019-01-11 11:21:48 · 2056 阅读 · 0 评论 -
利用梯度下降(BGD、SGD、MBGD)求解线性回归参数总结
说明:本文示例所使用的数据集gongyeyuan.xlsx来源于链家网,里面含有5306条苏州市工业园区内二手房的售价与其面积信息。另:本文使用的工具主要是Python3+Jupyter Notebook。本文的主要内容是利用三种不同的梯度下降法求解已建立的线性回归模型中的参数,并据此对三种梯度下降进行一个简单的比较。先导入要用到的各种包:%matplotlib notebooki...原创 2019-01-02 11:09:21 · 1519 阅读 · 2 评论 -
多变量线性回归中的特征缩放
为什么要进行特征缩放?"Most of the times, your dataset will contain features highly varying in magnitudes, units and range. But since, most of the machine learning algorithms use Eucledian distance between two...原创 2019-01-03 17:50:20 · 1504 阅读 · 2 评论 -
Python实现独热编码
关于独热编码与哑变量编码的概念,可以参考:https://blog.csdn.net/qq_41853758/article/details/81252174。离散特征的编码分为两种情况:1、离散特征的取值之间没有大小的意义,比如color:[red,blue],此时可以使用one-hot编码;2、离散特征的取值有大小的意义,比如size:[X,XL,XXL],此时可以使用数值的映射{...原创 2019-02-11 20:24:16 · 19402 阅读 · 1 评论 -
机器学习之模型评估与选择
经验误差与泛化误差 通常我们把分类错误的样本数占样本总数的比例称为“错误率”(error rate),即如果在m个样本中有a个样本分类错误,则错误率E=a/m;相应的,1-a/m称为“精度”,即“精度=1-错误率”。更一般地,我们把学习器的实际预测输出与样本的真实输出之间的差异称为“误差”(error),学习器在训练集上的误差称为“训练误差”(training error)或“经验误差”...原创 2019-01-22 13:06:36 · 2256 阅读 · 0 评论 -
朴素贝叶斯算法原理介绍及其scikit-learn简单实现
参考:朴素贝叶斯算法原理小结scikit-learn 朴素贝叶斯类库使用小结原创 2019-07-22 17:27:00 · 305 阅读 · 0 评论