![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 91
火烫火烫的
https://github.com/FlameCharmander/MachineLearning
求赞,谢谢!
展开
-
《统计学习方法》 朴素贝叶斯 贝叶斯估计 Python实现
《统计学习方法》 朴素贝叶斯 贝叶斯估计 Python实现为了解决极大似然估计会出现概率值为0的情况,我们采用贝叶斯估计解决这个问题。原创 2017-08-19 10:36:10 · 2158 阅读 · 2 评论 -
【自然语言处理】基于双向LSTM(Bi-LSTM)文本分类的Tensorflow实现
Github:Github下载地址RNN在自然语言处理的文本处理上取得了很大的成功。双向LSTM可以捕获上下文的内容,从而使得分类效果更佳。在本文的这次分类中,本文使用了IMDB电影评价的数据集,最终的模型可以将正面情感和负面情感通过双向LSTM给分类出来。原创 2019-02-25 14:09:02 · 8309 阅读 · 5 评论 -
【机器学习】Softmax回归 Python实现
前言常常会遇到需要多分类的问题,比如手写体识别,你需要识别手写的数字是几(0~9),比如文本生成,你需要知道生成的是哪个字,都需要进行多分类。那么我们最常用的多分类函数就是softmax了。接下来本文将会实现一个softmax来进行手写体识别。数据集本次的数据集分为训练集:文件名为”trainingDigits”和测试集:文件名为”testDigits”,每个文件夹里面有txt文件若干...原创 2018-05-24 16:28:02 · 15032 阅读 · 17 评论 -
【统计学习方法】隐马尔可夫模型(HMM) Python实现
前言隐马尔可夫模型在自然语言处理等各领域中,经常被用来处理标注问题。 隐马尔可夫模型由初始状态概率向量ππ\pi 、状态转移概率矩阵A和观测概率矩阵B决定。其中ππ\pi和A决定状态序列,B决定观测序列。 λ=(A,B,π)λ=(A,B,π)\lambda=(A,B,\pi) A=[aij]N×NA=[aij]N×N{\rm{A = }}{\left[ {{a_{ij}}}...原创 2018-05-04 21:39:41 · 4797 阅读 · 0 评论 -
《统计学习方法》 最大熵模型 Python实现
最大熵原理最大熵原理在满足已知约束的条件下,对未知的部分都是“等可能的”,也就是概率相等。通过书中的例6.1来看下。 例6.1 假设随机变量X有5个取值{A, B, C,D, E},要估计各个值的概率P(A), P(B), P(C), P(D), P(E). 解: 这些概率值满足以下约束条件:原创 2017-08-26 10:46:08 · 1786 阅读 · 2 评论 -
【统计学习方法】 支持向量机(SVM) Python实现
支持向量机,一个理论先于实践的产物,由Corinna Cortes和Vapnik等在1995年首次提出的,取得了非常好的效果。 SVM分为线性可分(又可分硬间隔与软间隔)和线性不可分的问题,线性不可分可通过核函数进行映射到空间里,从而线性可分。线性可分支持向量机模型:f(x)=sign(w⋅x+b)f(x)=sign(w⋅x+b)f\left( x \right) = sign\le...原创 2019-05-23 08:46:15 · 2897 阅读 · 4 评论 -
【统计学习方法】感知机Python 原始形式实现
前言代码可在Github上下载:(https://github.com/FlameCharmander/MachineLearning)感知机作为一个二分类模型,在1957年由Rosenblatt提出,是感知机是支持向量机SVM和神经网络的一个基础。目的是通过将一个实例(比如一个西瓜是否好坏)进行分类,输入的是实例特征向量,输出的是实例的类别。紧记机器学习三要素:模型,策略,算法。...原创 2017-08-15 16:12:54 · 2985 阅读 · 3 评论 -
【统计学习方法】感知机Python 对偶形式实现
代码可在Github上下载:(https://github.com/FlameCharmander/MachineLearning)前言上篇博文感知机的原始形式提到了感知机的原始形式,而这篇博文介绍的是感知机的对偶形式。算法理论感知机的原始形式提到的参数更新:\[\begin{array}{l}w \leftarrow w + \eta {y_i}{x_i}\\b \lef...原创 2017-08-15 19:54:36 · 2783 阅读 · 0 评论 -
【统计学习方法】k近邻 kd树的python实现
前言代码可在Github上下载:代码下载k近邻可以算是机器学习中易于理解、实现的一个算法了,《机器学习实战》的第一章便是以它作为介绍来入门。而k近邻的算法可以简述为通过遍历数据集的每个样本进行距离测量,并找出距离最小的k个点。但是这样一来一旦样本数目庞大的时候,就容易造成大量的计算。所以需要将数据用树形结构存储,以便快速检索,这也就是本文要阐述的kd树。实现分为两部分,一个是k...原创 2017-08-17 15:22:35 · 9463 阅读 · 44 评论 -
《统计学习方法》 朴素贝叶斯 极大使然估计 Python实现
代码可在Github上下载:(https://github.com/FlameCharmander/MachineLearning)前言使用贝叶斯法来进行分类,我们的模型就是\(f(x)=\mathop {\arg \max }\limits_{{c_k}} P\left( {Y = {C_k}|X = x} \right)\)(后验概率P(隐变量|观测变量)。算法理论先介绍贝叶斯...原创 2017-08-18 20:33:17 · 2605 阅读 · 2 评论 -
《统计学习方法》 决策树 ID3和C4.5 生成算法 Python实现
在博主刚接触编程的时候,曾经想过一个如何实现聊天机器人,当时最直接的想法是打算用if-else来做(事实上真用VB实现了一个简单的以自嗨)。而今天的决策树就是可以视为一种if-else的集合。而决策树的可以用来分类也可以用来完成回归任务。本部分介绍的决策树实现了ID3和C4.5算法。两者算法差别在于一个使用了信息增益一个使用了信息增益比。原创 2019-05-17 23:33:53 · 5098 阅读 · 5 评论 -
《统计学习方法》 决策树 CART生成算法 回归树 Python实现
先说明一下在看《统计学习方法》Cart回归树的时候懵懵的,也没又例子。然后发现《机器学习实战》P162有讲到这个,仔细看了一下。 所以这下面是《机器学习实战》的代码,但书上没有什么原理,如果不太懂原理的话,会有点难以理解。而它的实现就是《统计学习方法》P69的算法5.5(最小二乘回归树的生成算法)。引用《统计学习方法》P69的算法5.5 输入:训练数据集 D; 输出:回...原创 2017-08-23 15:21:27 · 3727 阅读 · 6 评论 -
【统计学习方法】 逻辑斯谛回归(Logistic Regression) Python实现
代码可在Github上下载:[代码下载](https://github.com/FlameCharmander/MachineLearning)今天看了一下《统计学习方法》里的逻辑斯谛回归,结合下《机器学习实战》里面的代码,很精炼。公式如下:模型:> $P(Y=1|x)=\frac {exp(w\cdot x+b)}{1+exp(w\cdot x+b)}$> $P(Y=0|x)=1-P(Y=1|x)=\frac {1}{1+exp(w\cdot x+b)}$策略:对数损失函数算法:梯度下降算法原创 2019-05-22 09:37:45 · 3694 阅读 · 2 评论 -
【统计学习方法】 Adaboost算法 Python实现
前言 俗话说三个臭皮匠,顶个诸葛亮。应用在机器学习里面讲就是多个弱分类器,通过组合可以变成一个强分类器,这也便是集成学习的思想。今天所要讲的Adaboost(自适应提升)算法便是种思想的一种代表算法。Adaboost不同于SVM,是一种实践优先于理论的一种产物,是先发现这种算法有效,后来人们不断研究,用前向加法模型来证明它,为何会这种算法是有效的。算法 首先先来看下P138的算...原创 2017-09-25 12:55:59 · 2685 阅读 · 1 评论 -
【统计学习方法】 决策树 CART生成算法 分类树 Python实现
代码可在Github上下载:[代码下载](https://github.com/FlameCharmander/MachineLearning)Cart(Classification and regression tree)分类与回归树,是一种可以用来分类或者回归(属性可以是连续值,标签必须离散)的决策树(二叉树)。对回归树使用平方误差最小化准则,对分类树使用基尼系数最小化准则。该篇讲述的就是使用基尼系数来构造决策树。原创 2017-08-22 16:58:00 · 2126 阅读 · 6 评论 -
【自然语言处理】tf.contrib.seq2seq.BasicDecoder源码解析
前言tf.contrib.seq2seq.dynamic_decode源码分析本文衔接上文。首先tf.contrib.seq2seq.dynamic_decode主要作用是接收一个Decoder类,然后依据Encoder进行解码,实现序列的生成(映射)。其中,这个函数主要的一个思想是一步一步地调用Decoder的step函数(该函数接收当前的输入和隐层状态会生成下一个词),实现最后的一句话的...原创 2019-06-11 19:36:56 · 5655 阅读 · 0 评论