我对人工智能和机器学习非常着迷。虽然我对它们了解不多,但我愿意学习。我目前是一名 PHP 网页程序员,并且正在学习 Python/Django 来开发网站。
现在,人工智能领域非常广泛,算法数不胜数,我不知道从哪里开始。但最终我的主要目标是使用各种算法,如遗传算法、神经网络、优化等,这些可以在网页应用中编程展示一些内容。例如:亚马逊的商品推荐系统。
我希望在我的个人网站上展示每个算法的演示,当我点击运行时,可以向他人展示这个算法的功能。
那么,请问有人可以指导我应该研究哪些适合网页应用的算法吗?
我在 Python 的 sci-kit 库中看到了很多例子,但它们大多是基于计算和图表的。我认为从网页的角度来看,我无法使用它们。
有什么建议我该怎么做吗?
回答:
我猜你主要关心的是在网页环境中实现人工智能的一般方法,而不是人工智能算法本身的细节。任何可计算的算法都可以用任何图灵完备的语言实现(即所有现代编程语言)。在网页上没有特别的限制,只是表示方式的问题,以及跟踪会话特定数据和共享数据的问题。另外,没有必要避开“计算”和“基于图表”的算法;大多数人工智能算法要么是其中之一,要么是两者兼而有之——这正是乐趣的一部分。
例如,作为神经网络的整体方法,你可以:
- 使用 Python 类实现标准的神经网络
- 可能用历史数据训练网络
- 在每次请求时加载网络的状态(例如,从 pickle 文件中)
- 将请求字符串的一部分(例如,产品 ID)输入网络,并输出结果(例如,一组加权的其他产品,如“点击此产品的用户也点击了这些产品”)
- 同时,将请求的相关部分(例如,产品 ID)存储在会话变量中(例如,“previousProduct”)。当来自同一用户的新请求(例如,另一个产品)到来时,加强/创建第一个产品与下一个产品之间的连接。
- 在每次请求之间保存网络的状态(例如,保存回 pickle 文件)
这只是一个非常一般的例子。但请记住——在这种情况下,网页编程没有什么特别之处,除了跟踪会话特定数据和共享数据。