开源&回归和&数据库
文章平均质量分 63
人工智能机器学习记录,以及写自己在使用开源项目时,一些不满足需求的时候,去修改开源项目源码,添加功能的记录,以及数据库相关,与国产数据库使用相关,以及源码二次开发的总结,以及常见的异常的处理
添柴程序猿
10年编程工作,涉及到.Net,Java,Android,C,Python等,爱好算法,人工智能,大数据等领域, 虚心求教,一起进步,大学毕业参加工作,如今一晃10多年已过,时间飞逝....
展开
-
人工智能_大模型042_模型微调002_模型微调代码开发_模型评估_模型checkpoint_超参数构建_训练器构建_数据规整器构建---人工智能工作笔记0177
因为,对于输出的文本,是需要参与loss计算的,其他的都是训练部分,不参与loss计算,所以用代替表示了.checkpoint就是对模型的节点保存,就是保存了一个时间点的模型状态,这个状态包括了这个时间点的模型的参数权重,和优化器的状态,这个优化器后面我们会说.注意这里的token_id,其实就是,文本的向量化后的数字,这个数字,能让机器,理解自然语言,的表达方式。这个的作用是,这样的话,因为我们说,我们的数据输入到训练器中是,随机一批一批输入的,那么。原创 2024-04-26 15:05:16 · 96 阅读 · 0 评论 -
人工智能_大模型041_模型微调001_ChatGLM函数调用功能测试_微调前后功能对比_lora微调_HuggingFace模型训练利器_模型训练流程---人工智能工作笔记0176
学习率的大小直接影响到模型的训练速度和最终结果的准确性。这里计算loss,可以理解为正态分布中计算y的值,因为训练数据y值已知,通过函数计算得到,学习率,直到学习率收敛到合适的值。训练器的超参数指的是,指定学习率的,批次的大小,求解器的类型和参数 学习率的调节方式 dropout概率。5.在训练器进行训练之前还需要,给训练器配置超参数,这里指的是,模型的参数和训练的参数,模型的参数主要是。AI开发的重点,在于跟其他传统开发不一样的地方就是,在做AI开发的时候,需要大量的实验,看实际的效果,原创 2024-04-26 11:25:26 · 6 阅读 · 0 评论 -
人工智能_大模型039_AutoGPT智能体工具编写002_智能体使用Tools编写_大模型分析Excel文件_执行模型生成的文件分析python代码_Tools集实现---人工智能工作笔记0174
这行代码是Python中的一个常用结构,用于判断当前的脚本是被作为主程序运行还是被作为模块导入到另一个脚本中。Action.py文件,用来存动作功能,然后创建一个Tools文件夹,里面放上各种的,供大模型使用的工具。__init__.py文件用来初始化,然后因为我们需要让大模型根据,我们指定的目录中的文件去分析,可以根据提示进行安装,但是注意,如果网络不通的话,可能会装不上的,这个时候,需要,先弄网络。可以看到我们在Agent目录中添加一个__init__.py初始化的文件,然后,创建一个。原创 2024-04-19 15:25:15 · 184 阅读 · 0 评论 -
TIDB架构介绍_SQL查询存储原理分析_TIDB Cluster_PD Cluster_StorageCluster_分布式国产开源关系型数据库TiDB_002---大数据工作笔记187
region和region之间,因为是分布式,所以,当第一次TIDB把数据,存储到某个TIKV的region以后,还需要把这个region数据,传输到其他节点上,做为副本。比如这里首先左侧,前端使用TiDB的用户,发送过来一个SQL,然后这个SQL首先经过TiDB Cluster,然后一个sql以row,行数据的形式,存到Ti KV中。然后我们继续看这里,当前端应用,执行一个SQL,其实他只需要,通过负载均衡,找到一个TIDB Server,然后剩下的由TIDB Server去做后续操作,原创 2024-04-08 17:18:59 · 27 阅读 · 0 评论 -
TIDB介绍_分布式国产开源关系型数据库_支持OLTP在线事物交易类数据处理_支持OLAP在线流式数据处理_应用场景介绍_支持高并发,低延时,数据一致性,高可用---大数据工作笔记0186
然后我们再来看,他支持这个OLTP,支持在线事务处理,表示可以用来处理交易数据,然后OLAP,表示支持在线数据分析,支持流式数据在线处理。可以看到首先是一款关系型数据库,支持分布式,同时支持数据分析和事物处理.兼容MySQL5.7协议和MySQL生态。可以看到金融可用因为支持在线事物OLTP,实时这个HTAP后面说,分布式,扩展,云原生后面说。支持多数据源,满足高并发,低延时,数据一致性,高可用。使用HTAP,可以实现统一,实时 和弹性的特点,另外。支持实时分析,支持实时写入,实时查询。原创 2024-04-01 10:17:48 · 70 阅读 · 0 评论 -
人工智能_大模型017_RAG量化检索增强003_RRF融合排序_文本分割粒度_文本交叠分割保留上下文_检索后排序_混合检索_手写混合检索_融合排序_RAG-Fusion---人工智能工作笔记0153
我问的问题是:LLM安全吗?可以看到上面的代码,如果我们用之前的版本分割文本,其实就是按照空行的部分分割的文本,这样,就是一个段落一个文本,但答案有可能是,需要在上一段,以及结合,这一段,一起才能找到答案.然后我们来看如何做文本分割的粒度,为什么要做文本分割的交叠分割,是因为如果不做,保留上下文的这种,关键词提取,还有文本分割,以后,存入到es中的话,那么,准确率不高.比如,我要1,2,3前三个相关性的文本,排序的时候,他给出了1,2,3但是可能低3个,相关性最好,应该放到排序的第一位.原创 2024-03-10 11:22:08 · 115 阅读 · 1 评论 -
使用DBSyncer同步Oracle11g数据到Mysql5.7中_实现全量数据同步和增量数据实时同步_操作过程---数据同步之DBSyncer工作笔记007501
之前都是用mysql和Postgresql之间进行同步的,已经实现了数据的实时同步,现在要实现Oracle数据库到Mysql数据库的全量,以及增量同步.因为之前配置的不对,这里架构名写成了orcl,所以导致,虽然能连接上,但是,在进行数据同步的时候,看不到表,所以这里说一下如何进行连接。架构名指的就是数据库名称,不要写错了,这里并不是orcl,这里是数据库名称。这里,首先选择驱动,然后选择类型,选择Oracle,然后这里填写一个名称。添加完驱动,选择全量同步,然后选择对应的表,添加上主键,就可以了。原创 2024-01-24 11:41:08 · 487 阅读 · 0 评论 -
使用Navicat在Oracle和Mysql之间同步数据_连接Oracle11g报错_Oracle library is not loaded_ORA-28547:conn---数据库工作笔记019
然后这个时候,打开新生成的Navicat.exe点击注册,然后,再去优化工具,点击第一个generate,然后生成一串号码,然后把号码,放到Navicat对应的框中,然后点下一步,然后再去把Navicat15显示的一串码,放到优化工具中点击第二个generate按钮,然后又生成了一串码,把这串码放到Navicat下面的框中,然后点击注册就可以成功使用了.重要的一步,就是先关闭Navicat,然后再去打开,这个时候,再去连接Oracle就可以连接上了.走到这个Navicat界面,找到工具,选项,然后。原创 2024-01-24 10:21:41 · 212 阅读 · 0 评论 -
单机版ElasticSearch健康状态yellow解决---ElasticSearch工作笔记035
{"number_of_replicas":0}' 回行了,但是是一句哈,将副本分片设置为0。可以看到这个是status就是yellow表示就是有问题的,然后。查看状态就可以看到,状态显示green了。可以看到这句. 执行以后,然后再去。原创 2023-12-12 22:41:37 · 659 阅读 · 0 评论 -
人工智能基础_机器学习050_对比sigmoid函数和softmax函数的区别_两种分类器算法的区别---人工智能工作笔记0090
在多分类问题中,softmax函数可以将其压缩为长度为KKK,值在[0,1][0,1][0,1]范围内,并且向量中元素的总和为1的实向量。可以看到最上面是softmax的函数对吧,但是如果当k = 2 那么这个时候softmax的函数就可以退化为sigmoid函数,也就是 逻辑斯蒂回归了对吧。可以看到k=2 表示,只有两个类别对吧,两个类别的分类不就是sigmoid函数嘛对吧,所以说。这个是分子对吧,展开的时候,其实就是两个,这里表示两个分子,这个是一个作业,这里是用来区分识别手写字分类的,这里就是。原创 2023-11-26 15:04:37 · 407 阅读 · 0 评论 -
人工智能基础_机器学习049_使用逻辑回归_并指定使用softmax进行多分类_并拆解softmax计算过程_手动写代码展现softmax计算过程---人工智能工作笔记0089
X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=1024) 打乱数据顺序,并且获取,默认百分之80做为训练数据,百分之20做为测试数据。是比如有1行3列,那么这里的axis = 1 就是,纵向,沿着列的方向相加,其实就是每一列加起来对吧。执行看看结果,打印出z,可以看到对应的z就是每个公式的结果对吧,也就是,对应的X_test的。因为38行3列,这个也是二维的,是第二维的里面,有个一维,这个每个一维都是1行,3列的。原创 2023-11-26 14:29:24 · 147 阅读 · 0 评论 -
人工智能基础_机器学习048_Softmax软最大回归_将数据转换为概率_Softmax回归函数_多分类器_与概率计算_避免OVR多分类器的偏向性---人工智能工作笔记0088
因此,如果某个类别的样本数量远大于其他类别,那么该类别的分类器就会具有更高的权重,从而可能导致分类器的偏向性。由于第一类的样本数量远远大于其他类别,因此第一类的分类器更加关注第一类的样本,而忽略其他类别的样本。在测试阶段,如果我们提交一个新样本给分类器进行分类,那么第一类的分类器很可能会将该样本判定为第一类,而其他类别的分类器则可能判定该样本为第一类或其他类别,但概率相对较低。上面这个公式,其实就是,对于y=1的时候,对应的hthetax的概率计算,y=2的时候概率计算,一直到y=k的时候概率计算。原创 2023-11-22 23:17:45 · 169 阅读 · 0 评论 -
人工智能基础_机器学习047_用逻辑回归实现二分类以上的多分类_手写代码实现逻辑回归OVR概率计算---人工智能工作笔记0087
比如举个例子,有3个数1,2,3 ,那么用1 / (1+2+3) 2/ (1+2+3) 3/ (1+2+3) 这样得到的概率,加起来就是1对吧,一个道理。- 对于类别{1, 2},比较1和2之间的年龄差异,可以得到1比2年轻,因此1属于一类,2属于另一类。- 对于类别{1, 3},比较1和3之间的年龄差异,可以得到1比3年轻,因此1属于一类,3属于另一类。1. 首先,将三个人分别标记为1、2和3,形成三个类别:{1, 2}, {1, 3}和{2, 3}。原创 2023-11-22 22:37:18 · 1991 阅读 · 0 评论 -
人工智能基础_机器学习046_OVR模型多分类器的使用_逻辑回归OVR建模与概率预测---人工智能工作笔记0086
X_train, X_test, y_train, y_test = traintest_ split (X, y, test_size = 0.2) 然后这个意思是,test_size表示使用样本中的百分之20的数据,做为测试数据,然后剩下的百分之80是训练数据,并且打乱以后,把数据分别赋值给X_train, X_test, y_train, y_test。30,4 X_test这个是测试数据,获取了30行4列的数据,用来做测试用的,其实就是按咱们指定的百分之20来划分的。原创 2023-11-21 23:07:41 · 1640 阅读 · 0 评论 -
人工智能基础_机器学习045_逻辑回归的梯度下降公式推导_更新公式---人工智能工作笔记0085
这个是函数的推导过程,这里我们最好是能理解,如果不能理解,需要去学习导数了,数学里面的东西,不过不懂不影响我们使用,需要知道,以后,再去把数学部分补上.可以看到,最后得到的导函数和多元线性回归的导函数一样对吧,有了这个导函数。可以看到上面是逻辑回归的梯度下降公式,这里的阿尔法是学习率,这里的。上面是求导sigmoid函数,然后我们再去对损失函数进行求导,我们。然后我们再去看,其实损失函数的求导,就是对上面损失函数的一个变换。他的导数,我们对他来求导,就能看到它的导数就是它自身,很神奇。原创 2023-11-21 11:56:12 · 557 阅读 · 0 评论 -
人工智能基础_机器学习044_使用逻辑回归模型计算逻辑回归概率_以及_逻辑回归代码实现与手动计算概率对比---人工智能工作笔记0084
将训练数据 测试数据分开:这里我们让80%是训练数据,保留20%做为测试数据X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2)=2 #过滤数据:类别是2,过滤掉 , 这个意思就是如果y不等于2 ,那么就是y数据,其实就是只获取y不是2的部分的数据,因为我们处理的是2分类问题,所以这里就把数据归为2种了。这意味着,对于一个二维数组。其实就是w[[1,2,3,4]] 获取第0个,其实就是获取里面的数据,对吧,要一个1维的数据。原创 2023-11-18 15:52:26 · 660 阅读 · 1 评论 -
人工智能基础_机器学习043_逻辑斯蒂回归损失函数的立体化呈现002_sigmoid损失函数立体化呈现_手写代码实现逻辑回归立体化呈现---人工智能工作笔记0083
ax. plot_surface(w1_grid, w2_grid, loss_grid, cmab = 'viridis') 用viridis,这种颜色,以w1_grid为x坐标,以w2_grid为y坐标,以loss_grid为z坐标画图。注意这里我们没有使用梯度下降来计算对吧,我们是把一个的损失值,还有w系数,画出来的图,也就是说,如果我们做梯度下降就可以沿着,这个画的椭圆,也就是每次的损失值,进行下降就可以了。进行归一化操作,这里我们用了scale进行的归一化,和用stardard是一样的效果,原创 2023-11-18 14:35:58 · 45 阅读 · 0 评论 -
人工智能基础_机器学习042_逻辑斯蒂回归损失函数的立体化呈现001_sigmoid损失函数立体化呈现_手写代码实现逻辑回归立体化呈现---人工智能工作笔记0082
这样就可以将数组中的元素限制在指定的范围内。for x_i,y_i in zip(X,y): 这里的循环就是x_i 表示从X矩阵中569行2列中获取2行数据,然后y_i,就是从569行1列的y中获取一个的y_i数据就可以了。w1_space = np.linspace(w1-2,w1+2 ,100) 获取100个,比w1,大小2的范围的,100个等差数列数据。w2_space = np.linspace(w2-2,w2+2 ,100) 获取100个,比w2,大小2的范围的,100个等差数列数据。原创 2023-11-17 17:05:29 · 56 阅读 · 0 评论 -
人工智能基础_机器学习041_Sigmoid函数详解_Sigmoid损失函数推导_最大似然函数推导---人工智能工作笔记0081
可以看到,把两个公式河道一起就得到了下面的概率公式. 这里是有关概率论中的一些东西,如果想很清楚需要学习一下,但是不影响我们使用.我们可以在前面加个负号,来把,求最大总似然,改成求损失函数的最小值,其实就是把似然函数,转换成了损失函数.连加,也就是通过对数,把连乘转换城连加,可以看到,求对数就是求ln,把指数拿下来,然后上面的似然函数是连乘的方式,那么,连乘的计算非常困难,所以我们可以转换为。可以看到这个就是我们通过,对逻辑回归表达式的似然函数,加负号,变成求。因为似然函数的值最大,那么概率就越大。原创 2023-11-17 10:55:16 · 390 阅读 · 0 评论 -
人工智能基础_机器学习040_Sigmoid函数详解_单位阶跃函数与对数几率函数_伯努利分布---人工智能工作笔记0080
我们把这个线性回归方程,用e-thetaTx来代替,做为一个整体来看待,然后 用1/1+的形式,这样。我们要知道这里的,Sigmoid函数的意义,这逻辑斯蒂回归的意义就是,在多元线性回归的基础上,把。多元线性回归的结果,缩放到0到1之间对吧,根据中间的0.5为分类,小于0.5的一类,大于的一类,x=1的时候,那么 对应概率是p,那么x = 0的时候,概率自然就是1-p。可以看到,这里的x,也就是概率,是0到1的,那么我们称为 伯努利分布。然后我们看这个函数,让它为0.5的时候,那么。原创 2023-11-16 16:08:46 · 431 阅读 · 0 评论 -
人工智能基础_机器学习039_sigmoid函数_逻辑回归_逻辑斯蒂回归_分类神器_代码实现逻辑回归图---人工智能工作笔记0079
在逻辑斯蒂回归中,我们通常使用的是二分类问题,即样本只属于两个类别中的一个。为了进行多类别的分类,可以采用一对多(One-vs-Rest)的方法,将多类别的问题转化为多个二分类问题。我们之前学习的linear_model这个是线性模块,这里面的回归,包括,套索回归,弹性网络回归,岭回归,线性回归,都是线性的,用来进行趋势的预测,还有曲线走势的数据拟合.然后0到0.5是左边,右边是0.5到1 ,那么就可以用来分类的,他的图形这里,可以看到它的y轴是0到1的,对吧。SVM支持向量机的本质也是线性的.原创 2023-11-16 13:23:34 · 941 阅读 · 0 评论 -
在MySql一个数据源的所有数据库中根据数据表注释查询数据表所属数据库以及表名_根据某个表列注释查询表名---MySql工作笔记005
可以通过上面的两个sql来根据,表注释,或者列注释,查询这个表,所属的数据库,数据表,数据表注释,列注释等. 当然换成表名的话也可以通过表名,列名查询。原创 2023-11-16 11:18:12 · 204 阅读 · 0 评论 -
人工智能基础_机器学习038_中国人寿保费预测(EDA数据探索)_导包_数据探索_---人工智能工作笔记0078
在训练SGD模型时,如果输入数据的尺度差异很大,那么在更新模型参数时,尺度较大的特征会占据主导地位,导致模型忽略尺度较小的特征。这样,在更新模型参数时,不同特征都能发挥一定的作用,从而提高模型的性能。数据探索通常指的是通过可视化、统计等方法来探索和理解数据的过程,而EDA则是一种更具体的统计分析方法,用于帮助理解数据的基本特征和发现其中的规律和模式。其实就是因为,随机梯度下降,是一步步进行下降的,如果数据差异太大,那么就可能会,让数值大的参数,影响下降的结果,也就是让随机梯度下降走弯路对吧.原创 2023-11-16 09:43:58 · 446 阅读 · 0 评论 -
人工智能基础_机器学习037_多项式回归升维实战4_使用随机梯度下降模型_对天猫双十一销量数据进行预测_拟合---人工智能工作笔记0077
我们把X_test2_norm = stardard.transform(X_test2)再改回去,改成了X_test2_norm = stardard.fit_transform(X_test2)了对吧,这样也是可以了,因为上面已经fit了。我们把X_test2_norm = stardard.fit_transform(X_test2)改成了X_test2_norm = stardard.transform(X_test2)了对吧,其实没有影响我们下面会说。的主要区别在于是否需要先拟合数据。原创 2023-11-15 23:37:45 · 404 阅读 · 0 评论 -
人工智能基础_机器学习036_多项式回归升维实战3_使用线性回归模型_对天猫双十一销量数据进行预测_拟合---人工智能工作笔记0076
X_test = np.linspace(2009,2020,50).reshape(-1,1) 从2009到2020 获取50个等差数列,并且,弄成10行1列的数据,做为测试数据。X= np.arrange(2009,2020).reshape(-1,1) 这里我们添加上这个.reshape(-1,1) 把数据约束到二维上。X= np.arrange(2009,2020).reshape(-1,1) - 2008 就可以了。可以看到这个结果X_2的数据是升维后的数据,分别是 0次方,1次方,2次方对吧。原创 2023-11-15 17:16:50 · 506 阅读 · 0 评论 -
人工智能基础_机器学习035_多项式回归升维实战2_使用sklearn的PolynomialFeatures进行升维---人工智能工作笔记0075
X=X.reshape(-1,1) #数据就是二维数据,机器学习,算法要求 这之前已经说过了,是把数据改成二维数据,np.randoe.randn(100),因为没有写成np.random.randn(100,1)会因为广播机制,变成100行100列的数据,用这个X=X.reshape(-1,1) 以后就会变成100行1列的数据.3的0次方 * 2的0次方 = 1 3的零次方*2的一次方 = 2 3的一次方*2的零次方=3 3的一次方*2的一次方=6 这里面不包括自己对吧。原创 2023-11-15 14:07:14 · 692 阅读 · 0 评论 -
人工智能基础_机器学习034_多项式回归升维_以及维度概念详解_没有拟合不是模型不行_而是数据不行_没有把方程中的二次幂x^2数据补齐_数据需要升维---人工智能工作笔记0074
上一节我们说了一种,对于一元二次方程的,升维的方法,并且使用线性回归对升维后的数据进行了训练,得到了一个可以拟合数据的图形曲线.比如改成y = w1*x1+w2*x1^2+b 这样,然后再去用线性回归进行升维处理数据,也就是对我们生成的。我们可以让比如 y = w1*x1+b 这种,我们可以给系数x1,让他给平方,或者立方,加上这两个系数。那么这样就让我们可以用线性回归,来处理非线性数据,对预测数据进行拟合了,我们提出了,训练数据,比如X1进行升维,添加一列X1^2,然后带入线性回归进行计算.原创 2023-11-15 10:02:07 · 64 阅读 · 0 评论 -
人工智能基础_机器学习033_多项式回归升维_多项式回归代码实现_非线性数据预测_升维后的数据对非线性数据预测---人工智能工作笔记0073
这个是(x-5)的平方+3x-12 ,然后加上扰动因素,这里的扰动因素,注意,是用np.random.randn(100) 这个来算的,但是这里要注意,这里是一个一元二次方程对吧,之前我们都是多元一次方程,现在我们这个是一元二次方程,这个时候要注意他的图形,就是曲线了,不是线性,直线了.然后还需要注意,这里的np.random.randn(100),这里因为没有用np.random.randn(100,1)所以这里会由于python中的广播机制,这个矩阵变成了,100,100的形状,这个时候我们需要用。原创 2023-11-14 23:35:31 · 400 阅读 · 0 评论 -
人工智能基础_机器学习032_多项式回归升维_原理理解---人工智能工作笔记0072
原来我们学习的使用线性回归,其实就是一条直线对吧,那个是一维的,我们之前学的全部都是一维的对吧,是一维的,然后是多远的,因为有多个x1,x2,x3,x4...所以可以看到,有了这个规则我们就可以对多元一次方程,进行,升维,我们可以取系数的,x1,x2,x1^2,x2^2,x1x2...这样 然后公式就变了,维度变多了。那么怎么来进行升维,其实就是,让元数,比如,一元一次方程这里的元,跟自己相乘。对吧,这样我们再画出图来,就可以看到,不是单独的线性的了,是曲线了.现在开始我们来看多项式回归,首先理解多维。原创 2023-11-14 19:36:49 · 369 阅读 · 0 评论 -
人工智能基础_机器学习031_使用线性回归_线性回归衍生函数_套索回归_Lasso回归_Ridge岭回归_ElasticNet弹性网络回归_来对天池工业蒸汽量数据预测对比---人工智能工作笔记0071
然后我们下面开始使用不同的回归模型来对,我们之前用到的天池工业蒸汽量数据进行构建模型,训练数据,然后把对测试数据的预测结果提交到天池工业蒸汽量大赛的官网,得到评分结果,进行对比.我们说套索回归是可以把一些没用的权重变成0,也就是说,天池工业蒸汽量数据中,给了很多数据,其实是没用的,权重是很小的,可以看到用lasso回归效果很好了对吧.这些就是,对天池工业蒸汽量数据,使用我们至今学到的所有的模型,算法,来进行预测,得到的整体效果了.首先我们来看一下这个使用普通线性回归的,代码,执行以后,拿到结果。原创 2023-11-14 17:26:48 · 164 阅读 · 0 评论 -
人工智能基础_机器学习030_ElasticNet弹性网络_弹性回归的使用---人工智能工作笔记0070
sgd = SGDRegressor (penalty = 'l2' , alpha = 0 , l1_ratio = 0.7 ) 然后再使用随机梯度下降,使用l2正则进行梯度回归下降,看看结果。model = ElasticNet(alpha = 1 ,l1_ratio = 0.7 ) 我们使用alpha是1,然后l1_ratio是0.7的参数来进行运算。print(原始方程的斜率:',w.ravel()) 打印出原始的斜率,这个w是20列1行的,这里用ravel平铺矩阵,意思就是用1维来显示数据。原创 2023-11-14 15:20:14 · 908 阅读 · 0 评论 -
人工智能基础_机器学习029_Lasso回归的使用_代码实现_稀疏性提现---人工智能工作笔记0069
这里y=x.dot(w)+b+np.random.randn(100,1) 这里为什么写上np.random.randn(100,1)可以看到。对应起来以后,发现,他的值,比随机梯度下降以后的值,是趋近于0的对吧,如果是大于0的就,变小了,如果是小于0的就变大了,趋近于0了就是。b =np.random_randint (1,10,size = 1) 然后生成一个一个截距,是size=1是1维的。后面的部分|wi|绝对值的加和,后面是公式的写法,前后是相等的,左边的公式,下角1表示第一范数。原创 2023-11-14 14:24:17 · 355 阅读 · 0 评论 -
人工智能基础_机器学习028_Ridge算法的使用_Ridge_岭回归使用L2_可以缩小w系数_使用代码证明_L1可以让不重要的权重置零---人工智能工作笔记0068
ridge = Ridge(alpha = 1, solver ='sag') 这里我们指定了阿尔法是1,然后solver是sag,sag是使用随机梯度下降对吧,然后alpha是指定L2正则的权重。w=np.random.randint(1,10,size=(5,1)) 然后我们准备5行1列的,w权重对吧,这样才能和100行5列的数据相乘.可以看到这里alpha这个,参数要知道必须是正数然后这个数越大,起到的效果越小,越小起到的效果越大,是反着的。没问题对吧,x是100行5列的,然后y是100行一列的。原创 2023-11-14 11:45:44 · 279 阅读 · 0 评论 -
人工智能基础_机器学习027_L2正则化_岭回归_非稀疏性_原理解读_公式推导---人工智能工作笔记0067
从这个公式,变化到上面那个公式我们看看怎么变化的,其实很简单了,其实就是带入,然后计算就可以了,注意这里的wi我们看成theta,然后这里的2阿尔法,我们看成阿尔法,这里的eta表示学习率,带入以后就得到了上面红色的第一个公式,这里我们可以看到。这里的n和阿尔法都是大于0的,所以,乘以的这个数肯定也是大于0的,那么这里步幅*阿尔法就是大于0的,1-大于0的数, 这个数是小于1的,那么所以 这个时候theta*小于1的数,就加速了,得到的新的theta,就越小对吧.然后我们再去画出来,跟这个图中就一样了。原创 2023-11-14 11:02:59 · 429 阅读 · 0 评论 -
人工智能基础_机器学习026_L1正则化_套索回归权重衰减梯度下降公式_原理解读---人工智能工作笔记0066
-1,也就是注意是sgn(wi) = -1 ,这个时候减去一个负数,就是相加一个正数对吧,那么,因为这个时候wi是负数,那么加上一个正数,比如 -5+2 = -3 对吧,实际上w的结果是变大了,其实也就是向0靠齐对吧.我们也可以通过上面的图看出来L1正则的,一些棱角,往往在坐标轴上,所以很可能会遇到为0的w对吧,权重,其实就是x是0,也就是横轴是0的权重。首先我们知道这里的n表示学习率是步幅是大于0的,然后阿尔法是L1的惩罚系数也是大于0的,然后。带L1正则的线性回归的梯度下降公式,可以看到。原创 2023-11-13 23:15:43 · 743 阅读 · 0 评论 -
人工智能基础_机器学习025_防止过拟合措施_正则化稀松性缩小系数到0_特征选择_螺丝回归_L1理解阿尔法系数减小图形变大_L1图形限制w大小---人工智能工作笔记0065
这可以使得打印出的数组更加紧凑,只显示数组的元素值。可以看到这里对于这个套索回归,这里对于这个回归的,损失函数来说,我们知道是添加了L1正则的,那么在L1正则的前面有个阿尔法,这个是设置,这个L1正则的权重的.np.random.randint(0,10,size =(3,4,5)) 这个就是3维的对吧,是3行,4小行,5小列...这个不太好说可以打印出来看。# 假设x,y都是大于零,那么这里我们修改一下,改成alpha=1,原来是1,我们改成0.5,改小了对吧,按说这个时候w就变大了才对。原创 2023-11-13 22:26:35 · 125 阅读 · 0 评论 -
人工智能基础_机器学习024_梯度下降进阶_L1正则可视化图形---人工智能工作笔记0064
'left'`表示左侧边框;具体来说,`ax.spines['left'].set_position('data',0)`的作用是将左侧边框的位置设置为数据的第0个值。x1=np.linspace(0,1,50) 我们这里x,y都大于0,我们取x是0到1之间,我们取50个数的等差数列。这样的写法,实际上上,让左边的线和中间的线重合,那么就看不出来有左边的线了,bottom下边线也是一样的意思。x3 = np.linspace(0,1,50) 我们这里x大于0所以我们取x是0到1的50个等差数列。原创 2023-11-11 17:30:25 · 437 阅读 · 0 评论 -
人工智能基础_机器学习023_理解套索回归_认识L1正则---人工智能工作笔记0063
我们知道如果不添加正则化,那么出现过拟合的话,会是2这种图,可以看到,有很多地方的拐点,比较陡峭,我们知道w指的是斜率,那么曲线,曲里拐弯,说明斜率大对吧,其实就是w大,那么我们要做的就是。可以看到我们先考虑最简单的二维,有w1,w2两个全助攻,然后梯度下降,求解损失函数的过程,可以画出一个等值线,然后再去加上这个L1正则,可以看到L1的正则是左下角那个菱形,L1可以看到,这个正则,就是在损失函数的基础上给损失函数,添加了一个带有绝对值的||所有的w的和对,不过这里,又有一个阿尔法对吧.原创 2023-11-11 15:55:12 · 851 阅读 · 0 评论 -
人工智能基础_机器学习022_使用正则化_曼哈顿距离_欧氏距离_提高模型鲁棒性_过拟合_欠拟合_正则化提高模型泛化能力---人工智能工作笔记0062
然后我们再来看一下,过拟合和欠拟合,现在,实际上欠拟合,出现的情况已经不多了,欠拟合是。在训练集和测试集的准确率不高,学习不到位的情况.原创 2023-11-10 23:16:46 · 640 阅读 · 1 评论 -
人工智能基础_机器学习021_归一化实战_天池工业蒸汽量项目归一化实战过程_使用sklearn库中的最大最小值归一化和_sklearn库中的Z-score归一化_02---人工智能工作笔记0061
X_test_norm=mns.transform(X_test) 然后进行对X_test进行归一化处理,获取X_test的归一化数据。之前说,只有X_train数据需要归一化,其实x,y都需要归一化的,因为对应的x轴,y轴都需要。可以看到16,17,18行,我们对X_train y_train X_test数据都进行归一化。以及测试用的X_test数据都进行,归一化处理,之前我们仅仅是对X_train训练数据进行了。display(X_train_norm_head ( )) 显示训练后的前五个数据。原创 2023-11-10 21:03:40 · 272 阅读 · 0 评论