本节对话 chatGPT ,记录我在摸索模型过程产生的问题。

知识点

From ChatGPT

1. 深度学习中哪些模型可以解决二分类问题?

深度学习中有许多模型可以解决二分类问题。例如,常用的模型包括卷积神经网络 (CNN)、循环神经网络 (RNN)、长短期记忆 (LSTM) 和注意力机制 (Attention Mechanism)。

卷积神经网络 (CNN) 是一种用于图像分类的模型,通过卷积层和池化层来提取图像的特征,再通过全连接层来分类。

循环神经网络 (RNN) 是一种用于处理序列数据的模型,其能够记忆序列中之前的信息,并用于当前的分类。

长短期记忆 (LSTM) 是一种特殊的 RNN,其能够记忆长时间的信息,并在分类时使用这些信息。

注意力机制 (Attention Mechanism) 是一种用于提高模型的注意力的方法,其能够让模型更好地关注输入数据中重要的部分,从而提高分类的准确率。

此外,还有许多其他的模型可以用于解决二分类问题,如支持向量机 (SVM) 和随机森林 (Random Forest) 等。根据您的具体问题,您可以选择不同的模型来进行分类。

2. 深度学习 RNN 有什么实际应用?

RNN 是一种常用的深度学习模型,其可以用于处理序列数据,并从中提取特征。因此,RNN 在实际应用中有许多用途。

例如,RNN 可以用于自然语言处理 (NLP),如文本分类、机器翻译和情感分析。RNN 还可以用于音频处理,如语音识别和语音合成。此外,RNN 还可以用于时间序列预测,如股票预测和天气预测。

总的来说,RNN 在许多不同的领域都有广泛的应用,并且在许多情况下都能取得很好的效果。

3. 如果我想预测用户使用微信时是否会发朋友圈,我应该使用什么机器学习的模型呢?

如果您想预测用户是否会在使用微信时发朋友圈,您可以使用逻辑回归模型。逻辑回归是一种常用的机器学习模型,可以用于解决二分类问题。

您可以收集用户的一些基本信息 (如年龄、性别、城市等) 以及用户在微信上的行为数据 (如发朋友圈的频率、发布的文字和图片等),然后使用逻辑回归模型来训练数据,并对用户的行为进行预测。

此外,您也可以使用其他的机器学习模型来解决这个问题,如决策树模型或支持向量机 (SVM)。根据您的具体问题,您可以选择不同的模型来解决问题。

4. 如果我想预测用户使用微信时是否会发朋友圈,我应该用机器学习还是深度学习呢?

如果您想预测用户使用微信时是否会发朋友圈,您可以使用机器学习和深度学习两种技术来解决这个问题。

机器学习是一种用于解决复杂问题的技术,可以通过训练数据来学习规律,并预测未来的结果。您可以使用机器学习模型,如逻辑回归模型或决策树模型,来处理用户在微信上的行为数据,并预测用户是否会发朋友圈。

深度学习是一种特殊的机器学习技术,其能够通过深层的神经网络来解决复杂的问题。您可以使用深度学习模型,如卷积神经网络 (CNN) 或循环神经网络 (RNN),来处理用户在微信上的行为数据,并预测用户是否会发朋友圈。

根据您的具体问题,您可以选择不同的机器学习或深度学习技术来解决问题。

5. CNN和RNN哪个更适合用来预测用户使用微信时是否会发朋友圈呢?

如果您想预测用户使用微信时是否会发朋友圈,您可以使用卷积神经网络 (CNN) 或循环神经网络 (RNN) 来解决这个问题。

卷积神经网络 (CNN) 是一种用于图像分类的深度学习模型,其能够通过卷积层和池化层来提取图像的特征,并用于分类。如果您的数据中包含大量的图像,那么您可以使用 CNN 来预测用户是否会发朋友圈。

循环神经网络 (RNN) 是一种用于处理序列数据的深度学习模型,其能够记忆序列中之前的信息,并用于当前的分类。如果您的数据中包含大量的文本信息,那么您可以使用 RNN 来预测用户是否会发朋友圈。

6. 机器学习训练一个模型大致需要多少数据量呢?

机器学习模型的训练所需的数据量取决于许多因素,包括模型的复杂度、训练的目标以及数据的质量。一般来说,机器学习模型的训练所需的数据量会比较大,但具体的数据量需要根据具体的问题来确定。

