0%

最近OpenAI发布了Assistants API,允许在自己的应用程序中构建 AI 助手。Assistants API 目前支持三种类型的工具:Code Interpreter、Knowledge Retrieval、Function calling,还有对File的支持,其实网上已经有很多探讨Assistants API的使用方式的文章,主要参考API: https://platform.openai.com/docs/assistants/overview ,个人觉得这套工具其实本质实现了一个简单的ReAct模型,并且通过Assistants提供的 File、Function Call等能力,更好的与自己的应用程序进行交互,只不过目前还是相当不完备的,很多时候使用Assistants并不能一劳永逸。

最近开发OpenAI提供的Assistant功能,其中有个插件叫做Code Interpreter,由于需要把Assistant的分析过程在Vue中展示一下,方便问题定位,所以Code Interpreter生成的代码肯定也是要展示的,其他过程几乎都是Markdown的格式,所以特此记录下在Vue中如何渲染Markdown,在其他场景也会经常遇到渲染Markdown的需求。

世界上无最‬耻、最阴险、最歹毒的赞美,是就‬用穷的人‬艰辛和苦难,当作志励‬故事来愚弄底层民人‬。一面方‬指责现在的轻年‬人不够努力,一方告诉年轻人不要挑三拣四,我想说孩子们念了这么多年的书,家里付出了这么大的代价,凭啥不能挑三拣四,凭啥不能选择一个更好的工作。钱都流向了不缺钱的‬人,爱都‬给了不缺爱的人,‬苦也就都留给了能苦吃‬的人。

通过MLP实现手写数字识别是一个经典案例,mnist 是keras自带的一个用于手写数字识别的数据集,它的图像的分辨率是 $28 * 28$,也就是有784个像素点,它的训练集是60000个手写体图片及对应标签,测试集是10000个手写体图片及对应标签。本例中:输入层784个单元,两个隐藏层都是392个神经元,最后输出层10个单元:

之前主要学习了常见的机器学习算法,现在开始进入另一个环节:深度学习。首先就是多层感知机模型,Multi-Layer Perception(简称MLP)是标准的全连接神经网络模型,它由节点层组成,其中每个节点连接到上一层的所有输出,每个节点的输出连接到下一层节点的所有输入。本节会从一个简单的分类任务开始,逐步探讨多层感知机的工作原理。

通过酶活性预测实战来体验体验模型从欠拟合到过拟合、再到拟合的过程。选择模型从线性回归 -> 多项式回归。通过进行异常检测,帮助找到了潜在的异常数据点,进行主成分分析,判断是否需要降低数据维度,然后通过数据分离,即使未提供测试样本,也能从训练数据中分离出测试数据。然后计算得到混淆矩阵,实现模型更全面的评估。最后通过调整KNN核心参数让模型在训练数据和测试数据上均得到了好的表现。

建立模型的意义,不在于对训练数据做出准确预测,更在于对新数据的准确预测。在分类中,如何评判模型的好坏呢,之前的学习中主要是通过计算测试数据集预测准确率(accuracy)以评估模型表现,但是现在有了更好的评估方案,那就是混淆矩阵。另外在仅有训练数据的情况下如何评估模型表现呢?这个时候就需要做一些数据分离的工作。最后会讨论模型的选择与优化相关的问题。

拟合指机器学习模型在训练的过程中,通过更新参数,使得模型不断契合可观测数据(训练集)的过程,但在这个过程中容易出现欠拟合(underfitting)和过拟合(overfitting)的情况:一开始模型往往是欠拟合的,也就是说模型无法得到较低的训练误差,也正是因为如此才有了优化的空间,我们需要不断的调整参数使得模型能够更好的拟合训练集数据,但是优化到了一定程度,模型的训练误差远小于它在测试数据集上的误差,这个时候就需要解决过拟合的问题了。