第一篇:手写数字识别
手写数字识别应用程序 导入模块 import os import pylab import numpy as np from PIL import Image %matplotlib inline 图像转向量 def img2vector(filename): """将32*32的二进制图像转换为1*1024向量&qu…
|
114
|
|
54 字
|
几秒读完
第二篇:推荐系统
推荐系统 目前推荐系统被应用于各个领域,例如淘宝的商品推荐、b站的视频推荐、网易云音乐的每日推荐等等,这些都是基于用于往日在平台的行为模式给用户推荐他们可能喜欢的商品、视频、音乐。 下面我们将以电影推荐系统举例,一步一步通过Python实现一个简单的电影推荐系统。 由于数据量的…
|
136
|
|
2872 字
|
11 分钟
第一篇:概率论-贝叶斯决策
贝叶斯决策 贝叶斯决策理论 贝叶斯决策理论:在不完全情报下,对部分未知的状态用主观概率估计。 贝叶斯公式 从条件概率公式推导贝叶斯公式 若果$A$和$B$相互独立,则有$p(A,B) = p(A)p(B)$,并有条件概率公式 $$ p(A|B) = {\frac{p(A,B)}{p(B)}} \ p(B|A) = {\fra…
|
120
|
|
653 字
|
3 分钟
第二篇:概率论-常见的概率分布模型
常见的概率分布模型 离散概率分布函数 离散概率分布也称为概率质量函数(probability mass function),离散概率分布的例子有 伯努利分布(Bernoulli distribution) 几何分布(geometr…
|
117
|
|
1488 字
|
7 分钟
第三篇:概率论-极大似然估计
极大似然估计 最大似然原理 极大似然估计 极大似然估计是建立在最大似然原理的基础上的一个统计方法。极大似然估计提供了一种给定观察数据来评估模型参数的方法,即“模型已定,参数未知”。通过观察若干次实验的结果,利用实验结果得到某个参数值能够使样本出现的概率最大,则称为极大似然估计。 简而言之,极大似然估计…
|
133
|
|
655 字
|
3 分钟
第四篇:概率论-熵和信息增益
熵和信息增益 熵(Entropy) 熵表示随机变量不确定性的度量。假设离散随机变量$X$可以取到$n$个值,其概率分布为 $$ P(X=x_i)=pi, \quad i = 1,2,\ldots,n $$ 则$X$的熵定义为 $$ H(X) = -\sum{i=1}^n p_i log{pi} $$ 由于熵只依赖$X$的分布…
|
145
|
|
2270 字
|
11 分钟
第五篇:概率论-条件概率
条件概率 条件概率简介 条件概率是指事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为:$p(A|B)$,读作“在B的条件下A的概率”。若只有两个事件A,B,那么 $$ p(A|B) = {\frac{p(AB)}{p(B)}} $$ 其中$p(AB)$表示$A$和$B$同时发生的概率,$p(B)$表示$B$发生…
|
132
|
|
238 字
|
2 分钟
第六篇:经济学-基尼指数
基尼指数 基尼指数简介 基尼指数(gini coefficient)代表了模型的不纯度,基尼指数越小,则不纯度越低;基尼指数越大,则不纯度越高,这和信息增益比是相反的。 假设一个训练集有$K$个类别,样本属于第$k$个类别的概率为$pk$,则它的基尼指数为 $$ G(p) = \sum{k=1}^K …
|
130
|
|
366 字
|
2 分钟
第七篇:微积分-Sigmoid函数
Sigmoid函数 Sigmoid函数详解 # Sigmoid函数详解图例 import numpy as np import matplotlib.pyplot as plt ax = plt.subplot(111) ax.spines['right'].set_color('none') ax.spin…
|
133
|
|
56 字
|
几秒读完
第八篇:微积分-sign(符号)函数
sign(符号)函数 sign函数概述 sign函数也称作符号函数,当x>0的时候y=1;当x=0的时候y=0;当x<0的时候y=-1。sign函数公式为 $$ y = \begin{cases} 1,\quad x>0 \ $$ python实现sign函数 import matplotlib.pyplo…
|
143
|
|
76 字
|
1 分钟内
第九篇:线性代数-范数
范数 Lp范数 $p$是一个变量,度量的是一组范数 $$ ||x||_p = \sqrt[p]{\su_2,\ldots,x_n} $$ L0范数 度量非零个数。 $$ ||x||0 = \sqrt[0]{\sum{i=1}^nx_i^0},\quad x={x_1,x_2,\ldots,x_n} $…
|
121
|
|
135 字
|
1 分钟内
第十篇:线性代数-矩阵转置
矩阵转置 假设我们有一个矩阵 $$ w= \begin{matrix} 1&2&3 \ 4&5&6 \ $$ 则矩阵的转置 $$ w^T= \begin{matrix} 1&4&7 \ 2&5&8 \ 3&6&9 \ \e…
|
108
|
|
46 字
|
几秒读完
第十一篇:线性代数-距离公式汇总
距离公式汇总 假设$n$维空间中有两个点$x_i$和$x_j$,其中$x_i = (x_i^{(1)},x_i^{(2)},\cdots,x_i^{(n)})^T$,$x_j = (x_j^{(1)},x_j^{(2)},\cdots,x_j^{(n)})^T$。 欧式距离 $$ d(x_i,xj) = \sqrt{\sum…
|
144
|
|
104 字
|
1 分钟内
第一篇:最小二乘法
最小二乘法 最小二乘法,可以理解为最小平方和,即误差的最小平方和,在线性回归中,$误差=真实值-预测值$。最小二乘法的核心思想就是——通过最小化误差的平方和,使得拟合对象无限接近目标对象,最小二乘法一般解决线性问题。 最小二乘法——代数法 假设线性回归的假设函数为 $$ \begin{align} h…
|
152
|
|
834 字
|
4 分钟
第二篇:梯度下降法
梯度下降法 在求解机器学习算法模型参数的时候,梯度下降法(gradient descent)和最小二乘法(least squares)是最经常使用的方法,由于梯度下降法衍生出的分支较多,所以在这里对梯度下降法单独做一个总结。 梯度下降法详解 梯度 梯度是在微积分中对多元函数的各个参数求偏导数,并且把求…
|
134
|
|
2363 字
|
10 分钟
第三篇:牛顿法和拟牛顿法
牛顿法和拟牛顿法 牛顿法(Newton method)和拟牛顿法(quasi-Newton method)和梯度下降法一样也是求解最优化问题的常用方法,但是他们的收敛速度比梯度下降法快。牛顿法是迭代算法,每一步都需要求目标函数的海森矩阵的逆矩阵,计算复杂;拟牛顿法通过正定矩阵近似海森矩阵的逆矩阵,简化这个计算过程。 牛顿法详…
|
110
|
|
1043 字
|
5 分钟
第四篇:坐标轴下降法
坐标轴下降法 坐标轴下降法顾名思义,沿着坐标轴下降。坐标轴下降法和梯度下降法使用的都是迭代法,即使用启发式的方式一步一步迭代求解函数的最小值。 可以想象一个可微的凸函数$J(\omega)$,其中$\omega$是一个$n*1$维的向量。如果在这$n$维空间中存在着某一点$\overline{\ome…
|
88
|
|
791 字
|
4 分钟
第五篇:前向选择法和前向梯度法
前向选择法和前向梯度法 由于前向选择法和前向梯度法的实现原理涉及过多的矩阵运算,本文只给出两种算法的思路。两者实现都是把矩阵中的向量运算具体化成平面几何中的向量运算。 前向选择法 前向选择法是一种典型的贪心算法。 通常用前向选择法解决线性模型的回归系数。对于一个有$m$个样本,…
|
154
|
|
1190 字
|
5 分钟
第六篇:最小回归法
最小角回归法 最小角回归相当于前向选择法和前向梯度法的一个折中算法,简化了前项梯度法因$\epsilon$的迭代过程,并在一定程度的保证了前向梯度法的精准度。 通常用最小角回归法解决线性模型的回归系数。对于一个有$m$个样本,每个样本有$n$个特征的训练集而言,假设可以拟合一个线性模型$Y=\omeg…
|
111
|
|
820 字
|
4 分钟
第七篇:前向分步算法
前向分步算法 前向分步算法引入 假设Nick的年龄是25岁。 第1棵决策树 把Nick的年龄设置成初始值0岁去学习,如果第1棵决策树预测Nick的年龄是12岁,即残差值为$25-12=13$ 第2课决策树 把Nick的年龄设置成残差值13岁去学习,如果第2棵决策树能把Nick分到13岁的叶子节点,累加两棵决策树的预测值加和$…
|
94
|
|
700 字
|
4 分钟
第八篇:拉格朗日对偶性
拉格朗日对偶性 在约束最优化问题中,拉格朗日对偶性(Lagrange duality)可以将原始问题转换为对偶问题,然后通过求解对偶问题的解得到原始问题的解。 原始问题 约束最优化问题 假设$f(x),c_i(x),hj(x)$是定义在$R^n$上的连续可微函数,则约束最优化问题的原始问题为 $$ \…
|
117
|
|
1736 字
|
8 分钟
Tensorflow基本使用
Tensorflow基本使用 确认安装Tensorflow import tensorflow as tf a = tf.constant(10) print(sess.run(a+b)) 42 获取MNIST数据集 # 获取MNIST数据集 # 获取地址:https://tensorflow.googlesource.com/tensorflow…
|
127
|
|
115 字
|
1 分钟内
第一节:课程习得
课程习得 通过对这门课程的学习,你将习得以下技能: 你可以快速入门应用机器学习,为公司、企业直接创造价值 你可以掌握机器学习理论基础 你可以学到感知机算法 你可以学到线性回归算法 你可以学到逻辑回归 你可以学到朴素贝叶斯法 你可以学到k近邻算法、决策树、支持向量机 你可以学到k均值聚类算法 你可以学到AdaBoost算法、梯度提升树(GBDT)、X…
|
96
|
|
462 字
|
2 分钟
第二节:通过线性回归带你了解算法流程
通过线性回归带你了解算法流程 1. 1 线性回归引入 相信我们很多人可能都有去售楼处买房而无奈回家的行为,就算你没去过售楼处,相信你也应该听说过那令人叹而惊止的房价吧?对于高房价你没有想过这房价是怎么算出来的呢?难道就是房地产商拍拍脑门,北京的一概1000万,上海的一概800万,杭州的一概600万吗?看到这相信你应该有动力想…
|
133
|
|
4469 字
|
18 分钟
第三节:机器学习算法原理
机器学习算法原理 1.1 感知机算法 # 感知机算法图例 import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties %matplotlib inline font = FontProperties(fna…
|
136
|
|
6702 字
|
27 分钟
第四节:细分构建机器学习应用程序的流程-流程简介
细分构建机器学习应用程序的流程-流程简介 1.1 sklearn安装 为了实现接下里的代码,你需要安装下列5个Python第三方库,本文只拿sklearn的安装举例,如果有同学已经安装sklearn,可以把你的sklearn更新到最新版本,其他库同理。 numpy 1.15.4 scipy 1.1.0 matplotlib …
|
143
|
|
1421 字
|
6 分钟
第五节:细分构建机器学习应用程序的流程-数据收集
细分构建机器学习应用程序的流程-数据收集 sklearn数据集官方文档地址:https://scikit-learn.org/stable/modules/classes.html#module-sklearn.datasets sklearn数据集一览 类型 获取方式 sklearn生成的随机数据集 sklearn.dat…
|
90
|
|
674 字
|
4 分钟
第六节:细分构建机器学习应用程序的流程-数据预处理
细分构建机器学习应用程序的流程-数据预处理 sklearn数据预处理官方文档地址:https://scikit-learn.org/stable/modules/classes.html#module-sklearn.preprocessing 1.1 缺失值处理 import numpy as np import pandas as pd %ma…
|
124
|
|
2178 字
|
10 分钟
第七节:细分构建机器学习应用程序的流程-训练模型
细分构建机器学习应用程序的流程-训练模型 1.1 训练回归模型 接下来我们将用波士顿房价数据集来介绍我们的回归模型,波士顿总共有506条数据,所以样本数小于100K,依据地图可以先使用Lasso回归-弹性网络回归-岭回归-线性支持向量回归-核支持向量回归-决策树回归-随机森林回归 import numpy as np imp…
|
105
|
|
897 字
|
4 分钟
第八节:细分构建机器学习应用程序的流程-测试模型
细分构建机器学习应用程序的流程-测试模型 对于分类问题,我们可能会使用k近邻算法、决策树、逻辑回归、朴素贝叶斯法、支持向量机、随机森林;对于回归问题,我们可能会使用线性回归、决策树、随机森林。在工业上,我们不可能会对客户说,这是我训练的几个模型,你想用哪个我就给你哪个。一般而言这是不可能的,通常对于这几个模型,我们会通过某种…
|
95
|
|
2949 字
|
12 分钟