例如,对于一个简单的分类问题,您可能只需要几千条数据来训练一个模型,而对于一个复杂的自然语言处理问题,您可能需要几十万甚至几百万条数据来训练一个模型。

因此,机器学习模型的训练所需的数据量并不能一概而论,具体的数据量需要根据具体的问题来确定。

7. 你好,我现在有一组数据,我想使用jupyter对这组数据进行支持向量机的模型训练,你能给我代码提示吗?

你好!我很乐意为你提供一些帮助。

在使用 Jupyter 对数据进行支持向量机(SVM)训练之前,你需要先准备好你的数据并将其加载到 Jupyter 中。接下来,你可以使用 scikit-learn 库中的 SVM 模型来训练模型。

下面是一些代码示例,它使用了 scikit-learn 库中的 SVM 模型对训练数据进行训练:

from sklearn.svm import SVC

# 加载训练数据
X_train, y_train = load_data()

# 创建 SVM 模型
model = SVC()

# 使用训练数据训练模型
model.fit(X_train, y_train)

在上面的代码中,load_data 函数用于加载训练数据,X_train 是训练数据的特征(也称为自变量),y_train 是训练数据的目标变量(也称为因变量)。SVC 类是 scikit-learn 库中的 SVM 模型,它使用了高斯核函数(也称为 RBF 核函数)。你可以通过指定不同的参数来调整模型的表现。

在训练完模型之后,你可以使用模型对新的数据进行预测。例如:

# 加载测试数据
X_test, y_test = load_test_data()

# 使用测试数据对模型进行评估

8. 如果我的数据变量非常多,该怎么用支撑向量机呢?

如果你的数据具有大量变量,你可能需要使用特征选择方法来减少变量的数量,以提高模型的效率和准确性。

特征选择是一种机器学习技术,用于选择最重要的特征(也称为变量或特征),并移除不相关或冗余的特征。这可以通过减少模型的复杂度来提高模型的泛化能力,即使用训练数据训练出的模型能够更好地预测未知数据。

你可以使用 scikit-learn 中的各种特征选择方法来选择最重要的特征。例如,你可以使用递归特征消除(RFE)算法来选择最重要的特征。

下面是一个使用 RFE 算法选择最重要的特征的示例代码:

from sklearn.feature_selection import RFE
from sklearn.svm import SVC

# 加载训练数据
X_train, y_train = load_data()

# 创建 SVM 模型
model = SVC()

# 使用 RFE 算法选择最重要的特征
rfe = RFE(model, n_features_to_select=10)
X_train_rfe = rfe.fit_transform(X_train, y_train)

# 使用选择的特征训练模型
model.fit(X_train_rfe, y_train)

实战思考

(一)为什么要放弃Kara?

  • Kara 的模型不能自己训练
  • Kara 的各种权限问题审批很麻烦
  • Kara 有量的约束,100w每日

(二)接下来要开展的工作

  1. 把数据都下载下来

  2. 制作3种策略

(1)hardCode规则

(2)传统机器学习模型:逻辑回归模型 || 决策树模型 || 支持向量机 (SVM)

(3)如果2效果不好,考虑使用 深度学习

  1. 做好CDN预上传模型后,启动视频预压缩的工作

  2. 如果什么都不做,那么就是 「精度度最低,但召回率最高」。

想办法先把「精确度拉满,然后用模型提升召回率」。

  1. 采用混合策略:hardCode + 模型

(三)hardCode规则记录

  1. 如果只用 WordingCount ≠ 0,能把精确度提升到90%

1天没有带 wordingCount 的差不多有 : 90万左右 。

带 wordingCount 每天差不多有: 120万左右。

一天总量发表200万左右。

召回率降低到了 60%。

  1. 如果只用 editTimeMs ≠ 0,能把精确度提升到90%

召回率降低到了40%。

想到了一个很好的思路:混合模型。

(四)混合模型

1. hardCode规则

写一套if else ,hardCode规则和模型一起上。

条件1 : 能cover到 99% 的场景,覆盖量30W

Todo:18939 补充一个条件:有没有创建过视频号。

条件2: 待patch后看一下有没有创建过视频号。

2. 机器学习模型

用机器学习解决实际问题(一)中我们明确了传统机器模型的筛选方法。

结合图中红线部分,我们将在下节实战 逻辑回归(随机梯度下降)。