我是人工智能和机器学习的铁杆粉丝。我对他们了解不多,但我准备好学习。我目前是一名 PHP 网络程序员,正在为一个网站学习 python/django。
现在这个人工智能领域非常广泛,算法无数,我不知道从哪里开始。 但最终我的主要目标是使用任何算法;像遗传算法、神经网络、优化等可以在网络应用程序中编程来显示一些东西。 例如:amazon.com 中的商品推荐
现在我想要的是,在我的个人网站中,我有每个算法的演示,如果我单击“运行”,我可以向其他人展示该算法的功能。
谁能指导我应该为基于网络的应用程序学习哪些算法。
我在 sci-kit python 库中看到很多示例,但它们都是基于计算和图形的。 我认为我无法从网络角度使用它们。
有什么想法我应该怎么走吗?
请您参考如下方法:
我假设您最关心的是在网络环境中实现人工智能的一般方法,而不是人工智能算法本身的细节。任何可计算算法都可以用任何图灵完备语言(即所有现代编程语言)来实现。您可以在网络上执行的操作没有特殊限制,这只是表示以及跟踪特定于 session 的数据和共享数据的问题。此外,没有必要回避“计算”和“基于图形”的算法;大多数人工智能算法要么是其中之一(或者实际上是两者)——这就是乐趣的一部分。
例如,作为神经网络的整体方法,您可以:
- 使用 Python 类实现标准神经网络
- 可能使用历史数据来训练该集合
- 在每个请求上加载网络状态(即来自 pickle)
- 将请求字符串的一部分(即产品 ID)传送到网络,并输出结果(即其他产品的加权集,例如“点击此的用户也点击了此”)
- 此外,将请求的相关部分(即产品 ID)存储在 session 变量(即“previousProduct”)中。当同一用户发出新请求(即针对另一个产品)时,加强/创建第一个产品和下一个产品之间的联系。
- 保存每个请求之间的网络状态(即返回pickle)
这只是一个非常普遍的例子。但请记住 - 除了跟踪特定于 session 的数据和共享数据之外,在这种情况下网络编程没有什么特别的。