![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
小猿取经-Egon林海峰
Egon,多年python开发经验,擅长Web开发、爬虫与数据分析、自动化运维、云计算、分布式存储等领域,曾任职于某上市公司云计算部主管,负责上千台云主机与分布式存储的架构与自动化运维开发工作
展开
-
C-02 推荐系统
文章目录推荐系统导入模块收集数据数据预处理无评分电影处理协同过滤算法-基于用户的推荐余弦相似度数据标准化处理预测测试推荐系统 目前推荐系统被应用于各个领域,例如淘宝的商品推荐、b站的视频推荐、网易云音乐的每日推荐等等,这些都是基于用于往日在平台的行为模式给用户推荐他们可能喜欢的商品、视频、音乐。 下面我们将以电影推荐系统举例,一步一步通过Python实现一个简单的电影推荐系统。 由...原创 2020-03-09 18:00:03 · 580 阅读 · 0 评论 -
C-01 手写数字识别
文章目录手写数字识别应用程序导入模块图像转向量训练并测试模型模型转应用程序展示图片处理图片预测图片手写数字识别应用程序导入模块import osimport pylabimport numpy as npfrom PIL import Imageimport matplotlib.pyplot as pltfrom sklearn.svm import SVC%matplotl...原创 2020-03-09 17:58:44 · 969 阅读 · 0 评论 -
线性代数-距离公式汇总
文章目录距离公式汇总欧式距离曼哈顿距离闵可夫斯基距离(Minkowski distance)距离公式汇总 假设nnn维空间中有两个点xix_ixi和xjx_jxj,其中xi=(xi(1),xi(2),⋯ ,xi(n))Tx_i = (x_i^{(1)},x_i^{(2)},\cdots,x_i^{(n)})^Txi=(xi(1),xi(2),⋯,xi(n))T,xj=(xj(1)...原创 2020-03-06 19:19:59 · 2487 阅读 · 0 评论 -
线性代数-矩阵转置
文章目录矩阵转置矩阵转置 假设我们有一个矩阵w=123456789w=\begin{matrix}1&2&3 \\4&5&6 \\7&8&9 \\\end{matrix}w=147258369 则矩阵的转置wT=147258369w^T=\begin{matrix}1&4&7 \\2&...原创 2020-03-06 19:18:09 · 1109 阅读 · 0 评论 -
线性代数-范数
文章目录范数Lp范数L0范数L1范数L2范数L∞范数范数Lp范数 ppp是一个变量,度量的是一组范数∣∣x∣∣p=∑i=1nxipp,x=x1,x2,…,xn||x||_p = \sqrt[p]{\sum_{i=1}^nx_i^p},\quad x={x_1,x_2,\ldots,x_n}∣∣x∣∣p=pi=1∑nxip,x=x1,x2,…,xnL0范数 度量非零...原创 2020-03-06 19:17:50 · 628 阅读 · 0 评论 -
微积分-sign(符号)函数
文章目录sign(符号)函数sign函数概述python实现sign函数sign(符号)函数sign函数概述 sign函数也称作符号函数,当x>0的时候y=1;当x=0的时候y=0;当x<0的时候y=-1。sign函数公式为y={1,x>00,x=0−1,x<0y = \begin{cases}1,\quad x>0 \\0,\quad x=0 \\...原创 2020-03-06 19:16:26 · 2714 阅读 · 0 评论 -
微积分-Sigmoid函数
文章目录Sigmoid函数Sigmoid函数详解Sigmoid函数Sigmoid函数详解# Sigmoid函数详解图例import numpy as npimport matplotlib.pyplot as pltax = plt.subplot(111)ax.spines['right'].set_color('none')ax.spines['top'].set_colo...原创 2020-03-06 19:15:55 · 1077 阅读 · 0 评论 -
经济学-基尼指数
文章目录基尼指数基尼指数简介基尼指数基尼指数简介 基尼指数(gini coefficient)代表了模型的不纯度,基尼指数越小,则不纯度越低;基尼指数越大,则不纯度越高,这和信息增益比是相反的。 假设一个训练集有KKK个类别,样本属于第kkk个类别的概率为pkp_kpk,则它的基尼指数为G(p)=∑k=1Kpk(1−pk)=1−∑k=1Kpk2G(p) = \sum_{k=1}^...原创 2020-03-06 19:15:24 · 738 阅读 · 0 评论 -
概率论-条件概率
文章目录条件概率条件概率简介条件概率推广条件概率条件概率简介 条件概率是指事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为:p(A∣B)p(A|B)p(A∣B),读作“在B的条件下A的概率”。若只有两个事件A,B,那么p(A∣B)=p(AB)p(B)p(A|B) = {\frac{p(AB)}{p(B)}}p(A∣B)=p(B)p(AB)其中p(AB)p(AB)p(...原创 2020-03-06 19:14:54 · 1362 阅读 · 0 评论 -
概率论-熵和信息增益
文章目录熵和信息增益熵(Entropy)条件熵(Conditional Entropy)联合熵(Joint Entropy)相对熵(Relative Entropy)相对熵的性质交叉熵(Cross Entropy)相对熵、交叉熵和熵的关系信息增益(Information Gain)信息增益比(Information Gain Ratio)一张图带你看懂熵和信息增益熵和信息增益熵(Entropy...原创 2020-03-06 19:14:24 · 1119 阅读 · 0 评论 -
概率论-极大似然估计
文章目录极大似然估计最大似然原理极大似然估计似然函数极大似然函数估计值求解极大似然函数未知参数只有一个位置参数有多个总结极大似然估计最大似然原理极大似然估计 极大似然估计是建立在最大似然原理的基础上的一个统计方法。极大似然估计提供了一种给定观察数据来评估模型参数的方法,即“模型已定,参数未知”。通过观察若干次实验的结果,利用实验结果得到某个参数值能够使样本出现的概率最大,则称为极大似然...原创 2020-03-06 19:12:33 · 1983 阅读 · 0 评论 -
概率论-常见的概率分布模型
文章目录常见的概率分布模型离散概率分布函数连续概率分布函数联合分布函数多项分布(Multinomial Distribution)多项分布简介多项分布公式解析伯努利分布(Bernoulli Distribution)伯努利分布简介伯努利分布的期望值和方差正态(高斯)分布(Normal(Gaussian) Distribution)正态分布的概率密度函数图像正态分布简介中心极限定理与正态分布泊松分布...原创 2020-03-06 19:11:37 · 5442 阅读 · 1 评论 -
概率论-贝叶斯决策
文章目录贝叶斯决策贝叶斯决策理论贝叶斯公式从条件概率公式推导贝叶斯公式从全概率公式推导贝叶斯公式贝叶斯公式应用贝叶斯决策贝叶斯决策理论 贝叶斯决策理论:在不完全情报下,对部分未知的状态用主观概率估计。贝叶斯公式从条件概率公式推导贝叶斯公式若果AAA和BBB相互独立,则有p(A,B)=p(A)p(B)p(A,B) = p(A)p(B)p(A,B)=p(A)p(B),并有条件概率公式p...原创 2020-03-06 19:09:19 · 515 阅读 · 0 评论 -
A-08 拉格朗日对偶性
文章目录拉格朗日对偶性原始问题约束最优化问题广义拉格朗日函数约束条件的考虑对偶问题原始问题和对偶问题的关系定理1推论1定理2定理3(KTT条件)拉格朗日对偶性 在约束最优化问题中,拉格朗日对偶性(Lagrange duality)可以将原始问题转换为对偶问题,然后通过求解对偶问题的解得到原始问题的解。原始问题约束最优化问题 假设f(x),ci(x),hj(x)f(x),c_i(x)...原创 2020-03-05 20:31:29 · 314 阅读 · 1 评论 -
A-07 前向分步算法
文章目录前向分步算法前向分步算法引入前向分步算法详解加法模型加法模型目标函数优化问题前向分步算法流程输入输出流程前向分步算法前向分步算法引入 假设Nick的年龄是25岁。第1棵决策树把Nick的年龄设置成初始值0岁去学习,如果第1棵决策树预测Nick的年龄是12岁,即残差值为25−12=1325-12=1325−12=132. 第2课决策树1. 把Nick的年龄设置成残差值1...原创 2020-03-05 20:30:35 · 283 阅读 · 0 评论 -
A-06 最小角回归法
文章目录最小角回归法举例最小角回归法优缺点优点缺点小结最小角回归法 最小角回归相当于前向选择法和前向梯度法的一个折中算法,简化了前项梯度法因ϵ\epsilonϵ的迭代过程,并在一定程度的保证了前向梯度法的精准度。 通常用最小角回归法解决线性模型的回归系数。对于一个有mmm个样本,每个样本有nnn个特征的训练集而言,假设可以拟合一个线性模型Y=ωTXY=\omega^TXY=ωTX,其中...原创 2020-03-05 20:29:52 · 312 阅读 · 0 评论 -
A-05 前向选择法和前向梯度法
文章目录前向选择法和前向梯度法前向选择法余弦相似度求投影举例前向选择法优缺点优点缺点前向梯度法举例前向梯度法优缺点优点缺点前向选择法和前向梯度法 由于前向选择法和前向梯度法的实现原理涉及过多的矩阵运算,本文只给出两种算法的思路。两者实现都是把矩阵中的向量运算具体化成平面几何中的向量运算。前向选择法 前向选择法是一种典型的贪心算法。 通常用前向选择法解决线性模型的回归系数。对于一个...原创 2020-03-05 20:29:13 · 939 阅读 · 0 评论 -
A-04 坐标轴下降法
文章目录坐标轴下降法坐标轴下降法流程坐标轴下降法和梯度下降法的异同坐标轴下降法 坐标轴下降法顾名思义,沿着坐标轴下降。坐标轴下降法和梯度下降法使用的都是迭代法,即使用启发式的方式一步一步迭代求解函数的最小值。 可以想象一个可微的凸函数J(ω)J(\omega)J(ω),其中ω\omegaω是一个n∗1n*1n∗1维的向量。如果在这nnn维空间中存在着某一点ω‾\overline{\om...原创 2020-03-05 20:28:14 · 251 阅读 · 0 评论 -
A-03 牛顿法和拟牛顿法
文章目录牛顿法和拟牛顿法牛顿法详解无约束最优化问题牛顿法迭代公式牛顿法和梯度下降法牛顿法流程输入输出流程拟牛顿法简介牛顿法和拟牛顿法 牛顿法(Newton method)和拟牛顿法(quasi-Newton method)和梯度下降法一样也是求解最优化问题的常用方法,但是他们的收敛速度比梯度下降法快。牛顿法是迭代算法,每一步都需要求目标函数的海森矩阵的逆矩阵,计算复杂;拟牛顿法通过正定矩阵...原创 2020-03-05 20:27:29 · 282 阅读 · 0 评论 -
A-02 梯度下降法
文章目录梯度下降法梯度下降法详解梯度梯度下降法和梯度上升法梯度下降相关概念步长假设函数目标函数梯度下降法流程梯度下降法——代数法梯度下降法——矩阵法三种不同形式的梯度下降法批量梯度下降法随机梯度下降法小批量梯度下降法梯度下降法优缺点优点缺点梯度下降法 在求解机器学习算法模型参数的时候,梯度下降法(gradient descent)和最小二乘法(least squares)是最经常使用的方法...原创 2020-03-05 20:26:47 · 389 阅读 · 0 评论 -
A-01 最小二乘法
文章目录最小二乘法最小二乘法——代数法最小二乘法——矩阵法最小二乘法优缺点优点缺点最小二乘法 最小二乘法,可以理解为最小平方和,即误差的最小平方和,在线性回归中,误差=真实值−预测值误差=真实值-预测值误差=真实值−预测值。最小二乘法的核心思想就是——通过最小化误差的平方和,使得拟合对象无限接近目标对象,最小二乘法一般解决线性问题。最小二乘法——代数法 假设线性回归的假设函数为Ka...原创 2020-03-05 20:25:22 · 221 阅读 · 0 评论 -
09-01 Tensorflow1基本使用
文章目录Tensorflow基本使用确认安装Tensorflow获取MNIST数据集使用Tensorflow训练——Softmax回归使用Tensorflow训练——卷积神经网络构建网络组件定义网络结构训练模型使用Tensorflow进行可视化Tensorflow基本使用确认安装Tensorflowimport tensorflow as tfa = tf.constant(10)b ...原创 2020-03-05 20:24:16 · 127 阅读 · 0 评论 -
08-08 细分构建机器学习应用程序的流程-模型优化
文章目录细分构建机器学习应用程序的流程-模型优化1.1 网格搜索法1.2 随机搜索法1.2.1 随机采样1.2.2 随机搜索法细分构建机器学习应用程序的流程-模型优化 通过数据收集、数据预处理、训练模型、测试模型上述四个步骤,一般可以得到一个不错的模型,但是一般得到的都是一个参数收敛的模型,然而我们模型还有超参数或不同的核函数等,如r的非线性支持向量机的bf核或linear核;rbf核的非线...原创 2020-03-04 19:20:18 · 151 阅读 · 0 评论 -
08-07 细分构建机器学习应用程序的流程-测试模型
文章目录细分构建机器学习应用程序的流程-测试模型1.1 metrics评估指标1.2 测试回归模型1.2.1 r2_socre1.2.1 explained_variance_score1.3 测试分类模型1.3.1 准确度1.3.2 查准率1.3.3 查全率1.3.4 F1值1.3.5 ROC曲线1.3.6 AUC面积1.4 欠拟合和过拟合4.9.4 交叉验证4.9.4.1 简单交叉验证4.9....原创 2020-03-04 19:19:54 · 501 阅读 · 0 评论 -
08-06 细分构建机器学习应用程序的流程-训练模型
文章目录细分构建机器学习应用程序的流程-训练模型1.1 训练回归模型1.1.1 Lasso回归1.1.2 弹性网络回归1.1.3 岭回归1.1.4 线性支持向量回归1.1.5 核支持向量回归1.1.6 决策树回归1.1.7 随机森林回归1.2 训练分类模型1.2.1 线性可分支持向量机1.2.2 KNN算法1.2.3 核支持向量机1.2.4 决策树分类1.2.5 随机森林分类1.3 训练聚类模型1...原创 2020-03-04 19:18:29 · 307 阅读 · 0 评论 -
08-05 细分构建机器学习应用程序的流程-数据预处理
文章目录细分构建机器学习应用程序的流程-数据预处理1.1 缺失值处理1.1.1 删除缺失值4.6.1.2 填充缺失值1.2 异常值处理1.3 自定义数据类型编码1.4 通过sklearn对数据类型编码1.5 独热编码1.5.1 sklearn做独热编码1.5.2 pandas做独热编码1.6 数据标准化1.6.1 最小-最大标准化1.6.2 Z-score标准化1.7 二值化数据1.8 正则化数据...原创 2020-03-04 19:17:25 · 271 阅读 · 0 评论 -
08-04 细分构建机器学习应用程序的流程-数据收集
文章目录细分构建机器学习应用程序的流程-数据收集1.1 通过sklearn生成随机数据1.1.1 make_classification()1.1.2 make_multilabel_classification()1.1.3 make_regression()1.1.4 make_blobs1.1.5 make_circles()1.1.6 make_moons1.2 skleran自带数据集1...原创 2020-03-04 19:16:47 · 2678 阅读 · 0 评论 -
08-03 细分构建机器学习应用程序的流程-流程简介
文章目录细分构建机器学习应用程序的流程-流程简介1.1 sklearn安装1.2 sklearn功能模块1.2.1 英文版本1.2.2 中文版本1.2.3 API统一的方法1.3 sklearn使用地图1.3.1 英文版本1.3.2 中文版本1.4 构建机器学习应用程序流程1.4.1 收集数据1.4.2 数据预处理1.4.3 训练模型1.4.4 测试模型1.4.4.1 metircs测试模型1.4...原创 2020-03-04 19:15:55 · 544 阅读 · 0 评论 -
08-02 机器学习算法原理
文章目录机器学习算法原理1.1 感知机算法1.1.1 决策函数1.1.1.1 sign函数图像1.1.2 损失函数1.1.3 目标函数1.1.4 目标函数优化问题1.2 线性回归1.2.1 决策函数1.2.2 目标函数1.2.3 目标函数优化问题1.3 逻辑回归简介1.3.1 Sigmoid函数1.3.2 决策函数1.3.3 损失函数1.3.4 目标函数1.3.5 目标函数优化问题1.4 朴素贝叶...原创 2020-03-04 19:13:54 · 529 阅读 · 0 评论 -
08-01 通过线性回归了解算法流程
文章目录通过线性回归带你了解算法流程1. 1 线性回归引入1. 2 决策函数1. 3 损失函数1. 4 目标函数1. 5 目标函数最小化1. 6 过拟合1. 7 正则化1. 7.1 L1正则化1. 7.2 L2正则化1. 8 训练集、验证集、测试集1. 8.1 训练集1. 8.2 验证集1. 8.3 测试集1. 9 本章小结通过线性回归带你了解算法流程1. 1 线性回归引入 相信我们很多...原创 2020-03-04 19:10:42 · 762 阅读 · 0 评论 -
08-00 课程习得
课程习得通过对这门课程的学习,你将习得以下技能:你可以快速入门应用机器学习,为公司、企业直接创造价值你可以掌握机器学习理论基础你可以学到感知机算法你可以学到线性回归算法你可以学到逻辑回归你可以学到朴素贝叶斯法你可以学到k近邻算法、决策树、支持向量机你可以学到k均值聚类算法你可以学到AdaBoost算法、梯度提升树(GBDT)、XgBoost算法、随机森林你可以学到主成分分...原创 2020-03-04 19:09:14 · 219 阅读 · 0 评论 -
07-02 基于协同过滤的推荐算法
文章目录基于协同过滤的推荐算法实验设计——训练集M折交叉验证评测指标准确率/召回率覆盖率新颖度基于领域的算法基于用户的协同过滤算法UserCF推荐算法User-IIF推荐算法基于物品的协同过滤算法ItemCF算法基于协同过滤的推荐算法 本推荐系统采用中等大小的MovieLens数据集,该数据集包含6000多用户对4000多部电影的100万条评分。该数据集是一个评分数据集,用户可以给电影评5个...原创 2020-03-03 09:50:57 · 695 阅读 · 0 评论 -
07-01 推荐系统常用度量指标
文章目录推荐系统常用评估指标RMSEMAEPrecision(准确率)&Recall(召回率)覆盖率信息熵基尼系数多样性获取各种评测指标的途径长尾分布推荐系统常用评估指标RMSE 加大了对预测不准的用户物品评分的惩罚。RMSE=∑u,i∈T(rui−rui^)2∣T∣\text{RMSE}=\sqrt\frac{\sum_{u,i\in{T}}(r_{ui}-\hat{r_{...原创 2020-03-03 09:49:03 · 734 阅读 · 0 评论 -
06-01 DeepLearning-图像识别
文章目录深度学习-图像识别人脸定位手工提取特征的图像分类识图认物传统分类系统的特征提取计算机眼中的图像什么是图像特征?卷积运算利用卷积提取图像特征基于神经网络的图像分类传统图像分类系统和深度神经网络深度神经网络的架构卷积层池化层全连接层归一化指数层非线性激活层Sigmoid函数双曲正切函数ReLU函数深度神经网络的训练反向传播算法图像分类应用——人脸识别人脸识别的流程人脸识别应用场景小结深度学习...原创 2020-03-03 09:47:44 · 2053 阅读 · 1 评论 -
05-06 模型选择
文章目录模型选择模型选择学习目标机器学习基本假设损失函数目标函数参数模型和非参数模型参数模型非参数模型过拟合过拟合解决方法收集更多训练数据选择简单模型示例正则化L1正则化L2正则化交叉验证简单交叉验证k折交叉验证留一法交叉验证时间序列分割交叉验证和模型一起使用cross_val_scorecross_validatecross_val_predict偏差与方差偏差-方差窘境查准率、查全率和F1准确...原创 2020-03-03 09:39:31 · 399 阅读 · 0 评论 -
05-05 主成分分析代码(手写数字识别)
文章目录主成分分析代码(手写数字识别)导入模块数据预处理KNN训练数据准确度降维(2维)KNN训练数据准确度二维特征方差比例查看原始数据特征方差比例主成分所占方差比例保留原始维度的80%的维度查看主成分个数降维(13维)KNN训练数据准确度小结主成分分析代码(手写数字识别)导入模块import timeimport numpy as npimport matplotlib.pyplot...原创 2020-03-03 09:35:20 · 1147 阅读 · 0 评论 -
05-04 scikit-learn库之主成分分析
文章目录scikit-learn库之主成分分析PCA使用场景代码参数属性方法KernelPCAIncrementalPCASparsePCAMiniBatchSparsePCAscikit-learn库之主成分分析 PCA在scikit-leran库中的sklearn.decomposition包下,PCA即最普通的PCA,PCA也有很多变种,我们主要会讲解PCA,然后聊一聊KernelPC...原创 2020-03-03 09:34:22 · 269 阅读 · 0 评论 -
05-03 主成分分析(PCA)
文章目录主成分分析(PCA)维数灾难和降维主成分分析学习目标主成分分析详解主成分分析两个条件基于最近重构性推导PCA主成分分析目标函数主成分分析目标函数优化基于最大可分性推导PCA核主成分分析(KPCA)主成分分析流程输入输出流程主成分分析优缺点优点缺点小结主成分分析(PCA)维数灾难和降维 在KNN算法中曾讲到,对于高维数据,会出现数据样本稀疏、距离计算困难等问题。但是这种问题并不是仅...原创 2020-03-03 09:33:31 · 948 阅读 · 0 评论 -
05-02 特征选择
文章目录特征选择特征选择学习目标特征选择引入特征选择详解无关特征和冗余特征过滤式特征选择卡方检验方差过滤相关系数过滤F检验互信息过滤包裹式特征选择递归特征消除嵌入式特征选择高级特征寻找寻找高级特征的方法小结特征选择 特征工程在工业上有这么一句广为流传的话:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。接下来将给你介绍特征工程的第一个分支,特征选择。 对于一个学习任务...原创 2020-03-03 09:32:20 · 465 阅读 · 0 评论 -
05-01 特征预处理
文章目录特征预处理特征预处理学习目标特征预处理详解缺失值处理删除缺失值填充缺失值离群值处理获取离群值离群值处理数据类型转换自定义数据类型编码scikit-learn数据类型编码独热编码归一化数据最小-最大标准化Z-score标准化二值化数据正则化数据生成多项式特征小结特征预处理 之前说到构建机器学习系统的步骤中的第二步说到需要进行数据预处理,但是并没有说如何对数据进行预处理,这一章将会展开...原创 2020-03-03 09:30:52 · 372 阅读 · 0 评论