- 博客(51)
- 收藏
- 关注
原创 矩阵分解模型——SVD与SVD++
这里写目录标题SVDFunk-SVDBias-SVDSVD++SVD正交矩阵:AAT=InAA^T=I_nAAT=In正定矩阵:对任意非零实向量xxx,有xAxT>0xAx^T>0xAxT>0,则AAA为正定矩阵,若xAxT≥0xAx^T\ge0xAxT≥0则AAA为半正定矩阵酉矩阵:UHU=UUH=InU^HU=UU^H=I_nUHU=UUH=In,其中H^HH表示共轭转置,则UUU为酉矩阵正规矩阵:UHU=UUHU^HU=UU^HUHU=UUH,其中H^HH表示共轭转置
2021-05-15 16:06:06
4106
3
原创 如何解决ValueError: unknown is not supported
raise ValueError("{0} is not supported".format(y_type))ValueError: unknown is not supportedfrom sklearn.utils.multiclass import type_of_target
2021-04-02 22:43:34
10012
原创 词向量算法—Word2Vec和GloVe
最近学习nlp,从CS224n视频课2019winter的课程入手,听完了前两个lecture,以及做完斯坦福课程官网上对应的编程作业之后对词向量的算法有了大致的了解。但网上对于词向量算法好多都是一两句话介绍原理就完事,我自己对这些算法进行推导和理解了下,所以这个博客主要是对算法的公式进行推导,这样理解起来更透彻一些。目录词向量Skip-Gram模型Continuous Bag of Words模型(CBOW)GloVe模型词向量以前我们在初高中做英语阅读理解的时候,对于不认识的单词,英语老师会告诉
2021-03-07 17:02:55
1565
2
原创 条件随机场CRF
条件随机场(Conditional Random Field,简称CRF),是基于图的一种生成模型,一般用于序列的标注问题。本篇博客主要是对CRF的基本概念做个笔记,有个大致的了解,代码实现与应用在后续博客中再更。重要概念1. 马尔科夫随机场2. 团与最大团3. 条件随机场1. 马尔科夫随机场G=(V,E)G=(V,E)G=(V,E)表示图,其中VVV是结点的集合,结点v∈Vv\in Vv∈V,EEE是边的集合,边e∈Ee\in Ee∈E。由这个无向图表示概率分布P(Y)P(Y)P(Y)即为概率图模型
2021-02-01 21:03:03
309
原创 多分类的梯度以及logsumexp
最近重新仔细推导了一番多分类的梯度,并且想用Python实现,所以涉及到代码中梯度的计算,遇到了一些小问题和小心得,这里稍稍整理一下。多分类的预测假设FFF表示一个二分类器,这个任务一共有KKK个类别,则一般可以用KKK个这样的二分类器经过一个softmax函数来求得预测为kkk类别的概率,即pk=eFk∑lKeFlp_k={e^{F_k}\over \sum_l^K e^{F_l}}pk=∑lKeFleFksoftmax的求导可以很分情况讨论得到,为pk′={pk(1−pk)k=l−p
2020-11-16 21:28:47
808
原创 经典排序算法总结与Python实现(下)
本篇博客中的有序都是指的升序,降序情况稍微改改就出来了。排序算法时间复杂度(最好)时间复杂度(最差)时间复杂度(平均)空间复杂度稳定性插入排序O(n)O(n)O(n)O(n2)O(n^2)O(n2)O(n2)O(n^2)O(n2)O(1)O(1)O(1)稳定冒泡排序O(n2)O(n^2)O(n2) / 及时终止O(n)O(n)O(n)O(n2)O(n^2)O(n2)O(n2)O(n^2)O(n2)O(1)O(1)O(1)稳定选择排序O(n2)O
2020-11-13 16:20:22
232
原创 Mac下安装graphviz以及XGBoost可视化决策树
最近做项目又需要用XGBoost画出决策树来解释,之前用花了大力气装了graphviz画决策树,后来重新安装了Anaconda后环境就没了,也忘了当时踩过的坑,在网上找到的都是千篇一律但是装不好的博客,所以又踩了一次坑,install uninstall了好几次,写一篇博客以免以后自己又忘了。。。1、Mac下安装graphviz我先在Anaconda的环境中尝试安装,apply了以下两个包,可是不能用,后面想要remove也操作不了,后来就没管了,继续下面的安装步骤了(不知道这一步有没有用)1、打开
2020-10-19 18:12:26
1614
原创 经典排序算法总结与Python实现(上)
本篇博客中的有序都是指的升序,降序情况稍微改改就出来了。目录1. 直接插入排序2. 冒泡排序3. 简单选择排序4. 快速排序5. 希尔排序6. 堆排序7. 归并排序8. 计数排序9. 基数排序10. 桶排序1. 直接插入排序从左往右依次建立有序数组,a[0:1]就一个元素,就是一个有序数组,考虑a[0:i]已经排好序是一个有序数组,下一步把a[i]插入这个有序数组得到a[0:i+1]的有序数...
2020-09-14 15:34:05
223
原创 CS230+deeplearning.ai专项课程笔记及作业目录
随着lecture10的结束,标志着CS230到Coursera上deeplearning.ai专项课程的所有编程作业的完成,中途虽然进度比较慢,也曾遇到很多困难,但是收获满满,也找到了自己比较感兴趣的方向,这一阶段暂时可以告一段落。所以这里做一个总结性的目录,以后可以方便随时回顾和查看:注:所有编程作业都是在TensorFlow2.1 CPU、Python3.7下实现的。因此可能会有很多地方和原本官方作业提供的不太一样,但是都是一些理解性的修改。笔记和作业目录:注:lecture 10只有一个50分
2020-06-25 18:14:16
1390
原创 Stanford CS230深度学习(九)注意力机制和语音识别
在CS230的lecture 9中主要讲了深度强化学习(Deep Reinforcement Learning)大体上是如何实施的,以及一些应用场景。课后coursera上遗留的最后C5M3的课程及其编程作业,这一部分主要是讲序列模型中的集束搜索(Beam Search)、注意力机制(Attention)以及语音识别中触发词的检测。目录回顾知识点集束搜索(Beam Search)注意力机制(Attention)触发字检测(Trigger Word Detection)作业代码1. Neural Machi
2020-06-25 14:54:41
1060
原创 Stanford CS230深度学习(八)词嵌入与文本情感分析
在CS230的lecture 8中主要吴恩达老师如何阅读文献,以及一些职业建议。关于阅读文献,吴恩达老师提倡先列出一个这个领域的文献列表,可能只包含几篇文章,然后精读其中可能某一篇开创性的文章,由这篇再得到另外相关的文章并添加到这个列表里来继续阅读,读了新的文章之后反过来可能对最开始的其他文章会有新的理解,然后如此反复咀嚼。一般说来阅读了5-20篇文章后可能会对这个领域有一个基本的了解,可以做一些应用,读了50-100篇文章后可能对这个领域就有了最够深的了解,可以做一些研究了。如何读文章——多次阅读(m
2020-06-18 20:25:50
1072
原创 Stanford CS230深度学习(七)RNN和LSTM
在CS230的lecture 6中主要吴恩达老师讲述了一些关于机器学习和深度学习的tips,用一个触发词台灯的例子教我们如何快速的解决实际中遇到的问题,这节课主要是偏思维上的了解,还是要实际问题实际分析。在课后的coursera上的C4M3和C4M4主要是卷积神经网络的一些应用,包括用YOLO算法进行目标检测(Object detection)、基于Inception v2进行人脸识别(Face recognition)、基于VGG19完成神经风格迁移(Neural style transfer)等。所
2020-06-11 15:21:42
456
原创 Stanford CS230深度学习(六)目标检测、人脸识别和神经风格迁移
import numpy as npimport tensorflow as tfimport matplotlib.pyplot as pltfrom skimage.transform import resizefrom nst_utils import *''' ============获得模型==========='''# 迁移学习,用VGG-19,作业中的VGG19是在t...
2020-05-04 18:58:13
604
原创 tf2.1下生成yolo.h5文件
在完成吴恩达coursera上面深度学习第四门课卷积神经网络(Convolutional Neural Networks的第三周目标检测(Object detection)的编程作业使用YOLO算法完成车辆检测时,由于TensorFlow版本不兼容的关系,作业上使用的是TensorFlow1.x,而我现在学的是TensorFlow2.x,所以在加载作业中给出的预训练的YOLO模型时会出现如下报错:...
2020-05-03 18:38:52
2746
19
原创 Stanford CS230深度学习(五)CNN和ResNet
本周CS230在lecture5中主要讲了一下深度学习在医疗诊断方面的应用,感觉挺有意义的,个人认为属于激励我们去学好基础知识然后进行应用的一堂课吧。coursera上主要是讲了卷积神经网络、残差网络,以及介绍了一些经典的网络结构例如LeNet-5、AlexNet、VGG-16、GoogLeNet等;作业涵盖了从基础的手动搭建CNN的前向传播、反向传播,到基于TensorFlow来构建CNN、Re...
2020-04-19 18:56:41
738
3
原创 Stanford CS230深度学习(四)TensorFlow2.1
本周CS230的课程主要是介绍了GAN相关的一些东西,但是这个需要深入了解,所以本次博客主要对coursera上的课程以及作业进行总结。目录一、一些重要的概念1、深度学习中的超参数2、Batch Normalization3、数据分布不匹配时,偏差与方差的分析4、迁移学习、多任务学习、端到端的深度学习二、TensorFlow2.1安装作业1、原生代码搭建模型,基于tf.GradientTape2...
2020-04-03 22:03:40
521
原创 Stanford CS230深度学习(三)调参、正则化和优化算法
lecture3中主要讲了如何构建一个ML/DL任务,主要包括:选择问题、获得数据、设计模型、训练模型、测试模型、部署以及维护。然后coursera中的课程主要讲实际的应用例如调参、正则化等,以及几个DL常用优化算法。目录调参正则化1、Frobenius范数/ L2范数2、dropout 随机失活3、early stop 早停法4、data augmentation 数据增强优化算法调参...
2020-03-22 19:49:18
660
1
原创 Stanford CS230深度学习(二)手动搭建DNN
这篇博客主要是对第二次课进行学习总结,并完成lecture2中要求的C1M3以及C1M4的编程作业。课程资源详见Stanford CS230深度学习(一)由于这个课的编程作业基本上是一边给任务一边给思路和代码,如果按照GitHub上的来的话基本上锻炼不到编程能力和思维,所以我是在看视频的时候自己稍微记一下要点(特别是参数的维数这些很容易就出问题),然后再大概看一遍作业,在草稿上梳理好我要做什么、...
2020-03-13 09:42:20
416
原创 Stanford CS230深度学习(一)
斯坦福CS230可以作为深度学习的入门课,最近我也在跟着看视频、完成编程作业。首先列出使用的资源链接,然后给出第一课的理解和编程作业的代码。所有资料如下:一、课程连接:b站课堂讲授版:Stanford CS230(吴恩达 深度学习 Deep Learning | Autumn 2018)(中英双字幕)(一共10个视频,每周一个,但是每个视频对应下面的配套视频较多)Coursera配套视...
2020-03-09 13:30:42
1784
2
原创 集成学习——NGBoost论文研读与原理理解
NGBoost是最新的Boosting方法,它是2019年10月斯坦福团队在arxiv上发表的,
2020-01-18 21:50:57
7185
4
原创 集成学习——LightGBM原理理解
LightGBM(Light Gradient Boosting Machine)是梯度提升框架下的适用于大规模数据的又一boosting学习框架,它由微软亚洲研究院分布式机器学习工具包(DMTK)团队以及北大的一个学者在2017年NIPS大会上正式发表,并由微软提供开源。本篇博客是在精读了原始论文《LightGBM: A Highly Efficient Gradient Boosting De...
2020-01-10 22:20:20
2176
2
原创 LightGBM源码如何计算增益
在之前的XGBoost原理理解中已经推导过XGBoost的决策树的分裂增益为Lsplit=12[(∑i∈ILgi)2∑i∈ILhi+λ+(∑i∈IRgi)2∑i∈IRhi+λ−(∑i∈Igi)2∑i∈Ihi+λ]−γ\mathcal{L}_{split}={1\over2}\bigg[{(\sum_{i\in I_L}g_i)^2\over \sum_{i\in I_L}h_i+\lambda}+...
2020-01-09 17:58:45
1490
1
原创 Mac在Anaconda中安装XGBoost
想在自己的Spyder上运行下XGBoost试试看效果,但是import xgboost就会提醒conda install -c anaconda py-xgboostProceed ([y]/n)? ypip install xgboost
2020-01-05 11:42:35
2441
3
原创 集成学习——XGBoost原理理解
XGBoost全称为Extreme Gradient Boosting,它是2016年陈天奇和Carlos Guestrin在国际AI顶会ACM SIGKDD(知识发现与数据挖掘会议)上的正式发布,论文详见《XGBoost: A Scalable Tree Boosting System》。在此之前,XGBoost的作者已经在各种国际数据竞赛网站例如kaggle等用该算法和这套系统取得了瞩目的成绩...
2020-01-02 18:40:10
720
原创 2019年的流水账和总结
昨天刚考完雅思,12月一直在备考,也没看论文也没学习专业课,虽然有点不安和焦虑,但是为了能在申请季多点选择空间,就安安心心放下专业课好好学英语了。但是今天来办公室折腾了好久还是没找到学习的状态,那还不如写篇博客总结一下我的2019,毕竟还有9天就2020了。19年是我告别只是上课听课做作业考试之后,开始自己找东西自学的一年。从春节开始回到学校之后,开始看吴恩达的网课,跟着每周用Python写作业...
2019-12-22 11:32:16
364
3
原创 集成学习—SGBT随机梯度提升树
上一篇集成学习—GBDT原理理解中提到,由于GBDT的弱学习器之间存在依赖关系,难以并行训练数据,因此若数据量较大时程序运行太慢。这里可以通过加入了自采样的SGBT来达到部分并行,这是一个能改善GBDT的一种方法。SGBT全称Stochastic gradient boosting tree,也就是随机梯度提升树,它是在2002年Jerome H. Friedman的《Stochastic Gr...
2019-11-22 17:33:59
2690
原创 集成学习—GBDT原理理解
GBDT,全称为梯度提升决策树,即Gradient Boosting Decision Tree。上一篇博客:集成学习—GBDT(论文研读)中已经对GBDT原始论文——Jerome H. Friedman的《Greedy function approximation: A gradient boosting machine》进行了翻译和精读,这篇博客主要是对GBDT的原理再啃啃,梳理一下,原理理解...
2019-11-12 21:09:24
621
原创 集成学习—GBDT(论文研读)
GDBT是与Friedman等人的《Additive logistic regression: a statistical view of boosting》这篇文章有极大的联系,基本上可以说是由这篇文章发展而来的,但是由于GDBT自己有着很好的实践效果,因此对于学习集成学习来说读一读原本的论文也是很必要的。因此这篇博客主要是对GDBT的原论文进行精读和理解。《Greedy function a...
2019-10-31 21:08:21
7193
5
原创 集成学习—Adaboost加性模型(论文研读)
上一篇博客在理解Adaboost时涉及到了一篇经典的论文:Friedman等人的《Additive logistic regression: a statistical view of boosting》,原本不打算精读,但是由于这篇文章的重要性,以及对于之后的GBDT的发展有很大的帮助,因此还是认认真真的精读一下。这篇文章是Friedman等人在2000年于统计学领域的四大金刚——The An...
2019-09-27 17:34:43
2568
原创 集成学习—Adaboost(理解与应用)
在上一篇集成学习—Adaboost(论文研读)中已经将Adaboost的原始论文精读了一遍,这篇博客主要是对Adaboost算法进行更深入的理解和讨论,以及关于它的基于Python的代码的应用。模型回顾Adaboost算法,全称为the adaptive boosting algorithm,在原始的论文中,Freund和Schapire将二分类{0,1}\{0,1\}{0,1}问题的Adab...
2019-09-13 14:11:37
1377
1
原创 集成学习—Adaboost(论文研读)
Adaboost是Yoav Freund和Robert E. Schapire在1995年的the Second European Conference on Computational Learning Theory首次提出(详见Proceedings of the Second European Conference on Computational Learning Theory, Barc...
2019-09-09 20:12:36
8710
4
原创 集成学习—随机森林原理(理解与论文研读)
随机森林(Random forest,简称RF)是由Leo Breiman在2001年在《Machine Learning》(2018年影响因子2.809)正式发表提出。正如上一篇博客中写的,随机森林属于集成学习中Bagging的典型算法。总的来说,随机森林就是在随机子空间中随机组合的自由生长的CART决策树+Bagging得到的。这里在CART决策树前加入了三个描述词,一个是在随机子空间中,也...
2019-08-21 17:44:40
18548
4
原创 集成学习—决策树(CART)
集成学习:集成学习(Ensemble learning)是指通过构建并合并多个学习器(模型)来完成学习任务。它一般先产生一组个体学习器,再用某种策略将它们结合起来,常常可以获得比单一学习器显著优越的泛化性能(结合策略包括平均法、投票法和学习法等,具体可以参考周志华老师的西瓜书,这里就不详细讨论)。根据个体学习器的生成方式,目前集成学习方法大致可以分两大类:Boosting(个体学习器间存在...
2019-08-13 14:03:06
1651
原创 Kernel Method核方法—应用与理解
前一篇主要梳理了几个基本概念以及相关关系,这一篇主要针对核方法的应用进行讨论,并理解核方法的思想,了解为什么要引入核方法。核方法在机器学习中是一种灵活的技术,主要归结为两个方面:非线性问题转换为高维线性问题;只依赖于内积的问题。具体来说,核方法可扩展支持向量机(SVM)、主成分分析(PCA)等算法,用于处理数据在低维空间不是线性可分的,通过核变换在高维空间就可以变成线性可分得以求解的问...
2019-07-31 20:11:03
1467
原创 Kernel Method核方法—基本概念
这里只是简单叙述了核方法中运用到的几个概念和相互的关系,包括什么是核函数Kernel function、正定函数Positive definite function、再生核希尔伯特空间Reproducing Kernel Hilbert space (RKHS) 和再生核函数Repreducing kernel,以及他们之间的关系,下一篇再对其应用进行深入探讨定义:核函数(Kernel f...
2019-07-28 23:42:12
762
1
原创 吴恩达|机器学习作业目录
一个多月除了上课自习,就是在coursera和网易云课堂上学习吴恩达机器学习的课程,现在学完了,以下是一个多月来完成的作业目录,整理一下以便使用:1.0 单变量线性回归1.1 多变量线性回归2.0 Logistic 回归2.1 正则化的Logistic回归3.0 逻辑回归解决多元分类3.1 前馈神经网络4.0 神经网络反向传播(BP算法)5.0 偏差与方差6.0 支持向量机(SV...
2019-04-29 15:34:18
19350
7
原创 吴恩达|机器学习作业8.1.推荐系统(协同过滤算法)
8.1.推荐系统(协同过滤算法)1)题目:在本次练习中,你将实现协同过滤算法并将它运用在电影评分的数据集上,最后根据新用户的评分来给新用户推荐10部电影。这个电影评分数据集由1到5的等级组成。数据集有nu=943n_u=943nu=943个用户和nm=1682n_m=1682nm=1682部电影。在计算完协同过滤的代价函数以及梯度后,将使用牛顿共轭梯度法求得参数。数据集中,Y是一个(16...
2019-04-21 15:25:52
2415
6
原创 吴恩达|机器学习作业8.0.异常检测
8.0.异常检测1)题目:在本练习中,您将实现异常检测算法,并将其应用于检测网络中的故障服务器。在第二部分中,您将使用协同过滤来构建电影推荐系统。在本练习中,您将实现一个异常检测算法来检测服务器计算机中的异常行为。这些特性度量每个服务器的吞吐量(mb/s)和响应的延迟(ms)。在服务器运行时,您收集了m = 307个关于它们行为的样本,因此有一个未标记的数据集{x(1),…,x(m)}。您怀...
2019-04-19 17:03:58
1220
6
原创 吴恩达|机器学习作业7.1.主成分分析(PCA)
7.1.主成分分析对人脸图像降维1)题目:在这个练习中,你将运用主成分分析(PCA)来实现降维。首先,你将用一个二维的样本集来实验,从而对PCA如何运行的有一个直观的感受,然后再在一个更大的由5000个人脸图像组成的数据集上实现PCA。数据集链接: https://pan.baidu.com/s/1cEgQIvehUcLxZ0WVhxcPuQ 提取码: xejn2)知识点概括:降维(...
2019-04-14 12:12:02
2724
6
原创 吴恩达|机器学习作业7.0.k-means聚类
7.0.k-means聚类以及图像压缩(颜色压缩)1)题目:在本练习中,您将使用k-means聚类算法并且将其应用于压缩图像。在第二部分中你将使用主成分分析来找到脸部图像的一个低维表示。第一部分为k-means聚类,你首先从一个2维的样本集开始,他可以帮助你对k-means算法有一个直观的感受。然后你将使用k-means算法对图像进行压缩,通过减少颜色数量,直到只出现在该图像中最常见的那些颜...
2019-04-12 19:42:40
2521
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人