自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

柳成荫

生活像一盘草莓,有烂又甜,吃着吃着心甘也情愿。放下吧,那些笨重又随大流的执念,双手摊开好好领略。

  • 博客(42)
  • 收藏
  • 关注

原创 NLP—语言模型评价指标—Perplexity

语言模型(Language Model,LM),给出一句话的前k个词,希望它可以预测第k+1个词是什么,即给出一个第k+1个词可能出现的概率的分布p(xk+1|x1,x2,…,xk)。在报告里听到用PPL衡量语言模型收敛情况,于是从公式角度来理解一下该指标的意义。Perplexity定义PPL是用在自然语言处理领域(NLP)中,衡量语言模型好坏的指标。它主要是根据每个词来估计一句话出现的概率...

2019-11-02 09:59:33 4380 2

原创 深度学习—tensorflow—线性回归

# -*- coding: utf-8 -*-import tensorflow as tfimport matplotlib.pyplot as pltimport numpy as np#"6个点的横坐标" 常量x=tf.constant([1,2,3,4,5,6],tf.float32)#"6个点的纵坐标" y=tf.constant([3,4,7,8,11,14],tf.f...

2019-09-09 20:33:17 229

原创 机器学习—高斯混合模型(GMM)

一、高斯混合模型定义1、 高斯混合模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,它是一个将事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。2、 GMM的直观理解二、求解GMM参数为什么需要用EM算法?总所周知,求解GMM参数使用EM算法。但是为什么呢?这样是必须的吗?首先,类似于其他的模型求解,我们先使用最大似然估计来尝试求解GMM的参数。如下:可以看...

2019-08-21 20:04:18 1969

原创 机器学习—EM算法—期望极大算法(Expectation Maximization)

标题

2019-08-21 19:29:52 560

原创 机器学习—k-means、k-means++以及k-means||算法分析

一、k-means1、简述K-Means是一种无监督学习算法。算法的思想很简单,对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。2、K-means算法基本思路是:首先选择好将数据分成k类,然后随机初始化k个点作为中心点。对于每一个数据点,选取与之距离最近的中心点作为自己的类别。当所有数据点都归类完毕后,调...

2019-08-20 20:06:29 3285 1

原创 机器学习—sklearn—cross_val_score和GridSearchCV的区别

一、模型评估图片来源《Python大战机器学习》1、留出法2、交叉验证法3、留一法4、自助法二、cross_val_score(选出最优评分的模型)三、GridSearchCV(暴力搜索选出最优参数)四、小结cross_val_score :一般用于获取每折的交叉验证的得分,然后根据这个得分为模型选择合适的超参数,通常需要编写循环手动完成交叉验证过程;Grid...

2019-08-18 20:23:49 3533

原创 机器学习—集成学习(Ensemble Learning)

一、集成学习简介定义集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法。一般情况下,集成学习中的多个学习器都是同质的"弱学习器"。思想集成学习是训练一系列学习器,并使用某种结合策略把各个学习结果进行整合,从而获得比单个学习器更好的学习效果的一种方法。如果把单个学习器比作一个决策者的话,集成学习的方法就相当于多个决策者...

2019-08-16 19:59:13 805

原创 朴素贝叶斯与逻辑回归有什么异同

朴素贝叶斯与逻辑回归有什么异同1、上述链接大佬详细的介绍了朴素贝叶斯、逻辑回归的由来。2、在B站李宏毅老师机器学习课中第4讲Classification中提到了从贝叶斯公式推导出逻辑函数的激活函数Sigmoid函数3、区别朴素贝叶斯:条件独立性假设: 特征之间互相独立,没有耦合,互不干扰。因为有条件独立假设,朴素贝叶斯可以不使用梯度下降,而直接通过统计每个特征的逻辑发生比来当做权重。...

2019-08-14 10:35:26 4701

原创 机器学习—有监督学习—朴素贝叶斯(代码实现)

