
机器学习
文章平均质量分 70
zxfhahaha
这个作者很懒,什么都没留下…
展开
-
【吴恩达机器学习】第八章 正则化
过拟合问题什么是过拟合问题线性回归、逻辑回归等应用到某些特定的机器学习应用时会遇到过度拟合问题没有很好的拟合数据(图一):欠拟合undefitting或高偏差high bias很好的拟合数据(图二):just right过度拟合数据(图三):过拟合overfitting或高方差 high variance 在训练集表现的很好但在测试集表现很烂过拟合可能会在变量features过多的时...原创 2019-10-08 22:01:45 · 201 阅读 · 0 评论 -
【机器学习面试】第一次面试的题目整理
项目项目中任务最难得部分在哪里项目中做了哪些操作防止过拟合简单介绍一下损失函数softmax模型如何评估的(用的准确率)你的精确率很高,你觉得是否存在过拟合为什么使用Adam优化算法,而不使用梯度下降训练集的样本数输出的时候有几层还是直接全连接到输出结点知识点简单介绍CNN卷积是如何计算的召回率计算 100个黑,100个白,前百分之十10个黑,计算召回率输入...原创 2018-08-02 11:12:37 · 386 阅读 · 0 评论 -
【机器学习】TensorFlow (二)优化器Optimizer
昨天整理了一下梯度下降算法及其优化算法,传送门:https://blog.youkuaiyun.com/zxfhahaha/article/details/81385130 那么在实战中我们如何用到这些优化器,今天就整理一下TensorFlow中关于优化器Optimizer的API。 首先要知道的一个类是tf.train.Optimizer,它是Optimizer的基类,这个类我们不会用到,主要用到的是它...原创 2018-08-03 17:48:26 · 1223 阅读 · 0 评论 -
【Python与机器学习】用sklearn的pickle保存训练好的模型
如果我们用机器学习训练了一个非常满意的模型,那么如何保存呢?sklearn中为我们提供了pickle方法,可以把训练好的模型也就是那些参数保存起来。下次使用的时候直接使用pickle.load就可以把保存的模型加载进行进行使用啦 pickle.load原创 2018-04-29 22:44:57 · 2742 阅读 · 0 评论 -
【Python与机器学习】sklearn提高速度
因为sklearn是不能像TensorFlow一样进行GPU计算的,那么为了提高速度,我们可以更改模型的n_jobs参数。 n_jobs参数为用几个核来跑,默认是1。当我们使n_jobs=-1时表示用电脑中的所有核来跑,比如你的电脑是8核的,则用8个核进行并行计算。原创 2018-04-29 22:23:15 · 12779 阅读 · 2 评论 -
【Python与机器学习】5.K-Means聚类
聚类(clustering)什么是聚类聚类属于无监督学习(unsupervised learning),即无类别标记。 是数据挖掘经典算法之一。 算法接收参数k;然后将样本点划分为k个聚类;同一聚类中的样本相似度较高;不同聚类中的样本相似度较小 也就是说它不能自动识别类的个数(因为k要提前指定),随机挑选初始点为中心点计算。算法描述聚类的算法思想就是以空间中k个样本点为中心进行聚类,对最靠近它原创 2018-04-29 21:47:39 · 1732 阅读 · 0 评论 -
【Python与机器学习 7-4】TensorFlow框架及使用
TensorFlow安装普通版本 pip install tensorflowGPU版本 pip install tensorflow-gpu 其它步骤参考https://www.tensorflow.org/installTensorFlow中的三种模式首先我们看一下TensorFlow,把它分开就是Tensor和Flow。 这个Tensor为多维或高维矩阵,TensorFlo原创 2018-05-04 21:42:44 · 499 阅读 · 0 评论 -
【Python与机器学习 7-3】深度学习 CNN
背景对许多机器学习问题来说,特征提取不是一件简单的事情。 人工的方式无法很好地抽取实体中的特征,是否有自动的方式呢? 深度学习解决的核心问题之一就是自动地将简单的特征组合成更加复杂的特征应用领域深度学习 ≈ 深层神经网络 深度学习最早兴起于图像识别,现在还用于语音识别,自然语音处理,人机博弈等领域通过例子介绍CNN是什么下图为用CNN进行手写数字识别的过程,可见我...原创 2018-05-04 19:32:56 · 1342 阅读 · 0 评论 -
【Python与机器学习 7-2】人工神经网络ANN——Backpropagation算法
对于多层神经网络,理论上,如果有足够多的隐藏层和足够多的训练样本,可以拟合出任意方程。 所以现在神经网络才那么火啦~下面我们来看如何设计神经网络的结构设计神经网络结构输入层 特征向量在被传入输入层之前要进行标准化(normalize)到0-1间,为了加速训练过程隐藏层 包括确定网络层数,每层的节点个数。没有明确的规则来确定隐藏层的个数和节点的个数,一般是通过交叉验证的方法确定输出层 神原创 2018-05-04 17:39:29 · 2857 阅读 · 2 评论 -
【机器学习】Tensorflow的reduce_sum()函数
tf.reduce_sum( input_tensor, axis=None, keepdims=None, name=None, reduction_indices=None, keep_dims=None ) reduce_sum是TensorFlow中用来计算张量的某一维度的和,所以知道哪一...原创 2018-08-02 17:24:06 · 2595 阅读 · 0 评论 -
【机器学习】梯度下降算法及梯度优化算法
用于评估机器学习模型的就是损失函数,我们训练的目的基本上都是最小化损失,这个最小化的方式就要用优化算法了,机器学习中最常用的就是梯度下降算法。导数、方向导数和梯度要了解梯度下降算法是什么首要知道梯度是什么,导数和方向导数又是了解梯度的前提。导数 导数反映的是函数y=f(x)在某一点处沿x轴正方向的变化率,如果f’(x)>0,说明f(x)的函数值在x点沿x轴正方向是趋于...原创 2018-08-03 11:56:36 · 8576 阅读 · 0 评论 -
【吴恩达机器学习】第二章 单变量线性回归
模型描述我们知道机器学习可以分为监督学习和无监督学习,简单来讲监督学习就是每个样本都有正确的答案,而无监督学习没有。监督学习又包括了回归问题和分类问题,回归问题就是预测一个具体数值的输出,分类问题就是预测离散值的输出线性回归解决的是最小化问题,接下来我们要学的代价函数和梯度下降函数就为我们提供的是我们要最小化什么以及如何最小化。代价函数 cost function线性回归是要预测一个具...原创 2018-11-21 11:13:03 · 266 阅读 · 0 评论 -
【吴恩达机器学习】第七章 逻辑回归Logistic 回归
分类要预测的y是离散值情况下的分类问题logistic回归是一种分类算法,它的预测值一直介于0和1之间假设陈述将一个logistic function/sigmoid function(logistic function和sigmoid function基本上是同义词)作用到线性回归的假设函数上,就得到了逻辑回归的假设函数hθ(x)=g(θTx)=11+e−θTxh_\theta(x)=...原创 2019-10-01 21:01:11 · 214 阅读 · 0 评论 -
【吴恩达机器学习】第六章 Octave/Matlab教程
基本操作% 是注释语句后面加分号表示不打印结果帮助函数是help 可以输入help 要询问的函数 然后键入q就可以退出who 当前octave在内存中存储的所有变量whos 更详细的显示变量信息clear 变量 删除内存中的此变量基本数学运算逻辑运算变量向量和矩阵①生成矩阵的方法:size() 返回矩阵的大小size(A,1) 返回A矩阵的行数size(A,2)...原创 2019-09-17 21:32:01 · 437 阅读 · 0 评论 -
【吴恩达机器学习】降维
降维是无监督学习问题,降维有两个应用:数据压缩和可视化数据目标一:数据压缩如果特征高度相关,就要降低维数。本节主要是用了两个例子,二维降到一维、三维降到二维,来告诉我们什么是降维。二维降到一维就是把二维的点都映射到一条直线,用一个实数z就可以表示,如下图。三维降到二维就是把三维的点都映射到一个平面,用两个实数z1和z2就可以表示,如下图。降维不仅可以减少内存需求,可以使算法运行的更快...原创 2019-04-05 19:43:14 · 1033 阅读 · 0 评论 -
【吴恩达机器学习】第十四章 无监督学习
课时108 无监督学习什么是无监督学习监督学习是带有标签的,无监督学习没有标签。无监督学习是要将一系列无标签的数据输入到算法中,然后让算法找到一些隐含在数据中的结构。聚类在聚类问题中,我们会给定一组未加标签的数据集,同时希望有一个算法能够自动将这些数据分成有紧密关系的子集或者是簇聚类的用途市场分割:数据库中有些顾客的信息,想把他们根据市场的不同进行分组社交网络分析:找到关系密切的群...原创 2019-03-29 17:45:50 · 314 阅读 · 0 评论 -
【吴恩达机器学习】第十三章 支持向量机SVM
课时101 优化目标SVM和其它算法的区别在监督学习中,很多监督学习算法的性能都很相似,我们考虑的不是选哪个算法,而是选择算法时所使用的数据量,这就体现了应用算法时的技巧,比如你设计的用于学习算法的特征的选择,正则化参数的选择。SVM和神经网络、逻辑回归相比,在学习复杂的非线性方程时能够提供一种更为清晰的方式。优化目标SVM的总体优化目标为:当最小化这个函数的时候,就得到了SVM学习...原创 2019-03-22 00:35:51 · 334 阅读 · 0 评论 -
【吴恩达机器学习】第五章 多变量线性回归
多功能多变量线性回归就是多特征量的情况下的假设形式,也就是用多个变量来预测Y值。下图为多变量线性回归的假设形式,即hθ(x)=θTx=θ0x0+θ1x1+θ2x2+...+θnxnh_θ(x)=θ^Tx=θ_0x_0+θ_1x_1+θ_2x_2+...+θ_nx_nhθ(x)=θTx=θ0x0+θ1x1+θ2x2+...+θnxn (其中x_0=1)多元梯度下降法上一课...原创 2019-01-17 23:07:56 · 687 阅读 · 0 评论 -
【吴恩达机器学习】第一章 绪论:初识机器学习
本来觉得第一章没什么好总结的,总了coursera上第一章的测验题后,我觉得有几个知识点有必要整理一下。机器学习的定义Arthur Samuel将机器学习定义为:在没有被明确设置的情况下,使计算机具有学习能力的研究领域。(这也是测验题第五题的答案)Tom Mitchell将机器学习定义为:计算机程序从经验(Experience)E中学习,解决某一任务(task)T,进行某一性能度量(per...原创 2018-11-30 11:23:07 · 332 阅读 · 0 评论 -
【吴恩达机器学习】第三章线性回归回顾
这一章视频中讲的都是线性代数的基础知识,我将重点总结如下:矩阵向量乘法矩阵向量乘法就是一个矩阵和一个向量相乘,具体做法就不赘述。主要来说一个老师讲到的应用:当我们已经得到通过房子大小来预测价格的函数hθ(x)h_θ(x)hθ(x),现在有一些房子的大小,要通过这个函数进行预测时我们就可以写成矩阵和向量相乘的形式,如下图:这样我们在程序中实现这个过程的时候,想用函数预测,就可以用一行代码...原创 2018-11-30 10:04:03 · 433 阅读 · 0 评论 -
【Python与机器学习 5-4】集成学习 Ensemble learning
集成学习(Ensemble learning)通过构建并结合多个学习器来完成学习任务好的集成,个体学习器应“好而不同”:个体学习器要有一定的“准确性”,并且还要有“多样性”。 集成学习分类集成学习可以分成同质集成和异质集成两大类。同质集成集成中包含同种类型的学习器->“基学习器”(base leaner)异质集成集成中包含不同类型的学习器->“组件学习器”(component leaner)集成策原创 2018-04-26 17:21:35 · 1577 阅读 · 0 评论 -
【Python与机器学习 7-1】人工神经网络 ANN——MLP
神经网络基本组成神经网络由输入层(input layer),隐藏层(hidden layers),输出层(output layer)三部分组成,如下图。 输入层(input layer)是由训练集的样本特征向量传入。 每层由神经元(neuron)或单元(unit)组成。 经过连接节点的权重(weight)传入下一层,上一层的输出是下一层的输入,一层中的加权求和,然后根据非线性方程转化为下一原创 2018-05-04 15:59:26 · 11703 阅读 · 3 评论 -
【Python与机器学习 3-3】pandas绘图
pandas可以根据dataframe的信息直接进行可视化可用的绘图样式plt.style.available #查看可用的绘图样式plt.style.use('seaborn-colorblind') #设置绘图样式dataframe绘图 df.plot(kind=) kind用于指定绘图的类型 数据np.random.seed(100)df = pd.DataFrame({'A'原创 2018-04-12 09:18:24 · 730 阅读 · 0 评论 -
【Python与机器学习1 】 Python基础知识与Numpy
【Python与机器学习】Python基础知识与Numpykappa上可以获取数据在jupyter中打开老师给的代码时,在终端输入jupyter notebook TensorFlow 谷歌的用来做机器学习的框架下载anaconda里没有的包 Python技巧①条件表达式 y=math.log(x) if x>0 else float('nan'...原创 2018-03-29 10:56:55 · 375 阅读 · 0 评论 -
【Python与机器学习3-2】matplotlib数据分析常用图表的绘制
子图 plt.subplots()在一张图里显示多个子图 plt.subplots(几行,几列,第几幅图)保证子图中坐标范围一致使某个figure中的所有子图共享一个坐标轴的方法:加sharey前一个坐标轴 ax1=plt.subplots(1,2,1) ax2=plt.subplots(1,2,2,sharey=ax1)绘制多个图fig, ((ax1, ax2, ax3), (a原创 2018-04-11 17:29:16 · 586 阅读 · 0 评论 -
【Python与机器学习 3-5】绘制可交互式图表
d3.jsD3(Data-Driven Documents),被数据驱动的文档。是一个用动态图形显示数据的JavaScript库,一个数据可视化的工具。d3的python 接口为mpld3将Matplotlib和D3js结合起来的基于Python的可视化工具。安装 pip install mpld3实现可交互插件 from mpld3 import plugi...原创 2018-04-11 16:21:52 · 4512 阅读 · 1 评论 -
【Python与机器学习 3】 数据可视化-Matplotlib基本图表的绘制及应用场景
基本图表的绘制及应用场景Matplotlib目的是为Python构建一个Matlab式的绘图接口Matplotlib如何显示中文pyplotpyplot模块包含了常用的matplotlib API函数 import matplotlib.pyplot as pltplt.plot() 绘制单个点plt.figure()plt.plot(1.5, 1.5,...原创 2018-04-11 00:01:20 · 1363 阅读 · 0 评论 -
【Python与机器学习2-4】 pandas与透视表
pandas中透视表的使用 df.pivot_table(values, index, columns, aggfunc, margins)•values: 透视表中的元素值(根据聚合函数得出的) •index:透视表的行索引 •columns:透视表的列索引 •aggfunc:聚合函数,可以指定多个函数 •margins:表示是否对所有数据进行统计举一个例子...原创 2018-04-08 11:12:25 · 452 阅读 · 0 评论 -
【Python与机器学习2-3】pandas包 数据合并分组
合并pd.concat数据的列名完全一样只是数据不一样 如df1,df2,df3分别为3个季度的数据,则先把它们放到列表里用pd.concat就会合并成一个数据pd.concat([df1,df2,df3])pd.concat对应于numpy的np.concatnate 列数相同时,竖直方向合并 axis=0 行数相同时,水平方向合并 axis=1pd.mer...原创 2018-04-08 10:59:24 · 633 阅读 · 0 评论 -
【Python与机器学习2-2】pandas与数据清洗
处理缺失数据判断数据缺失 isnulllog_data = pd.read_csv('log.csv') #读取数据log_data.isnull() #判断数据缺失,结果为缺失的地方为TRUElog_data['paused'].isnull() #判断某一列判断数据缺失后,就可以通过布尔过滤过滤出来不为空的数据log_data[log_data['volume'...原创 2018-04-07 21:33:49 · 1023 阅读 · 0 评论 -
【Python与机器学习3-4】Seaborn绘图
seaborn的特点在Matplotlib上构建,支持numpy和pandas的数据结构可视化,甚至是scipy 和statsmodels的统计模型可视化 •多个内置主题及颜色主题 •可视化单一变量、二维变量用于比较数据集中各变量的分布情况 •可视化线性回归模型中的独立变量及不独立变量 •可视化矩阵数据,通过聚类算法探究矩阵间的结构 •可视化时间序列数据及不确定性的展示 •可在分割区域制原创 2018-04-12 10:34:13 · 1291 阅读 · 0 评论 -
【Python与机器学习2-1】pandas 基本数据对象及操作
series 相当于一维数组要有向量化操作思想 - series是类似一维数组的对象,即一个列向量 - 初始化series ①通过列表初始化series,默认数字为索引ser_obj=pandas.Series(list) ②通过字典初始化series,字典的key为索引country_dicts = {'CH': '中国', ...原创 2018-04-06 23:38:49 · 612 阅读 · 0 评论 -
【Python与机器学习 4-1】 机器学习基本概念和流程
机器学习基本概念机器学习可以通过有无标签划分为监督学习和非监督学习 最后要预测什么什么就是标签监督学习:学习的是带有标记的数据非监督学习:学习的是未被标记的数据机器学习问题的表示1.根据n个独立同分布观测样本确定预测函数 独立同分布是机器学习的前提,同分布是指数据的分布是相同的,独立是指数据之间相互不影响。但是实际的数据中有很多不符合独立同分布,比如视频。 2.在一...原创 2018-04-13 11:03:10 · 475 阅读 · 0 评论 -
【Python机器学习 5-3】模型评价指标及模型选择
评估模型不同的应用有着不同的目标,不同的评价指标模型评价指标准确率准确率越高,模型不一定越好准确率是常见的一种评估模型,但是准确率越高模型不一定越好。举个例子假设,在1000个样本中,有999个正样本,1个负样本(不均衡数据集) 如果全部预测正样本,就可以得到准确率99.9%! 这样的场景有:信用卡欺诈检测,离职员工检测等。 有些任务更关心的是某个类的准确率,而非整体的准确率。 比如预测病人是原创 2018-04-25 19:29:20 · 8714 阅读 · 0 评论 -
【python与机器学习 5-2】参数调整——交叉验证和网格搜索
模型参数机器学习中有两种类型的模型参数,分为模型自身参数和超参数模型自身参数模型自身参数,通过样本学习得到的参数。 如:逻辑回归及神经网络中的权重及偏置的学习等超参数超参数是模型框架的参数,通常由手工设定。 如kmeans中的k,神经网络中的网络层数及每层的节点个数。调参调的都是k,c这样的超参数。调整参数我们知道进行机器学习最重要的就是调整参数得到好的学习模型,这里调整参数指的就是超参数原创 2018-04-25 17:35:53 · 8707 阅读 · 0 评论 -
【Python与机器学习 4-6】决策树(西瓜书第四章)
算法思想决策树模型就是通过特征点构造一个决策树(根据特征回答是和否的问题),把最重要的特征也就是对分类最明显的特征放在上面,构建一个树,预测类别时我们走完一遍树也就可以预测出类别了.通过决策树可以得到特征的重要性得分构建树的过程从根节点开始,计算所有特征值的信息增益(信息增益比),选择计算结果最大的特征作为根节点根据算出的特征建立子节点,执行第1步,直到所有特征的信息增益(信息增益比)很小或没有原创 2018-04-20 18:51:51 · 1248 阅读 · 0 评论 -
【Python与机器学习 4-5】 SVM(support vector machines) 支撑向量机
算法思想找到一个可以分割两类类别的边界,这个边界其实有很多条,如何找到最优的边界呢?间隔分类器间隔: 分类边界可以扩展到样本点的最大宽度。 最大间隔分类器:在样本中能够达到最大间隔的线性分类器被称为线性SVM (Linear Support Vector Machine, LSVM)SVM 正则项C值越大,入越小,正则化越弱 ,容忍的错误越小-> narrow margin,即间隔更窄,也就是新来原创 2018-04-20 18:40:39 · 297 阅读 · 0 评论 -
【Python与机器学习4-4】线性回归和逻辑回归
线性回归和逻辑回归线性模型 线性模型:给定一个测试样本,通过加权求和该样本的特征值计算其结果并作为预测值。 例如通过房子的两个特征 每年的房产税(XTAX)和房屋年龄(XAGE),预测房子的价格。 则先通过这二维特征学出来一个式子,然后有新的房产税和房屋年龄数据时,把数据代进式子中得到的结果即预测的房屋价格线性回归线性回归问题学习也就是学出来模型的参数 例子: ...原创 2018-04-20 11:23:16 · 1508 阅读 · 1 评论 -
【Python与机器学习4-3】KNN(k-NearestNeighbor),k-近邻算法
KNN算法算法思想,步骤计算出测试样本和所有训练样本的距离; 为测试样本选择k个与其距离最小的训练样本; 统计出k个训练样本中大多数样本所属的分类;这个分类就是待分类数据所属的分类需要明确的问题相似性度量,计算距离有很多种方法,常用的有欧氏距离等紧邻点个数,通过交叉验证得到最优紧邻点个数kNN优缺点优点•算法简单直观,易于实现 •不需要额外的数据,只依靠数据(样本)本身缺点•计算量原创 2018-04-20 11:05:26 · 192 阅读 · 0 评论 -
【Python机器学习4-2】 Python机器学习库scikit-learn
scikit-learn是面向Python的免费机器学习库 由于机器学习算法很多,没有时间研究哪个好,可以用Python机器学习库scikit-learn中的算法先跑一下看哪个好,然后再研究他为啥好scikit-learn中包含什么包含分类、回归、聚类算法,比如:SVM、随机森林、k-means等包含降维、模型筛选、预处理等算法支持NumPy和SciPy数据结构scikit-learn安装原创 2018-04-20 10:43:37 · 626 阅读 · 0 评论