机器学习
文章平均质量分 95
ML
funNLPer
2 B A NB NLPer
展开
-
线性回归原理及实现
原式J(θ) = 12(Xθ−Y)T(Xθ−Y)=12(θTXT−YT)(Xθ−Y)=12(θTXTXθ−θTXTY−YTXθ+YTY)\begin{aligned}J\left( \theta \right) \,\,&=\,\,\frac{1}{2}\left( X\theta -Y \right) ^T\left( X\theta -Y \right) \\\\&=\frac{1}{2}\left( \theta ^TX^T-Y^T \right) \left( X\th原创 2021-11-16 22:26:09 · 127 阅读 · 0 评论 -
朴素贝叶斯总结
文章目录1. 简介2. 贝叶斯算法具体步骤3. 贝叶斯算法的一个实例4. QA4.1 为什么需要假设特征之间相互独立呢?4.2 朴素贝叶斯分类的优缺点5. 简单实现参考1. 简介朴素贝叶斯是一种基于贝叶斯定理和特征条件独立假设的分类算法。对于给定的训练数据,朴素贝叶斯先基于特征条件独立假设学习输入和输出的联合概率分布,然后基于此分布对于新的实例,利用贝叶斯定理计算出最大的后验概率。朴素贝叶斯不会直接学习输入输出的联合概率分布,而是通过学习类的先验概率和类条件概率来完成。贝叶斯定理:P(c∣x)=P(原创 2021-11-14 16:49:29 · 2664 阅读 · 0 评论 -
逻辑回归总结
文章目录1. 简介2. 逻辑回归模型的数学推导2.1 逻辑回归的损失函数2.2 极大似然估计(MLE)2.3 使用梯度下降方法求的最佳参数www2.4 为什么可以用梯度下降法?3. 逻辑回归的可解释性4. 逻辑回归的决策边界是否是线性的?5. 总结6. 逻辑回归的优缺点7. 如何使用逻辑回归做非线性分类8. 参考1. 简介逻辑回归本名应该叫对数几率回归,是线性回归的一种推广,所以我们在统计学上也称之为广义线性模型。线性回归针对的是标签为连续值的机器学习任务,那如果我们想用线性模型来做分类任何可行吗?答案原创 2021-11-14 15:10:23 · 2271 阅读 · 0 评论 -
SVM 面试
1. svm简介SVM 是一种二分类模型。它的基本思想是在特征空间中寻找间隔最大的分离超平面使数据得到高效的二分类,具体来讲,有三种情况(不加核函数的话就是个线性模型,加了之后才会升级为一个非线性模型):当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性支持向量机;当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机2. SVM 为什么采用间隔最大化(与感知机原创 2020-12-23 15:09:31 · 168 阅读 · 0 评论 -
CRF和HMM
CRF 和 HMM 的比较CRF是无向图模型,HMM是有向图模型HMM是生成式模型,CRF是判别式模型朴素贝叶斯p(y∣x⃗)∝p(y,x⃗)=p(y)∏i=1p(xi∣y)p(y \mid \vec{x}) \propto p(y, \vec{x})=p(y) \prod_{i=1} p\left(x_{i} \mid y\right)p(y∣x)∝p(y,x)=p(y)i=1∏p(xi∣y)判别式模型判别模型是直接对P(Y|X)建模,就是说,直接根据X特征来对Y建模训练;具体地,训练原创 2020-12-23 15:08:23 · 767 阅读 · 0 评论 -
牛顿法总结
1. 牛顿法用于求方程解如何通俗易懂地讲解牛顿迭代法?2. 牛顿法用于最优化牛顿法和牛顿迭代法3. 总结牛顿法用于求方程解时迭代式为:xn+1=xn−f(xn)f′(xn)x_{n+1}=x_{n}-\frac{f\left(x_{n}\right)}{f^{\prime}\left(x_{n}\right)}xn+1=xn−f′(xn)f(xn)巧妙记忆方法 ϕ(x)=f(x0)+f′(x0)(x−x0)\phi(x)=f\left(x_{0}\right)+f^{\prime}\原创 2020-09-06 00:23:46 · 1449 阅读 · 0 评论 -
分类问题为什么要用交叉熵
1. 信息熵信息熵就是信息的不确定程度,信息熵越小,信息越确定信息熵=∑事件x发生的概率∗验证事件x需要的信息量信息熵=\sum 事件x发生的概率*验证事件x需要的信息量信息熵=∑事件x发生的概率∗验证事件x需要的信息量事件发生的概率越低,需要越多的信息去验证,所以验证真假需要的信息量和事件发生的概率成反比,假设信息量为I(x)I(x)I(x)I(x)=−log p(x)I(x) = -log\, p(x)I(x)=−logp(x)其中负号是用来保证信息量是正数或者零,p(x)p(x)p(x)是事原创 2020-09-01 18:14:23 · 4832 阅读 · 2 评论 -
ROC PRC
1. ROC和ROC AUCROC曲线是一种评定二分类模型对正类预测效果的曲线图。x 轴是假阳率(FPR),y 轴是真阳率(TPR)FPR=FPFP+TNFPR = \frac{FP}{FP+TN}FPR=FP+TNFP 反例说错了多少TPR=TPTP+FNTPR = \frac{TP}{TP+FN}TPR=TP+FNTP 正例里预见了多少所以,ROC 曲线可以理解为正例里预见了多少(y 轴)对上反例说错了多少(x 轴)理想情况下,当然希望是正例全都判断对的比例为 1(图像顶部),说错的反原创 2020-08-11 21:45:06 · 556 阅读 · 0 评论 -
Precision、Recall、F1-score、Micro-F1、Macro-F1、Recall@K
1. 基本概念TP、True Positive 真阳性:预测为正,实际也为正FP、False Positive 假阳性:预测为正,实际为负FN、False Negative 假阴性:预测与负、实际为正TN、True Negative 真阴性:预测为负、实际也为负Precision=TPTP+FPPrecision=\frac{TP}{TP+FP}Precision=TP+FPTP分母:判定为正类的个数;分子:判定为正类中实际为正类的个数Recall=TPTP+FNRecall=\fra原创 2020-06-01 01:08:48 · 1336 阅读 · 0 评论 -
条件随机场(CRF)
1. 实例背景假设你有许多小明同学一天内不同时段的照片,从小明提裤子起床到脱裤子睡觉各个时间段都有。现在的任务是对这些照片进行分类。比如有的照片是吃饭,那就给它打上吃饭的标签;有的照片是跑步时拍的,那就打上跑步的标签;有的照片是开会时拍的,那就打上开会的标签。问题来了,你准备怎么干?一个简单直观的办法就是,不管这些照片之间的时间顺序,想办法训练出一个多元分类器。就是用一些打好标签的照片作为训练数据,训练出一个模型,直接根据照片的特征来分类。例如,如果照片是早上6:00拍的,且画面是黑暗的,那就给它打上睡原创 2020-05-22 11:18:26 · 404 阅读 · 0 评论 -
集成学习(5)— XGBoost
1. AdaBoost回顾AdaBoost,是英文"Adaptive Boosting"(自适应增强),它的自适应在于:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器。同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的最大迭代次数。白话的讲,就是它在训练弱分类器之前,会给每个样本一个权重,训练完了一个分类器,就会调整样本的权重,前一个分类器分错的样本权重会加大,这样后面再训练分类器的时候,就会更加注重前面分错的样本, 然后一步一步的原创 2020-05-22 11:17:25 · 621 阅读 · 0 评论 -
极大似然概率和最大后验概率
1. 频率学派和贝叶斯派频率学派认为世界是确定的。他们直接为事件本身建模,也就是说事件在多次重复实验中趋于一个稳定的值p,那么这个值就是该事件的概率他们认为模型参数是个定值,希望通过类似解方程组的方式从数据中求得该未知数。这就是频率学派使用的参数估计方法-极大似然估计(MLE),这种方法往往在大数据量的情况下可以很好的还原模型的真实情况。贝叶斯派他们认为模型参数源自某种潜在分布,希望从数据中推知该分布。对于数据的观测方式不同或者假设不同,那么推知的该参数也会因此而存在差异。这就是贝叶斯派视角下用来原创 2020-05-18 22:55:51 · 1847 阅读 · 0 评论 -
PCA 算法
1. PCA导论PCA顾名思义,就是找出数据里最主要的方面,用数据里最主要的方面来代替原始数据。具体的,假如我们的数据集是n维的,共有m个数据D=(x(1),x(2),...,x(m))D=(x^{(1)},x^{(2)},...,x^{(m)})D=(x(1),x(2),...,x(m))。我们希望将这m个数据的维度从n维降到q维,希望这m个q维的数据集尽可能的代表原始数据集。我们知道数据从n维降到q维肯定会有损失,但是我们希望损失尽可能的小。那么如何让这n’维的数据尽可能表示原来的数据呢?如下例子,原创 2020-05-12 00:49:24 · 1321 阅读 · 0 评论 -
K-means算法
1. K-means概论K-Means算法的思想很简单,对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。假设簇划分为(C1,C2,...Ck)(C_1,C_2,...C_k)(C1,C2,...Ck),则我们的目标是最小化平方误差E:E=∑i=1k∑x∈Ci∥x−μi∥22E=\sum_{i=1}^{k} \sum_{x \in C_{i}}\left\|x-\mu_{i}\right\|_{2}^{2}E=i=1∑kx∈C原创 2020-05-11 23:07:00 · 507 阅读 · 1 评论 -
集成学习(3)— bagging和随机森林
1. baggingBagging的弱学习器之间没有boosting那样的联系。它的特点在“随机采样”。随机采样(bootsrap)就是从我们的训练集里面采集固定个数的样本,但是每采集一个样本后,都将样本放回。也就是说,之前采集到的样本在放回后有可能继续被采集到。对于我们的Bagging算法,一般会随机采集和训练集样本数m一样个数的样本。这样得到的采样集和训练集样本的个数相同,但是样本内容不同。如果我们对有m个样本训练集做T次的随机采样,则由于随机性,T个采样集各不相同。注意,这和GBDT的子采样是不转载 2020-05-11 21:37:57 · 406 阅读 · 0 评论 -
集成学习(4)— Adaboost算法
boosting系列算法个体学习器之间存在强依赖关系,Adaboost是boosting系列算法中最著名的算法之一。Adaboost既可以用作分类,也可以用作回归。boosting算法的工作流程是:(1)从训练集用初始权重训练出一个弱学习器1;(2)根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视;(3)基于调整权重后的训练集来训练弱学习器2如此重复进行,直到弱学习器数达到事先指定的数目T,原创 2020-05-11 18:34:06 · 544 阅读 · 0 评论 -
集成学习(1)— 基本概念
1. 集成学习概述集成学习:对于训练集数据,我们通过训练若干个个体学习器,通过一定的结合策略,就可以最终形成一个强学习器,以达到博采众长的目的。集成学习需要解决的两个问题:如何得到若干个个体学习器如何选择一种结合策略,将这些个体学习器集合成一个强学习器2. 集成学习的个体学习器集成学习的第一个问题就是如何得到若干个个体学习器。这里我们有两种选择:第一种就是所有的个体学习器都是一个种类的,或者说是同质的;比如都是决策树个体学习器,或者都是神经网络个体学习器。第二种是所有的个体学习器不全是一原创 2020-05-11 11:35:29 · 1949 阅读 · 0 评论 -
SVM 总结
1. 概述支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法2. SVM 理论支持向量机的目的是用训练数据集的间隔...原创 2020-05-08 13:51:59 · 787 阅读 · 0 评论 -
集成学习(2)— bagging和boosting
集成学习大致可分为两大类:Bagging和Boosting; Bagging一般使用强学习器,其个体学习器之间不存在强依赖关系,容易并行。Boosting则使用弱分类器,其个体学习器之间存在强依赖关系,是一种序列化方法。Bagging主要关注降低方差,而Boosting主要关注降低偏差。Boosting是一族算法,其主要目标为将弱学习器“提升”为强学习器,大部分Boosting算法都是根据前一个学...原创 2020-04-01 16:33:19 · 1156 阅读 · 0 评论 -
正则化的作用以及L1和L2正则化的区别
https://blog.csdn.net/liuweiyuxiang/article/details/99984288原创 2020-03-22 22:38:04 · 3195 阅读 · 4 评论