一、朴素贝叶斯模型(Naive Bayesian Model,NBM)朴素贝叶斯中的朴素一词的来源就是假设各特征之间相互独立。这一假设使得朴素贝叶斯算法变得简单,但有时会牺牲一定的分类准确率。1、条件概率设A,B为任意两个事件,若P(A)>0,我们称在已知事件A发生的条件下,事件B发生的概率为条件概率,记为P(B|A),并定义2、全概率公式如果P(Ai)>0,则对任一事...

2019-08-13 20:12:25 1983

原创 加载数据—处理数据—选择最优模型—选择最优参数—输出评估指标

数据文件不会上传import pandas as pdimport matplotlib.pyplot as pltplt.rcParams["font.sans-serif"]=["SimHei"]plt.rcParams["axes.unicode_minus"]=Falsefrom sklearn.model_selection import train_test_splitfr...

2019-08-12 20:30:09 1415

原创 机器学习—有监督学习—KNN-K近邻法(k-NearestNeighbor)

一、KNN简介KNN(K-Nearest Neighbor) 最邻近分类算法是数据挖掘分类(classification)技术中最简单的算法之一,其指导思想是”近朱者赤,近墨者黑“,即由你的邻居来推断出你的类别。实现原理:为了判断未知样本的类别,以所有已知类别的样本作为参照,计算未知样本与所有已知样本的距离,从中选取与未知样本距离最近的K个已知样本,根据少数服从多数的投票法则(majority...

2019-08-12 16:43:48 1002

原创 机器学习—交叉熵代价函数—极大似然估计推导

一、极大似然估计首先得知道什么是极大似然估计吴恩达老师在公开课直接给出交叉熵代价函数并简单解释了交叉熵代价函数作为逻辑回归代价函数的合理性,在周志华老师的《机器学习》教材中,从极大似然估计角度详细证明了交叉熵代价函数的推导。二、逻辑回归模型周志华老师从模型开始详细的介绍了逻辑回归的由来与其实质。加入Sigmoid函数后得出而在经过进一步的计算y=0和y=1时的概率最终某样本属于...

2019-08-09 17:01:19 2350

原创 机器学习—分类模型评估—准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure

分类模型评估假设我们手上有60个正样本,40个负样本,我们要找出所有的正样本。利用分类模型显示找出50个正样本,但是其中只有40个是真正的正样本。作为评估者的你需要来评估(evaluation)下该模型的工作。由题意得出:TP: 将正类预测为正类数 40---- (50个预测结果中真正是正类的有40个)FN: 将正类预测为负类数 20 ----(60个正样本中其实只找出了40个)...

2019-08-09 15:13:57 11316

原创 机器学习—数学基础—极大似然估计

一、原理举例:设甲箱中有99个白球,1个黑球;乙箱中有1个白球.99个黑球。现随机取出一箱,再从抽取的一箱中随机取出一球,结果是黑球,这一黑球从乙箱抽取的概率比从甲箱抽取的概率大得多,这时我们自然更多地相信这个黑球是取自乙箱的。一般说来,事件A发生的概率与某一未知参数θ有关,参数θ取值不同,则事件A发生的概率P也不同,当我们在一次试验中事件A发生了,则认为此时的θ值应是t的一切可能取值中使P...

2019-08-09 09:11:13 407

原创 机器学习—保存模型、加载模型—Joblib

Joblib描述Joblib是一组用于在Python中提供轻量级流水线的工具。特点:·透明的磁盘缓存功能和懒惰的重新评估(memoize模式)·简单的并行计算Joblib可以将模型保存到磁盘并可在必要时重新运行:代码实现#加载模块from sklearn.datasets import load_irisimport joblibfrom sklearn.linear_mode...

2019-08-08 19:36:04 33392

原创 机器学习—回归模型—逻辑回归、最小二乘回归、岭回归、套索回归、弹性网回归

回归模型目标函数一、岭回归模型1、介绍Ridge/RidgeCV:使用结构风险最小化=损失函数(平方损失)+正则化(L2范数)Ridge 回归通过对系数的大小施加惩罚来解决 普通最小二乘法 的一些问题。 岭系数最小化的是带罚项的残差平方和,其中,α≥0α≥0 是控制系数收缩量的复杂性参数: αα 的值越大,收缩量越大,这样系数对共线性的鲁棒性也更强。2、导库实现导库from ...

2019-08-07 20:52:24 3988 3

原创 机器学习—正则化方法—L1正则化、L2正则化

1、L1正则化(稀疏矩阵)权值向量w中各个元素的绝对值之和:2、L2正则化(权重衰减)权值向量w中各个元素的平方和:3、L1正则化 VS L2正则化L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择L2正则化可以防止模型过拟合(overfitting)问:为什么 L1 正则可以产生稀疏模型(很多参数=0),而 L2 正则不会出现很多参数为0的情况?对于...

2019-08-07 19:31:57 1364

原创 机器学习—特征工程—多项式拓展

多项式拓展库:sklearn.preprocessing.PolynomialFeatures1、PolynomialFeatures内部参数:degree:控制多项式的度interaction_only: 默认为False,如果指定为True,那么就不会有特征自己和自己结合的项,以ab两项为例的话,拓展出的项就没有a^2和b^2。include_bias:默认为True。如果为Tr...

2019-08-07 16:58:01 867

原创 机器学习—特征工程—OneHotEncoder独热编码

独热编码一、为什么要独热编码?独热编码(是因为大部分算法是基于向量空间中的度量来进行计算的,为了使非偏序关系的变量取值不具有偏序性,并且到原点是等距的。使用one-hot编码,将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点。将离散型特征使用one-hot编码,会让特征之间的距离计算更加合理。离散特征进行one-hot编码后,编码后的特征,其实每一维度的特征都可以看做...

2019-08-07 15:46:34 3345

原创 机器学习—损失函数、代价函数、目标函数

一、损失函数(Loss Function)定义在单个样本上,算的是一个样本的误差。比如:二、代价函数(Cost Function)代价函数(Cost Function)定义在整个训练集上,是所有样本误差的平均,也就是损失函数的平均,比如:三、目标函数(Object Function)目标函数(Object Function)是最终需要优化的函数。即:经验风险+正则化项(Cost F...

2019-08-06 19:14:40 321

原创 机器学习—梯度下降—批量梯度下降法、随机梯度下降法、小批量梯度下降法

一、批量梯度下降法(Batch Gradient Descent,BGD)有N个样本,求梯度的时候就用了N个样本的梯度数据优点:准确 缺点:速度慢二、随机梯度下降法(Stochastic Gradient Descent,SGD)和批量梯度下降法原理类似,区别在于求梯度时没有用所有的N个样本的数据,而是仅仅选取一个样本来求梯度优点:速度快 缺点:准确度低三、小批量梯度下降法(Mini-...

2019-08-06 17:01:13 1642 1

原创 机器学习—数据压缩(PCA)—特征值分解、奇异值分解+代码理解

一、特征值1、特征值分解如果说一个向量v是方阵A的特征向量,将一定可以表示成下面的形式子 : Av = λv这时候λ就被称为特征向量v对应的特征值,一个矩阵的一组特征向量是一组正交向量。特征值分解是将一个矩阵分解成下面的形式:其中W是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每一个对角线上的元素就是一个特征值,里面的特征值是由大到小排列的,这些特征值所对应的特征向量就是描述这个矩阵...

2019-08-05 20:57:56 3111 1

原创 机器学习—数学基础—导数、偏导、方向导数、梯度、梯度下降

一、导数导数反映的是函数y=f(x)在某一点处沿x轴正方向的变化率(切线斜率)。导数值越大,表示函数在该点处的变化越大。定义:当函数y=f(x)在自变量x=x0上产生一个增量Δx时,函数输出值的增量Δy和自变量增量Δx之间的比值在Δx趋近与0的时候存在极限值a,那么a即为函数在x0处的导数值。二、偏导在多元函数中,偏导数指的是函数y(x1,x2,…,xn)沿某一坐标轴(x1,x2,…...

2019-08-05 15:52:47 2787

原创 机器学习—pandas—新手入门(例题+代码实现)

一、例题1、请使用Pandas工具库对数据集“data1.xls”进行相关的数据处理。数据集“data1.xls”介绍:数据集共有7列数据,7列数据分别代表的是:贷款号、账户号、发放贷款日期、贷款金额、每月归还款、还贷状态。题目要求:① 导入必要的库。(6分)② 读入数据集。(6分)③ 按“发放贷款日期”降序,“贷款金额”升序打印输出,新增一列“每月归还额= 贷款金额/贷款期限”。(...

2019-08-02 21:01:45 928

原创 机器学习—数据预处理—pandas库

新建dataframeimport pandas as pda = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]])print(a)a = pd.DataFrame([[1,2,3], [4,5,6], [7,8...

2019-08-02 19:21:49 310

原创 机器学习—pandas—OSError: Initializing from file failed 报错处理

代码# 读取csv文件import pandas as pddf = pd.read_csv("G:\机器学习2\datas\hour.csv", sep=",")print(df)运行OSError Traceback (most recent call last)<ipython-input-65-091...

2019-08-02 16:54:32 452

原创 机器学习—有监督学习—决策树(入门理解与调库代码实现)

一、决策树基本术语二、使用决策树进行预测决策树可以进行分类和预测。具体过程如下。当构建好决策树后,当有新的信息发送时,利用已有的决策树逻辑对新的信息结构进行判断。当信息的内容与决策树一致时,就进入下一分支进行判断,并通过叶子节点获得分类的结果。三、决策树常用算法1、ID3算法ID3是基本的决策树构建算法,作为决策树经典的构建算法,其具有结构简单、清晰易懂的特点。虽然ID3比较灵活方...

2019-07-27 11:20:50 627

原创 机器学习—无监督学习—降维(简单入门与调库实现)

一、降维—数据压缩这样做的问题在于,降维的算法只负责减少维数,新产生的特征的意义就必须由我们自 己去发现了。二、主成分分析—PCA主成分分析(PCA)是最常见的降维算法在PCA中,要做的是找到一个方向向量(Vector direction),当把所有的数据都投射到该向量上时,希望投射距离均方差能尽可能地小。方向向量是一个经过原点的向量,而投射误差是从特征向量向该方向向量作垂线的长度...

2019-07-27 10:35:39 761

原创 机器学习—无监督学习—聚类(简单入门与调库实现)

一、非监督学习在有监督学习中,我们通过一个有标签的训练集,找到能够区分正样本和负样本的决策边界,通过一系列标签拟合一个假设函数。而非监督学习中,数据没有附带任何标签,我们要将一系列无标签的训练数据,输入到一个算法中,然后我们告诉这个算法,快去为我们找找这个数据的内在结构给定数据。这就需要某种算法帮助我们寻找这种结构。而能够把一个区域内的数据圈出一个个点集(簇)的算法,就是聚类算法。二、 K-均...

2019-07-27 09:47:26 385

原创 机器学习—有监督学习—支持向量机(入门理解与调库代码实现)

一、支持向量机定义:Support Vector Machines :支持向量机是主要用于解决分类问题的学习模型。其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次优化问题的求解。或者简单的可以理解为就是在高维空间中寻找一个合理的超平面将数据点分隔开来,其中涉及到非线性数据到高维的映射以达到数据线性可分的目的。二、由逻辑回归的...

2019-07-27 09:05:50 931

原创 机器学习—8个算法—简单总结(适合我的总结,非正式,谨慎点开)

1、单变量线性回归代价: J = 1.0/(2*m)*np.sum(np.square(h-y))梯度: deltatheta = (1.0/m)*np.dot(X.T,h-y)精度: u = np.sum(np.square(h-y)) v = np.sum(np.square(y-np.mean(y)))画图: ...

2019-07-26 20:47:50 427 1

原创 机器学习—算法性能—诊断法(高偏差、高方差、过拟合问题+典型例题)

高偏差、高方差、过拟合

2019-07-26 19:35:48 1649

原创 机器学习—神经网络算法—调sklearn库实现(Accuracy、Precision、Recall、F1-score)

关于神经网络算法的推导及手写底层的实现,在下面的超链接中详细的总结了,现在我们来用sklearn库来快速实现神经网络算法的操作。神经网络算法的推导及手写代码实现1、神经网络算法的调库实现import matplotlib.pyplot as pltimport numpy as np#导入sklearn.neural_network库from sklearn.neural_netwo...

2019-07-26 16:04:37 3906

原创 机器学习—线性回归—正规方程(原理及代码实现)

一、正规方程的引入当我们求解线性回归问题时引入梯度下降算法的目的是,为了找到代价函数的最小值,也就是代价函数曲线的最低点,如图:那么当对于某些线性回归问题,我们可不可以直接让代价函数对参数θ求的偏导等于0,来算出代价函数最小时的参数呢?这就引出了正规方程。二、正规方程怎么算1、代价函数线性回归模型的代价函数为误差平方和代价函数,如下2、梯度下降梯度下降对参数θ求偏导得出:如若...

2019-07-25 23:00:23 6189

原创 机器学习—回归算法—正则化(原理及代码实现)

1、问题由来1、线性回归过拟合(房价预测)由上图可看,第一个模型是一个线性模型,欠拟合,不能很好地适应我们的训练集;第三个模型是一个四次方的模型,过于强调拟合原始数据,而丢失了算法的本质:预测新数据;中间的模型似乎最合适。2、逻辑回归过拟合(分类问题)就以多项式理解,x的次数越高,拟合的越好,但相应的预测的能力就可能变差。2、正则化在事例中看出,由于那些高次项导致了过拟合的产...

2019-07-25 07:54:27 4068

原创 机器学习—有监督学习—神经网络算法(推导及代码实现)

初识神经网络1、神经网络模型如图所示,神经网络模型分为:输入层、中间层(隐藏层)、输出层。神经网络模型是逻辑单元按照不同层级组织起来的网络,每一层的输出变量都是下一层的输入变量。神经网络模型由多个神经元组成,而每个神经元是一个个学习模型,这些神经元又叫激活单元,使用Sigmoid函数激活作为下一层的输入。神经网络本质:逻辑回归单元的叠加。2、前向传播算法( FORWARD PROPA...

2019-07-24 17:45:37 9070 3

原创 机器学习—有监督学习—逻辑回归(推导及代码实现)

1、逻辑回归简述逻辑回归算法是目前使用最为广泛的一种学习算法,用于解决分类问题。与线性回归算法一样,也是监督学习算法。不用线性回归的原因是,分类问题,y的取值为0或1,如果使用线性回归,那么线性回归模型的输出值可能远大于1,或者远小于0,会导致代价函数很大。在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是...

2019-07-23 23:09:25 3170 13

原创 机器学习—数据预处理—特征缩放

一、为什么特征缩放在面对多维特征问题的时,有时特征数据数据值相差过大,如在运用多变量线性回归预测房价模型中,房屋面积和卧室个数这俩个特征之间数值相差大,而要保证这些特征都具有相近的尺度,就要进行特征缩放,这能帮助梯度下降算法更快地收敛。如图:二、特征缩放常用的方法特征缩放思想: 确保这些特征都处在一个相近的范围。下面介绍俩种常用的特征缩放方法。1、归一化特征缩放(0-1缩放)在不涉...

2019-07-21 11:49:59 1813 1

原创 机器学习—有监督学习—多变量线性回归(推导及代码实现)

一、多变量线性回归简述1、多维特征多变量线性回归模型是单变量线性回归的基础上增加了更多的特征,我们生活中需要解决的问题往往都是受多种因素所影响,而引入这些特征后得出的模型适用性更高,以房价预测模型为例。引入房屋尺寸、卧室数量、楼层等多个特征对我们数据集的影响:2、代价函数与单变量线性回归一样,在多变量线性回归中,我们也构建一个代价函数,则这个代价函数是所有建模误差的平方和。而我们的目的...

2019-07-21 11:19:49 3426 4

原创 机器学习—有监督学习—单变量线性回归(推导及代码实现)

简单线性回归—代码实现导库import numpy as npimport matplotlib.pyplot as plt读取数据# data = np.loadtxt(r'\train_data.txt',delimiter=',')#可使用loadtxt()函数读取txt文档,delimiter=','代表以逗号分隔开为了数据便于...

2019-07-18 23:05:26 1782

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除