机器学习笔记(2021-08-02 第一稿)
写在前面:这篇相当于自己的笔记,可能对各位朋友学习的参考价值不大,非常欢迎大家给我提一些学习上的建议。第一次更新至线性回归,因为家中有事,还剩几个回归算法没有记完,有机会把坑填上。
参考资料:
1、黑马程序员-python机器学习快速入门 BV1nt411r7tj
2、《机器学习实战》 Peter · Harrington 著 李锐 李鹏 曲亚东 王斌 译
1 概述
1.1 什么是机器学习
数据、模型、预测。
从历史数据中获取规律。
历史数据需要一定的格式。
1.2 机器学习算法分类
1.2.1 监督学习(预测)
定义:输入数据由特征值和目标值组成,根据函数输出的值,可以分成两类问题:目标值为【类别】(一个类属)为分类问题;目标值为【连续型数据】,为回归问题。
常见算法
**分类:**k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归
**回归:**线性回归、岭回归
1.2.2 无监督学习
定义:输入数据集中无目标值,成为无监督学习。
聚类:k-means
举例
1、预测明日气温是多少度?——>回归问题
2、预测明天天气是否下雨?——>分类问题
3、人脸年龄预测——>若按具体数值,则为回归问题;如果按年龄段,或者年龄分类,则为分类问题
4、人脸识别——>分类问题(虽然类别很多,但是依然是分类问题)
1.3 开发流程
第一步【数据获取】
第二步【数据预处理】
第三步【特征工程】
第四步【使用算法进行训练】——获取模型
第五步【模型评估】
第六步【应用】
2 数据集
2.1 学习阶段
- kaggle
- sklearn
- UCI
2.2 sklearn数据集——sklearn.datasets:
- load_* 获取小数据集:如 sklearn.datasets.load_iris() 即加载鸢尾花数据集
- fetch_*获取大型数据集:如 sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)
- subset可选参数为 ‘train’,‘test’,‘all’.
- 训练集的训练,测试集的测试或者全部加载。
返回的数据类型——Bunch,继承自字典的数据类型。
- dataset.base.Bunch
- dict[“key”] = value
- bunch.key = value
from sklearn.datasets import load_irisdef datasets_demo():iris = load_iris() #导入数据集print("iris dataset:\n", iris) #打印数据集,发现是数组print("iris dataset description:\n",iris.DESCR) #打印数据集描述x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3, random_state=22) #数据集分割print("训练集特征值:\n",x_train,x_train.shape)return None
if __name__ == "__main__":datasets_demo()
2.3 数据集的划分
训练数据:用于训练,构件模型。
测试数据:在模型检验时使用,用于评估模型是否有效。
划分比例
- 训练集:70%~80%
- 测试集:20%~30%
数据集划分API
- sklearn.model.selection.train_test_split(arrays,*options)
- x数据集的特征值
- y数据集的标签值
- test_size 测试集的大小,一般为float型数据
- random_state 随机数种子,不同的种子会造成不同的随机采样结果,相同的种子采样结果一样。
- return 返回值,返回训练集特征值,测试集特征值,训练集目标值,测试集目标值
3 特征工程
用专业知识处理数据,使数据能在机器学习算法上发挥更好的性能
运用sklearn进行特征工程(pandas用来进行数据清洗,数据处理)
3.1 特征提取/特征抽取:
把任意数据(文本、图像),转化为可以用于机器学习的数字特征
- 机器学习算法——统计方法——数学公式
- API: sklearn.feature_extraction
3.1.1 字典特征提取
对字典数据进行特征值化
- sklearn.feature.extraction.DictVectorizer(sprarse = True,…)
- DictVectorizer.inverse_transform(X) X为array数组或sparse矩阵 返回值为转换前数据格式
- DiceVectorizer.get_feature_names() 返回类别名称
- 返回sparse矩阵——稀疏矩阵……
3.1.2 文本特征提取
- sklearn.feature.extraction.text.CountVectorizer(stop_words=[],…)
- 返回词频矩阵
- 单词 作为 特征值
- 按空格分词,如果需要更高级的分词,可以通过更高级的方法,比如jieba、NPL
- stop_words为 停用词(对分类结果意义不大的词) 需要提供停用词表
- 分词处理——jieba.cut(text)
3.1.3 ti-idf 文本特征提取
- 思想:某一词或短语在一个文本中出现的频率高,但在其他文本中出现的概率低,认为该词/短语有良好的区分能力,适合用来分类
- 作用:用来评估某一词/短语对一个文件集或语料库中的一个文件的重要程度
- 公式:
- 词频(term frequency, tf):指某一给定词在文件中的出现频率
- 逆向文档频率(inverse document frequency, idf):是一个词普遍重要性的度量。某一特定词的idf,可以由总文件数目除以包含该词的文件数目,再将得到的商取10为底的对数
- 公式tfidfi,j =tfi,j x idfi,j
- API:sklearn.feature_extraction.text.TfidfVectorize(stop_words = None,…)
3.2 特征预处理:
通过一些转换函数,将特征数据转换成更加合适算法模型的特征数据的过程。
无量纲化:
- 归一化(MinMaxScala):通过公式进行放缩,将数据映射在[0,1]区间内
- 标准化(StandardScala):对原始数据进行变换,变化为均值为0,标准差为1的范围内。
- API:sklearn.preprocessing.StandardScaler()
- StandardScaler.fit_transform(X)
- X: numpy array格式的数据
- 返回值为形状相同的array
- 原因:特征的单位或者大小相差较大,或者某特征方差相比其他特征大出几个数量级,容易影响目标结果,使得某些算法无法学习到其他的特征
3.3 特征降维:
降维——降低数据的维数
- 维数
- 0维:标量
- 1维:向量
- 2维:矩阵
- 3维:
- n维
3.3.1 降维方法
- 特征选择
- 主成分分析
3.3.2 特征选择
数据中包含冗余和相关变量(或称属性、特征、指标),从原有特征中找出主要的(有效的)特征值。
方法
- 过滤式(Filter)
- 方差选择法:过滤掉低方差的特征
- API: sklearn.feature_selection.VarianceThreshold(threshold = 0.0)
- Variance.fit_transform(X). X为numpy中array格式的数据。返回值,训练集差异低于threshold的特征将被删除,默认值是保留所有非零方差特征,即删除样本中所有相同值的特征。
- 相关系数:特征之间的相关程度
- 取值范围:r ∈ [-1,1]
- 皮尔逊相关系数
- 方差选择法:过滤掉低方差的特征
- 嵌入式(Embedded)
- 决策树
- 正则化
- 深度学习:卷积……
3.3.3 主成分分析
- API:sklearn.decomposition.PCA(n_components=None)
- 将数据分为较低维数空间
- n_components:
- 小数:表示百分之多少的信息
- 整数:减少到多少特征
- PCA.fit_transform(X) X为numpy中array类型的数据
- 返回值:降维后,转化为指定维度的array
4 分类算法
4.1 sklearn 转换器和预估器
4.1.1 转换器(Transformer)
- 实例化(实例化的是一个Transformer转换器类)
- 调用fit_transform(对于一个文档建立分类词频矩阵,不能同时调用)
特征工程的接口称为——转换器
- fit
- transform
- fit_transform
4.1.2 估计器(estimator)
sklearn中机器学习算法的实现
- 用于分类的估计器:
- sklearn.neighbors k-近邻算法
- sklearn.naive_bayes 朴素贝叶斯
- sklearn.linear_model.LogisticRegression 逻辑回归
- sklearn.tree 决策树与随机森林
- 用于回归的估计器:
- sklearn.linear_model.LinearRegression 线性回归
- sklearn.linear_model.Ridge 岭回归
- 用于无监督学习的估计器
- sklearn.cluster.KMeans 聚类
估计器的工作流程:
- 实例化一个estimator
- estimator.fit(x_train, y_train) 计算。——调用完毕,模型生成
- 模型评估
- 直接比对真实值和预测值:y_predict = estimator.predict(x_test);y_test == y_predict?(对比一下,看布尔值)
- 计算准确率:estimator.score()
4.2 k-近邻算法(knn,k nearest neighbor)
定义:一个样本与k个相邻最近的样本同属一个类别,则该样本也属于这个类别。
- 距离公式:欧氏距离
- 其他距离计算方法:
- 曼哈顿距离 绝对值距离
- 明可夫斯基距离
实例分析:
- 电影分类
- 约会对象数据
4.2.1 KNN算法API
- sklearn.neighbors.KneighborsClassifier(n_neighbors = 5, algorithm=‘auto’)
- n_neighbors:int类型,可选(默认为5),代表neighbors查询时候的“邻居”数。
- algorithm:算法模式(‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’)。auto 为自动选择效率较高的算法。
4.2.2 应用:鸢尾花数据集
- 获取数据:导入iris数据集
- 数据集划分
- 特征工程
- 标准化
- KNN预估器流程
- 模型评估
样例代码如下:
from datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
form sklearn.neighbors import NeighborsClassifierdef knn_iris():"""用knn对鸢尾花进行分类"""#获取数据iris = load_iris()#数据划分x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.traget, random_state=22)#特征工程-标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.transform(x_test)#KNN预估器estimator = KNeighborClassifier(n_neighbors = 3)estimator.fit(x_train, y_train)#模型评估#方法1:直接对比y_predict = estimator.predict(x_test)print("y_predict:\n",y_predict)print("对比:\n",y_test == y_predict)#方法2:计算准确率score = estimator.score(x_test,y_test)print("准确率:\n",score)if __name__ == "__main__":#knn算法运行knn_iris()
4.2.3 KNN的优缺点
- 优点:简单、易于理解、易于实现、无须训练
- 缺点:
- 对测试样本分类计算,占用内存开销大
- 需指定K值,当K值选择不当的时候,精确度不能保证
总结:KNN适用于小数据场景,样本量为几千~几万级别,具体效果还需要在实践中测试
4.3 模型选择与调优
4.3.1 交叉验证(Cross Validation)
什么是交叉验证?——交叉验证是指,将拿到的训练数据分为训练和验证集。如下表所示,将训练集分为四个部分,训练集训练后,用验证集进行验证。
训练集1 | 训练集2 | 训练集3 | 训练集4 | 匹配度 |
---|---|---|---|---|
验证集 | 训练集 | 训练集 | 训练集 | 75% |
训练集 | 验证集 | 训练集 | 训练集 | 85% |
训练集 | 训练集 | 验证集 | 训练集 | 78% |
训练集 | 训练集 | 训练集 | 验证集 | 82% |
交叉验证的目的。——提高准确度,让模型评估更加准确可信
4.3.2 超参数搜索——网格搜索(Grid Search)
因为在很多算法中参数需要我们指定,如KNN中的k值,这就叫超参数,但我们手动调整,过程繁杂,所以我们可以对模型设置一组超参数,对每组超参数都采用交叉验证的方法进行评估,最后选出最优组合建立模型。
K=1 | K=2 | K=5 | K=6 |
---|---|---|---|
模型 | 模型1 | 模型2 | 模型3 |
4.3.3 模型选择与调优API
- sklearn.model_selection.GridSearchCV(estimator, param_grid = None, cv=None)
- 对估计器的指定参数进行详尽搜索。
- estimator 估计器对象
- param.grid: 估计器参数(dict){“n_neighbors”:[1,3,5]}
- cv 指定几折交叉验证
- fit() 输入训练数据
- score() 准确率
- 结果:
- best_params_ 最佳参数
- best_score_ 最佳结果
- best_estimator_ 最佳估计器
- cv_results_ 交叉验证结果
4.3.4 实例对鸢尾花数据集进行模型选择与数据调优
代码参考4.2中鸢尾花knn算法
from datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
form sklearn.neighbors import NeighborsClassifier
from sklearn.model_selection import GridSearchCVdef knn_iris():"""用knn对鸢尾花进行分类"""#获取数据iris = load_iris()#数据划分x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.traget, random_state=22)#特征工程-标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.transform(x_test)#KNN预估器estimator = KNeighborClassifier(n_neighbors = 3)#加入网格搜索与交叉验证#1)参数准备param_dict ={"n_neighbors":[1,3,5,7,9,11]}#2)传参,开始选择estimator = GridSearchCV(estimator, param_grid = param_dict, cv = 10)#训练estimator.fit(x_train, y_train)#查看交叉验证情况print("最佳参数:\n", estimator.best_params_)print("最佳结果:\n", estimator.best_score_)print("最佳估计器:\n", estimator.best_estimator_)print("交叉验证结果:\n",estimator.cv_results_)if __name__ == "__main__":#knn算法运行knn_iris()
4.4 朴素贝叶斯算法(Naive Bayes)
4.4.1 概率基础
概率定义为一个事件发生的可能性
P(X):取值为[0,1]
联合概率、条件概率和相互独立
- 联合概率:包含多个条件,且同时成立的概率
- 条件概率:在事件A下发生B的概率
- 相互独立:P(A,B) = P(A)P(B) <=> 事件A与事件B相互独立
P(C∣F1,F2,F3,...)=P(F1,F2,F3,...)P(C)P(F1,F2,F3,...)P(C|F1,F2,F3,...)=\frac{P(F1,F2,F3,...)P(C)}{P(F1,F2,F3,...)} P(C∣F1,F2,F3,...)=P(F1,F2,F3,...)P(F1,F2,F3,...)P(C)
朴素?
- 假设特征和特征之间相互独立
朴素贝叶斯?
- 朴素+贝叶斯
应用:
- 文本分类,单词作为特征
拉普拉斯平滑系数
防止算出来结果是0
P(F1∣C)=Ni+αN+αmP(F1|C) = \frac{Ni+α}{N+αm} P(F1∣C)=N+αmNi+α
α为指定的一个系数,一般为1,m为特征词的个数
4.4.2 朴素贝叶斯算法API
sklearn.naive_bayes.MultinomiaINB(alpha = 1.0)
- 朴素贝叶斯算法
- alpha 为拉普拉斯平滑系数
4.4.3 朴素贝叶斯的应用——文本分类
- 数据集——20个新闻组:sklearn自带数据集,因为数据量比较大,需要用fetch来加载。
- 获取数据
- 数据集划分
- 特征工程:文本特征抽取 推荐tfidf方式
- 朴素贝叶斯预估器流程
- 模型评估
from sklearn.model_selection import train_test_split
from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import TfidfVectorizer
def nb_news():#用朴素贝叶斯算法对新闻进行分类#加载数据news = fetch_20newsgroups(subset = "all")#数据集划分x_train, x_test, y_train, y_test = train_test_split(news.data, news.traget)#特征抽取Tfidftransfer = TfidfVectorizer()x_train = transfer.fit_transform(x_train)x_test = transfer.transform(x_test)#朴素贝叶斯预估器流程estimator = MultinomialNB()estimator.fit(x_train, y_train)#模型评估#方法1:直接对比y_predict = estimator.predict(x_test)print("y_predict:\n",y_predict)print("对比:\n",y_test == y_predict)#方法2:计算准确率score = estimator.score(x_test,y_test)print("准确率:\n",score)return Noneif __name__ == "__main__":nb_news();
4.4.4 朴素贝叶斯分析
- 优点:
- 朴素贝叶斯发源于古典数学,有稳定的分类效率
- 对缺失数据不敏感,算法简单,常用于文本分类
- 分类准确度高,速度快
- 缺点
- 使用了样本独立性【假设】,因此如果特征有关联时,效果不好。
4.5 决策树
4.5.1 原理
信息熵、信息增益等(用到信息论基础的知识)
信息:消除随机不定性的东西(香农),如“小明的年龄是18岁”
信息熵:信息的衡量-信息量,单位为比特(bit),公式如下
H(X)=−∑i=1nP(xi)logbP(xi)H(X) = -\sum_{i=1}^n P(x_i)log_bP(x_i) H(X)=−i=1∑nP(xi)logbP(xi)- P(xi)为可能性
- b一般为2
4.5.2 决策树的划分依据之一——信息增益
定义与公式:特征A对训练数据集D的信息增益g(D,A),定义为集合D的信息熵H(D)与特征A给定条件下D的信息熵H(D)条件熵H(D|A)之差,即公式为:
g(D,A)=H(D)−H(D∣A)g(D,A) = H(D) - H(D|A) g(D,A)=H(D)−H(D∣A)信息熵计算:
H(D)=∑i=1n∣Ck∣∣D∣logb∣Ck∣∣D∣H(D) = \sum_{i=1}^n \frac{|C_k|}{|D|}log_b\frac{|C_k|}{|D|} H(D)=i=1∑n∣D∣∣Ck∣logb∣D∣∣Ck∣条件熵计算:
H(D∣A)=∑i=1n∣Di∣∣D∣H(Di)=−∑i=1n∣Di∣∣D∣∑k=1K∣Dik∣∣D∣logb∣Dik∣∣D∣H(D|A) = \sum_{i=1}^n \frac{|D_i|}{|D|} H(D_i) = -\sum_{i=1}^n \frac{|D_i|}{|D|} \sum_{k=1}^K \frac{|D_{ik}|}{|D|}log_b \frac{|D_{ik}|}{|D|} H(D∣A)=i=1∑n∣D∣∣Di∣H(Di)=−i=1∑n∣D∣∣Di∣k=1∑K∣D∣∣Dik∣logb∣D∣∣Dik∣- C k表示属于某个类别的样本数
4.5.3 决策树算法API
- class sklearn.tree.DecisionTreeClassifer(criterion=‘gini’, max_depth=None,random_state=None)
- 决策树分类器
- criterion(n. 准则、标准、判据):默认是‘gini’系数,也可以选择信息增益的熵‘entropy’
- max_depth:树的深度大小
- random_state:随机数种子
4.5.4 决策树的优缺点分析
- 优点:
- 简单的理解和解释,树木可视化
- 缺点
- 容易产生过拟合
- 容易建成一个很复杂的树
- 改进
- 剪枝cart算法(API中已经实现)
- 随机森林
企业决策中使用决策树情况较多,因为决策能力比较好。
4.5.5 总结
- 信息熵,信息增益的计算(数学原理)
- DecisionTreeClassifier进行决策树的划分
- export_graphviz导出到dot文件
4.6 集成学习方法之 随机森林
4.6.1 集成学习方法
- 通过几个模型的组合来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和做出预测。这些预测最后会结合成组合预测,因此会优于任何一个单分类做出的预测。【三个臭皮匠,顶个诸葛亮。】
4.6.2 什么是随机森林?
- 在机器学习中,随机森林是一个包含多个决策树的分类器,并且输出的类别是由个别树输出类别的众数而定。
4.6.3 随机森林原理过程
随机有放回的
- 特征值随机:从N个特征中随机抽取n个特征
- 训练集随机:从N个样本中随机有放回的抽样n个
4.6.4 随机森林API
- class sklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion=‘gini’, max_depth=None, bootstrap=True, random_state=None, min_samples_split=2)
- 随机森林分类器
- n_estimators: int, 可选(default = 10) 森林里的树木数量
- criterion:string,测量方法,可选(default = ‘gini’)分割特征的测量方法
- max_depth:树的高度
- max_features = ‘auto’ 每个决策树的最大特征数量
- bootstrap:布尔类型,是否放回抽样
- min_samples_split:节点划分最少样本数
- min_samples_leaf:叶子节点最小样本数
4.6.5 随机森林的优缺点分析
- 优点
- 经典、准确、高效
- 适用于大数据集
- 处理高维特征的输入样本,还不用降维
5 聚类与回归算法
5.1 线性回归
回归问题:目标值是连续的数据。
5.1.1 线性回归的原理
线性回归(Linear Regression),利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。
只有一个自变量的情况称为单变量回归,多个自变量的情况属于多元回归。
通用公式
h(w)=w1x1+w2x2+w3x3+...+b=wTx+bh(w) = w_1x_1+w_2x_2+w_3x_3+...+b = w^Tx+b h(w)=w1x1+w2x2+w3x3+...+b=wTx+b其中wx为通用函数,b为偏置值
其中w, x可以理解成矩阵 w = (b, w1, w2)T , x = (1, x1, x2)T
线性关系和线性模型:
- 线性关系不一定是线性模型
- 线性模型一定是线性关系
5.1.2 线性回归的损失和优化原理
目标:求模型参数,并且使模型参数预测准确
做法:制定损失函数和优化原理
总损失函数(最小二乘法):
J(θ)=(hw(x1)−y1)2+(hw(x2)−y2)2+...+(hw(xm)−ym)2=∑i=1m(hw(xi)−yi)2J(θ)=(h_w(x_1)-y_1)^2+(h_w(x_2)-y_2)^2+...+(h_w(x_m)-y_m)^2=\sum_{i=1}^m(h_w(x_i)-y_i)^2 J(θ)=(hw(x1)−y1)2+(hw(x2)−y2)2+...+(hw(xm)−ym)2=i=1∑m(hw(xi)−yi)2yi为第i个样本的真实值, h(xi)为第i个训练样本特征值组合预测函数
5.1.3 优化方法
正规方程
公式
w=(XTX)−1XTyw = (X^TX)^{-1}X^Ty w=(XTX)−1XTy- X为特征值矩阵
- y为目标值矩阵
- 直接求到最好的结果
- 缺点是特征值过多过于复杂时,求解速度比较慢,无法很快得到好的结果。
梯度下降
5.2 欠拟合与过拟合
5.3 岭回归
5.4 分类算法:逻辑回归与二分类
机器学习笔记(2021-08-02 第一稿)相关推荐
- 2021李宏毅机器学习笔记--21 Anomaly Detection
2021李宏毅机器学习笔记--21 Anomaly Detection(异常侦测) 摘要 一.问题描述 二.Anomaly异常 三.Anomaly Detection(异常侦测)做法 3.1 Bina ...
- cs224w(图机器学习)2021冬季课程学习笔记5 Colab 1:Node Embeddings
诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 0. Python包导入 1. NetworkX数据获取.可视化 2. 探索NetworkX数据的 ...
- cs224w(图机器学习)2021冬季课程学习笔记16 Community Detection in Networks
诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Community Detection in Networks 2. Network Com ...
- cs224w(图机器学习)2021冬季课程学习笔记8 Colab 2
诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 VX号"PolarisRisingWar"可直接搜索添加作者好友讨论. 更新日志: 20 ...
- 2021李宏毅机器学习笔记--12 attack ML models
2021李宏毅机器学习笔记--12 attack ML models 摘要 一.图像模型的攻击 1.1原理 1.2Constraint 1.3参数训练 1.4一个例子 1.5攻击方法 1.5.1FGS ...
- cs224w(图机器学习)2021冬季课程学习笔记2: Traditional Methods for ML on Graphs
诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. 章节前言 2. Traditional Feature-based Methods: Nod ...
- cs224w(图机器学习)2021冬季课程学习笔记18 Colab 4:异质图
诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 Question 1. DeepSNAP异质图简介 1.1 Question 1.1:分配Node ...
- cs224w(图机器学习)2021冬季课程学习笔记21 Scaling Up GNNs to Large Graphs
诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. 介绍scale up GNN问题 2. GraphSAGE Neighbor Samplin ...
- 2021李宏毅机器学习笔记--22 Generative Adversarial Network 01
@[TOC](2021李宏毅机器学习笔记–22 Generative Adversarial Network 01(GAN,生成式对抗网络)) 摘要 GAN是建立于神经网络的基础上的,其核心思想是&q ...
- cs224w(图机器学习)2021冬季课程学习笔记9 Graph Neural Networks 2: Design Space
诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. A General Perspective on Graph Neural Networks ...
最新文章
- 小程序云开发 一开通云开发,给数据库添加一条记录
- coverage代码覆盖率测试工具:基本原理分析与使用
- 如何计算空间一条直线外一点到这条直线的垂足点坐标
- 彻底解决iOS项目中 _OBJC_CLASS_$_XXXService, referenced from: 的类似问题
- JMeter中添加dubbo相关插件异常问题解决
- [ZOJ 3203] 灯泡
- jq金钱如何加千分位_拼多多如何玩转场景推广
- linux mc服务器 mod_如何在linux搭建MC服务器
- linux php c 扩展,linux下编写php5.6的C扩展模块(双向链表)
- OPENCV数据结构体系和常用函数
- 丢失更新的问题产生和解决
- EJBCA 在windows上的安装
- 【Shell Basic】source . 与 bash sh 的区别
- 数据仓库的分层,你知道吗?
- 水波纹 android,Android特效之水波纹的实现
- 商城-商品规格管理-商品规格参数管理
- 什么叫别让孩子输在起跑线上?! - 电子产品已成儿童“多动症”诱因
- 管理者神功之“九”阴真经
- 思科瘦AP开启telnet/ssh通过WLC命令方式
- 智能电视聚好看连接服务器失败,最新海信电视网络故障解决方法汇总!新老用户值得收藏!...
热门文章
- Uncaught SyntaxError: identifier starts immediately after numeric literal
- Java二维数组排序
- linux 分割后恢复文件路径,使用Linux系统自带多路径时路径故障恢复后无法自动回切...
- UWP 手绘视频创作工具技术分享系列 - 有 AI 的手绘视频
- Spring更简单的读取和存储对象
- OpenGL使用纯VBO方式渲染出三角形,非VAO
- python udp socket 缓冲区大小_Python网络编程(socket模块、缓冲区、http协议)
- 如何解决Windows 7的多重网络问题
- 5.15 综合案例2.0-燃气检测系统(仅支持2.02以上版本)
- revit安装包为什么比安装后文件大