机器学习与算法【ML】
土豆洋芋山药蛋
理性的生存,诗意的栖居。
展开
-
PRML《模式识别与机器学习》的Python3代码实现
项目地址:Python实现:https://github.com/ctgk/PRMLMatlab实现:https://github.com/PRML/PRMLTPRML是一本有关机器学习的入门必备书籍,与“西瓜书”齐名,目前豆瓣评分9.5分:书籍评价引用网友对PRML的评价:“个人认为这是机器学习领域必读的一本书,甚至是目前最好的书。但这本书太过于 Bayesian, 作者对任何...原创 2020-03-03 21:04:38 · 1967 阅读 · 0 评论 -
【Kaggle】导致患心脏病的因素分析
这篇文章根据已有的数据对一个人是否患有心脏病进行预测,并分析每个特征对预测结果的影响,以及对于每个病人而言,究竟是哪个特征的异常最终导致了他的患心脏病的概率大大增加了。项目来源于Kaggle:https://www.kaggle.com/tentotheminus9/what-causes-heart-disease-explaining-the-model,感兴趣也可以clone他的kerne...原创 2019-11-07 08:44:59 · 3412 阅读 · 1 评论 -
【机器学习-分类】一句话+一张图说清楚 Logistic回归 算法(附案例+代码)
说在前面同一个算法本身存在各种不同的变体,即各种改进版本。一句话+一张图并不能涵盖所有情况,只是尽量用通俗的语言介绍其中经典的算法版本。希望对某算法本身不了解的人看完能迅速get到该算法在干什么;二刷该算法的人能够迅速回忆起算法核心思想和做法,做到能随口讲给别人听。往期回顾【机器学习-分类】一句话+一张图 说清楚kNN算法(附案例+代码)【机器学习-分类】一句话+一张图说清楚决策树算...原创 2019-02-15 20:53:55 · 1326 阅读 · 0 评论 -
【机器学习-分类】一句话+一张图说清楚朴素贝叶斯算法(附案例+代码)
说在前面同一个算法本身存在各种不同的变体,即各种改进版本。一句话+一张图并不能涵盖所有情况,只是尽量用通俗的语言介绍其中经典的算法版本。希望对某算法本身不了解的人看完能迅速get到该算法在干什么;二刷该算法的人能够迅速回忆起算法核心思想和做法,做到能随口讲给别人听。往期回顾【机器学习-分类】一句话+一张图 说清楚kNN算法(附案例+代码)【机器学习-分类】一句话+一张图说清楚决策树算...原创 2019-02-13 16:21:47 · 7189 阅读 · 3 评论 -
【手撕】逻辑回归
逻辑回归的推导把大象装进冰箱分几步,······,没错,逻辑回归的推导一共也分为3步,第一步:弄清楚定义第二步:损失函数第三步:参数优化为了方便起见,线性函数 wx+bwx+bwx+b 就统一写成 wxwxwx,如果你令x0=1;w0=bx0=1;w0=bx0=1;w0=b 其实它们确实是相等的。第一步:弄清楚定义逻辑回归的定义为:P(Y=1∣x)=11+exp(−wx)=δ(x)...原创 2019-04-17 23:59:16 · 408 阅读 · 0 评论 -
【手撕】支持向量机算法(SVM)
SVM算法的基本思想就是寻找最大间隔,即寻找最合适的参数w、b使得两异类之间的间隔r最大。一、间隔与支持向量——模型建立令划分的超平面为 wTx+b=0w^Tx+b=0wTx+b=0 ,其中w为划分超平面的法向量,决定方向;b为位移最后值,决定与原点之间的距离。任意一点x到超平面的距离为:r=wT+b∣∣w∣∣r=\frac{w^T +b}{ ||w|| }r=∣∣w∣∣wT+b对于任...原创 2019-04-23 11:29:27 · 860 阅读 · 0 评论 -
【手撕】朴素贝叶斯算法
问:朴素贝叶斯是咋分类的呢?答:通过先验概率和条件概率学习数据上的概率分布,接着计算后验概率得到分类结果。先验概率:某类存在的概率。条件概率:某类存在的条件下,取得该数据的概率。概率分布:数据及上所有类出现概率以及所有类的条件概率。后验概率:通俗理解的公式就是:后验概率=先验*条件/全概率 = 某类概率 * 某类条件下出现x的概率/全概率。学习得出概率分布也是朴素贝叶斯的一个重要特征,...原创 2019-04-18 23:12:06 · 356 阅读 · 0 评论 -
【手撕】决策树算法
决策树算法就是寻找最优的划分选择x,然后根据x将数据划分开来,不断迭代,即可产生一颗完整的决策树。一、划分选择1.信息熵信息熵,是一个描述样本“纯度”的量。信息熵越小,数据越纯。(熵这个概念通常的理解就是:熵越大,越混乱;熵越小,越单一)。设样本为D,第k类所占比例 Pk,(k=1,2,⋯ ,∣y∣)P_k,(k=1,2,\cdots,|y|)Pk,(k=1,...原创 2019-04-23 21:32:55 · 369 阅读 · 0 评论 -
机器学习CS229极简的6张速查表
斯坦福大学有很多关于人工智能领域的著名公开课,包括CS229N机器学习、CS231N机器视觉、CS224N自然语言处理。国外的一个牛人学习了CS229并整理了极简的速查表,非常方便学习回顾,下面是速查表的详情。一、监督学习二、无监督学习三、深度学习四、一些技巧五、概率统计六、线性代数完整下载上述6张速查表,请关注公众号“慢慢学算法”,并回复“cs229”获取!...原创 2019-04-24 23:13:57 · 841 阅读 · 0 评论 -
【集成学习】Boosting策略典型算法原理
集成学习集成学习是一种由多种弱学习器组合成强学习器的策略,主要分为3类:Boosting方法、Bagging方法、Stacking方法。一、BoostingBoosting方法基于串行策略,新的学习器由旧的学习器生成。代表算法有:AdaBoost提升树BT梯度提升树GBDTXGBoostBoosting算法要解决两个问题:Q1:如何改变样本数据的权值?Q2:如何将弱分...原创 2019-05-05 23:05:26 · 1768 阅读 · 0 评论 -
【西瓜书-读书笔记】第一章
第一章 绪论啥是机器学习?计算机利用算法,从历史经验(数据)学习到模型,从而可以根据此模型进行未知样本的判断。一个完整的模型可以细分为以下3部分:1.数据每一个数据都包含ddd个属性(或特征),也称为数据的“维数”,就像一个西瓜可以分为“色泽”,“根蒂”,“敲声”等,每个属性又可以有不同的取值,例如“色泽”属性有“青绿”、“乌黑”等可能情况(“属性值”),但都属于“色泽”这一类。所有的...原创 2019-05-13 23:16:43 · 661 阅读 · 4 评论 -
【西瓜书-读书笔记】第三章 线性模型
第三章 线性模型假设样本的属性有ddd个,所有的样本为x=(x1;x2;⋯ ;xd)x=(x_1;x_2;\cdots ;x_d)x=(x1;x2;⋯;xd),则线性模型是学得一个通过属性的线性组合来进行预测的函数,即f(x)=w1x1+w2x2+⋯+wdxd+bf(x)=w_1x_1+w_2x_2+\cdots +w_dx_d+bf(x)=w1x1+w2...原创 2019-05-16 16:55:34 · 440 阅读 · 0 评论 -
【西瓜书-读书笔记】第五章 神经网络
第五章 神经网络神经网络是一种“黑箱模型”,不是因为它无法用数学的方法定义,而是难以以一种非常通俗易懂的方式解释出它的具体操作。在计算机领域只需将它视为包含了多个参数的数学模型,这个模型包含若干个函数组成。5.1 神经元模型神经元模型是神经网络中最基本的成分,当神经元超过了某一个”阈值“电位,就会产生”兴奋“,进而会向其他神经元发送化学物质。1943年,有人将上述过程抽象为下图中的简单模型,...原创 2019-06-06 18:35:31 · 650 阅读 · 0 评论 -
利用scipy中的curve_fit拟合自定义曲线
Scipy是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。它用于有效计算Numpy矩阵,使Numpy和Scipy协同工作,高效解决问题。scipy.optimize中有curve_fit方法可以拟合自定义的曲线,如指数函数拟合,幂指函数拟合和多项式拟合,下面导入相应的包进行拟合的一个小例子:导入需要的包:from sci...原创 2019-06-06 22:56:44 · 17293 阅读 · 4 评论 -
【西瓜书-读书笔记】第七章 贝叶斯分类器
贝叶斯分类器一、贝叶斯决策论贝叶斯分类器是基于概率的方法,对分类任务而言,就是在所有概率都已知的理想情形下(生成模型的一种),贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。如果你了解过朴素贝叶斯算法的话,可能也清楚朴素贝叶斯的决策过程,简而言之就是计算先验概率和条件概率,以此来求出后验概率,并选择具有最大后验概率的作为预测类别。但为什么想到要最大化后验概率呢?这其中也有一...原创 2019-06-13 18:11:34 · 336 阅读 · 0 评论 -
python模型性能评估的一个小工具类
评价一个机器学习模型的性能有很多指标,如准确率、查准率、查全率(=召回率=敏感度)、F1值等。这篇博客整理了一些评价指标,并使用python封装了一个方法类,作为日常整理,也希望能对别人提供帮助。一、相关原理对于二分类问题,分类的结果会出现以下4中情况其中,TP表示原本是正向的且被分类器正确地分到正向那一类中(即,真阳性)的样本数,FP表示原本是负向但被分类器错误的分到正向那一类中(即,假...原创 2019-06-10 16:29:03 · 2618 阅读 · 4 评论 -
【机器学习-分类】一句话+一张图说清楚决策树算法(附案例+代码)
说在前面同一个算法本身存在各种不同的变体,即各种改进版本。一句话+一张图并不能涵盖所有情况,只是尽量用通俗的语言介绍其中经典的算法版本。希望对某算法本身不了解的人看完能迅速get到该算法在干什么;二刷该算法的人能够迅速回忆起算法核心思想和做法,做到能随口讲给别人听。往期回顾【机器学习-分类】一句话+一张图 说清楚kNN算法(附案例+代码)一句话决策树算法是,通过决定性特征学习数据...原创 2019-02-01 21:33:23 · 1731 阅读 · 1 评论 -
【机器学习-分类】一句话+一张图 说清楚kNN算法(附案例+代码)
一句话KNN(K-Nearest Neighbor)即k-近邻算法,采用不同测量不同特征之间的距离才决定样本的类别,周围k个样本中出现最多的类别为新样本类别。一张图如需代码实例/案例演示请评论区留言哦。...原创 2019-01-18 23:14:46 · 1155 阅读 · 0 评论 -
机器学习模型性能度量
1. 错误率和精度(拟合度,最基本的方法)2. 混淆矩阵 查全率:P=TP/(TP+FP)(“宁可错杀一千,也不放过一个”) 查准率:R=TP/(TP+FN)查全率和查准率是一对矛盾的度量,一般来说,查准率高时,查全率会低。以查准率(P)为纵轴,查全率(R)为横轴,可绘制出“P-R图”。 比较曲线下面积,它在一定程度上反映了查全率和查准率取得“双高”的比例。但不容易估算,因此人们设计了一些原创 2017-10-10 23:13:54 · 806 阅读 · 0 评论 -
《西瓜书笔记》(1)机器学习概述(参考答案)
假设空间和版本空间的问题1.1 表1.1中若只包含编号1和4的两个样例,请给出相应的样本空间 编号 色泽 根蒂 敲声 好瓜 1 青绿 蜷缩 浊响 是 4 乌黑 稍蜷 沉闷 否假设空间:假设空间指的是问题所有假设组成的空间,我们可以把学习过程看作是在假设空间中搜索的过程,搜索目标是寻找与训练集“匹配”的假设。版本空间:与训练集表现一致的集合从原创 2017-12-11 18:22:25 · 1144 阅读 · 1 评论 -
《西瓜书笔记》(1)机器学习概述
《西瓜书》指的是周志华老师的《机器学习》著作 什么是机器学习?机器学习致力于通过计算的手段,利用经验来改善系统自身性能的学科 经验通常是以“数据”的形式体现,或者上一次训练的错误 机器学习的本质任务是预测。学习任务的分类:若我们预测的是离散值,如西瓜是好瓜还是坏瓜,此类学习任务是分类 若我们预测的是连续值,如西瓜的成熟度,此类学习任务是回归 若西瓜本身没有任何标签(好的,坏的,浅色的,深原创 2017-12-04 21:01:33 · 785 阅读 · 0 评论 -
GAN生成对抗网络从入门到实践——入门级
自2014年Ian Goodfellow提出生成对抗网络(GAN)的概念后,生成对抗网络变成为了学术界的一个火热的研究热点,Yann LeCun更是称之为”过去十年间机器学习领域最让人激动的点子”. 生成对抗网络包括一个生成器(Generator,简称G)生成数据,一个鉴别器(Discriminator,简称D)来鉴别真实数据和生成数据,两者同时训练,直到达到一个纳什均衡,生成器生成的数原创 2018-01-12 16:52:51 · 5506 阅读 · 5 评论 -
UFLDL教程笔记(一)
UFLDL教程作为深度学习入门非常好的一个教程,为了防止自己看过忘过,所以写下笔记,笔记只记录了自己对于每个知识点的直观理解,某些地方加了一些使自己更容易理解的例子,想要深入了解建议自己刷一遍此教程。一、稀疏自编码器神经网络 上图是一个基本的神经网络模型。我们使用圆圈来表示神经网络的输入,标上“+1”的圆圈被称为偏置节点,也就是截距项。神经网络最左边的一层叫做输入层,最右的一原创 2018-01-08 23:00:51 · 6290 阅读 · 1 评论 -
生成式分类器 VS 判别式分类器
生成式分类器和判别式是根据两种不同的设计方法而得到的,即利用生成模型设计了生成式分类器,用判别模型设计了判别式分类器。一、生成模型的方法1.1 生成方法由数据学习联合概率分布P(D,H)P(D,H)求出条件概率P(H|D)P(H|D)作为预测模型,即生成模型根据后验概率P(H|D)P(H|D)进行分类 这里H可以认为是hypothesis,即预测,也是类别;D为原创 2018-01-18 09:59:11 · 5749 阅读 · 1 评论 -
UFLDL教程笔记(二)
一、Softmax回归Softmax是逻辑回归在多分类问题上的扩展,适合有k类情况下的分类任务。1.1 Softmax回归的期望函数和代价函数首先看下逻辑回归的假设函数: hθ=11+e−θTxh_\theta =\frac {1}{1+e^{-\theta ^T x}} 更多逻辑回归请戳: http://blog.csdn.net/qq_33414271/articl原创 2018-01-19 16:44:32 · 887 阅读 · 0 评论 -
卷积神经网络(CNN)的理解和实现
卷积神经网络目前可以说是家喻户晓了,但对于想我这样的新手应该怎么快速的入门呢? 作为萌新,我也有问题三连: 1、卷积神经网络(CNN)和神经网络有什么关系? 2、卷积神经网络有哪些操作步骤呢(内部结构)? 3、能不能整个例子看看效果呀? 下面就借着回答上面的三个问题的时机,来揭开卷积神经网络的面纱。1、卷积神经网络(CNN)和神经网络有...原创 2018-02-19 16:16:14 · 7934 阅读 · 0 评论 -
Kaggle(Gun Violence Data)—美国枪支暴力事件分析(1)
数据来源为kaggle:https://www.kaggle.com/jameslko/gun-violence-data 主要分析13-18年美国枪支暴力事件的特征,以及使用时间序列预测下一年枪支暴力事件发生数量。主要用到以下数据包 Basemap是python中一个利用地图的库 plotly是开挂的作图神器,可以供js, python, R, DB等使用 Seaborn是基于mat...原创 2018-06-05 21:50:11 · 6077 阅读 · 1 评论 -
一句话+一张图——弄清楚数据预处理的工作
Ok,我又来装逼了,咳咳,还是要提前解释一下,标题虽然是一句话+一张图弄清楚系列,但是文章的性质还是总结类的,如果之前没有了解的话,一句话和一张图显然是搞不定的,如果之前有了解的话,一句话+一张图可以帮助理清思路,增加装逼技能。一句话:数据预处理的工作:对原始数据进行清洗,集成,变换,规约等操作,使其更方便分析,更容易得到预期结果。一张图:(点击可以查看大图哟)...原创 2018-06-23 21:59:06 · 2007 阅读 · 2 评论 -
一句话+一张图——说清楚Aprioir关联规则算法
一句话关联分析(关联规则学习): 从大规模数据集中寻找物品间的隐含关系被称作 关联分析(associati analysis) 或者 关联规则学习(association rule learning)一张图解释一下这张图: 在关联规则Aprioir算法中,有两个很重要的概念,分别是频繁项集(frequent item sets),关联规则(associational rules)...原创 2018-06-24 10:17:04 · 4511 阅读 · 6 评论 -
Kaggle(Gun Violence Data)—美国枪支暴力事件分析(2)
继上次分析之后,这次打算用详细的时间序列算法预测,我们使用ARMA时间序列模型作为预测,选取17年数据和18年1月和2月数据作为训练,预测18年3月1日,3月2日及3月3日数据。话不多说,直接整吧。1.基本数据整理#-*- coding: utf-8 -*-#arima时序模型import pandas as pd#时序图import matplotlib.pyplot ...原创 2018-06-09 23:25:54 · 1784 阅读 · 0 评论 -
一张图一句话——说清楚K Means聚类
一句话:初始化 K 个不同的簇, 且每个簇的中心采用簇中所含值的均值计算而成,更新簇中心直至稳定而生成K个类别的算法。一张图:一句话,考研+考试复习太紧张,就不多说了。...原创 2018-07-02 23:03:12 · 2373 阅读 · 7 评论 -
一张图看清楚聚类&ID3基本流程
一张图原创 2018-07-21 22:21:39 · 8045 阅读 · 0 评论 -
深度学习中优化算法概览
一、发展背景及基本框架梯度下降是目前神经网络中使用最为广泛的优化算法之一。为了弥补朴素梯度下降的种种缺陷,研究者们发明了一系列变种算法,从最初的 SGD (随机梯度下降) 逐步演进到 NAdam。然而,许多学术界最为前沿的文章中,都并没有一味使用 Adam/NAdam 等公认“好用”的自适应算法,很多甚至还选择了最为初级的 SGD 或者 SGD with Momentum 等。深度学习优化算法...原创 2018-12-28 11:37:04 · 792 阅读 · 0 评论 -
机器学习算法——逻辑回归(LR)
LR是很多分类算法的基础组件,它的好处是输出值自然地落在0到1之间,并且有概率意义。模型清晰,背后的概率学经得住推敲。它拟合出来的参数就代表了每一个特征(feature)对结果的影响。Logistic回归分析:优势比:假设在m个独立自变量x1,x2,⋯,xm的作用下,记取1的概率是p=P(y=1|X),取0概率是1-p,则概率之比为p/(1-p),称为事件的优势比(odds),又称为OR。Logi原创 2017-10-10 13:15:28 · 2483 阅读 · 0 评论 -
监督学习三要素——模型、参数、目标函数
1.模型选择机器学习的模型,根据不同的业务或使用场景选择合适的模型,下面是sklearn上的机器学习模型选择的一个地图。 2.参数模型的参数用来让数据更好的适应结果 例如有一个线性模型为:Hypothesis:hθ(x)=θ0+θ1xHypothesis:h_{\theta }(x)=\theta _{0}+\theta _{1}x,里面有θ0和θ1两个参数,参数的改变将会导致假设函数的变化原创 2017-12-02 11:16:30 · 4336 阅读 · 1 评论