深度学习与数据科学:谁将获胜?

原文:towardsdatascience.com/deep-learning-vs-data-science-who-will-win-103bfbad0a65

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/798ebc13a7ef28d34065b8cd6538cb19.png

来源:作者图片


两位对手走进拳击场,每个人都声称自己处于上风。数据科学家拿出了一把银尺,深度学习开发者拿出了一把闪亮的锤子——谁会构建出最好的模型?

在我之前的工作中,我既担任过数据科学家,也担任过深度学习算法开发者。如果你问我两者之间的区别是什么,我得说这并不明显

两者都处理数据和机器学习模型,并且两者使用类似的成功指标和工作原理。

那么,是什么让他们有所不同?

我认为这是态度问题。

我会大胆地概括,根据我的经验,深度学习开发者(尤其是初级开发者)往往更关注模型,而数据科学家则相反——他们分析和操作数据,使得几乎任何模型都能奏效。

或者,我应该进一步简化并说:

深度学习 = 模型导向

数据科学 = 数据导向

话虽如此,这些区别在近年来终于开始融合了。然而,在我看来,还不够快,因为各种方法可以并且应该相互受益。

话虽如此,一种方法肯定比另一种方法更重要——我可以证明这一点!

在这篇文章中,我将带你了解一个经典的机器学习项目的故事,这个故事说明了这些不同的方法(模型导向和数据导向),并突出了哪个方法占据主导地位。

当然,我会向你展示如何“解决”这个机器学习问题并构建一个强大且准确的模式。


问题设置

你是一名机器学习工程师,正在为一个知名银行的项目工作——“火星国际银行”。他们希望开发一个算法来区分两种类型的客户:普通客户和罪犯

这些罪犯在他们的银行账户中做着各种可疑的活动,所以银行认为那里有一些有用的信息可以揭露他们。

简单到不能再简单了,对吧?

你告诉他们:“这只是一个简单的二分类问题——给我数据,我下午就能解决!”“你为什么不自己来做呢?”

他们告诉你,他们不知道如何大规模训练和推理模型,这就是为什么他们来找你。

好的。

那么,数据是什么样的呢?

他们给你提供了不同客户账户的快照。具体来说,是支票账户和储蓄账户的快照,以及最常使用的两张信用卡——总共4个账户。

简单得很。

但是,等等,还有个条件。

火星国际银行不能直接给你数据**。如果有人拦截并复制它,这将是一场可怕的数据泄露!

因此,他们采取了几步来“匿名化”数据:

  1. 没有标识符:他们不会为账户快照提供任何标识符——你不知道这些是不同的账户还是同一账户的不同快照。

  2. 转换后的数据:他们不会给你原始数据,因为这可能与攻击者可能获得的某些部分数据交叉引用,从而恢复更多关于他们其他账户的信息。相反,他们使用可逆的线性和非线性变换来转换数据。

将银行的转换数据想象成一个秘密代码——没有钥匙,攻击者将试图用缺少的碎片来解决一个谜题。幸运的是,他们给了你钥匙来帮助你完成这个项目。

银行提供了“撤销”他们应用的转换所需的信息。此外,他们说,由于转换是可逆的,“不应丢失任何信息。因此,这不应损害你的模型。


在我们进入技术细节之前,我挑战你停下来思考一下:

你会如何处理这个问题?


在我们开始之前

我想确保你拥有完成这项工作所需的所有信息和代码,以便在本文中重现我的结果。因此,你需要安装一些包,设置一些导入,并在过程中定义一些常量和辅助函数。

我的目的是给你一些代码,你可以直接抓取、运行并随意玩弄。

好吧,回到项目上来。

1. 安装

你将使用一些很酷的库,所以你可能需要安装以下包:

  1. [Fast KAN](https://github.com/ZiyaoLi/fast-kan/raw/master)这篇论文展示了一个非常强大的神经网络,它是Kolmogorov Arnold Networks (KAN)的一个变体,使用了径向基函数 (RBF)。它已知收敛非常快——因此得名。
git clone https://github.com/ZiyaoLi/fast-kan
cd fast-kan
pip install .
cd ..
  1. [Umap](http://UMAP) – 这是一个很棒的降维技术!当你想要可视化高维数据时,强烈推荐使用。你的数据只有4个维度,但这种方法应该仍然有帮助。

  2. [tqdm](https://tqdm.github.io/) – 这是一个我在训练神经网络时喜欢使用的库,它可以帮助我保持理智。它提供了一个进度条,这是极其重要的。

当然,你还需要许多常规库:[torch](https://pytorch.org/get-started/locally/)[scikit-learn](https://scikit-learn.org/1.5/install.html)[matplotlib](https://matplotlib.org/stable/install/index.html)[numpy](https://numpy.org/install/)等。


2. 导入、常量和种子

你想要以有组织的方式进行工作,所以你从一些导入、常量和种子开始,以确保可重复性。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值