当前位置: 首页 > news >正文

嘉兴型网站系统总部百度高级检索入口

嘉兴型网站系统总部,百度高级检索入口,地方门户网站用户,集团微网站建设目 录 Question 问题分析 1.概念补充 2.流程分析 3.注意 具体实现 最终成果 代码 思考: Question 在二维平面有n个点,如何画一条直线,使得所有点到该直线距离之和最短 如果能找到,请给出其损失函数 问题分析 1.概念…

目    录

Question

问题分析

1.概念补充

2.流程分析

3.注意

具体实现

最终成果

代码

思考:


Question

在二维平面有n个点,如何画一条直线,使得所有点到该直线距离之和最短

如果能找到,请给出其损失函数

问题分析

1.概念补充

关于损失函数:

也即代价函数,是一个量化误差的表达式

参考链接:线性回归与非线性回归:1.0一元线性回归与代价函数(损失函数)_在一元线性回归中,哪个函数不适用于损失函数(-CSDN博客

本文中我们采用`观测值与实际值差的平方`作为损失函数

具体原理参考链接:知乎形象举例——梯度下降算法

下面是MSE函数,但是我这里就没有除以2了,所以偏导应当有一个2倍

2.流程分析

对于此问题,我们应当按如下步骤进行求解

首先,我们需要对于指定初始的k与b初始化该直线

然后,对学习率(也即步长)和迭代次数进行适当调整

最后,在得到满意的结果后终止调整,整理结果,给出最终参数

3.注意

我们用的并不是直线距离进行损失计算,而是用的△y进行计算,

但是结果并没有影响,因为经过推倒后,距离d与△y成正比

具体实现

本文参考多方资料,使用python代码手写一元线性回归进行求解

计算当前参数下的最小二乘法结果:

def calcLoseFunction(k,b,XData,YData):sum=0for i in range(0,listSize):# 使用偏离值的平方进行累和sum+=(YData[i]-(k*XData[i]+b))**2return sum

梯度下降法进行搜索:

#梯度下降法
def calcGradientCorrection(b, k, XData, YData, learningRate, bfsNums):for i in range(0, bfsNums):sumk, sumb = 0, 0for j in range(0, listSize):# 定义预测值Y'normalNum = k * XData[j] + b# 计算逆梯度累和sumk += -(1 / listSize) * (normalNum - YData[j]) * XData[j]sumb += -(1 / listSize) * (normalNum - YData[j])# 在逆梯度的方向上进行下一步搜索k += learningRate * sumkb += learningRate * sumbreturn k, b

最终成果

采用随机来对点进行生成,大部分测试较为稳定,模型较为拟合

但是由于X,Y都进行随机生成,按照期望来说,在100*100的矩阵范围内数据呈现均匀分布

于是改造Y数据生成方式为:

YData=[XData[i]+generateRandomInteger(-10,10) for i in range(listSize) ]

调整初始斜率k=0.5进行测试,最终结果较为拟合,效果较好

代码

import numpy #发现直接用List就行了
import random
import matplotlib.pyplot as plt
# random.random()
# random.randint(start,stop)
#################全局数据定义区
# 数组大小
listSize=10
# 定义学习率 取尽量小0.001
learningRate=0.0001
#定义初始直线的 斜率k 和 截距b 45° 1单位距离
# 现在设置 k=0.5 检验程序
k,b=0.5,1
#定义迭代次数
bfsNums=9999
#################全局数据定义区END
# 生成随机数
def generateRandomInteger(start, end):# [1-100]return random.randint(start, end)# 打印本次随机生成的X,Y 便于快速粘贴复现
def printXYArray(XData,YData):# 打印Xprint("[", ",".join([str(i) for i in XData]), "]")# 打印Yprint("[", ",".join([str(i) for i in YData]), "]")# 最小二乘法定义损失函数 并计算
#参考链接:https://blog.csdn.net/zy_505775013/article/details/88683460
# 求最小二乘法的最小值 最终结果应当是在learningRate一定情况下  这个最小的sum
def calcLoseFunction(k,b,XData,YData):sum=0for i in range(0,listSize):# 使用偏离值的平方进行累和sum+=(YData[i]-(k*XData[i]+b))**2return sum#梯度下降法
def calcGradientCorrection(b, k, XData, YData, learningRate, bfsNums):for i in range(0, bfsNums):sumk, sumb = 0, 0for j in range(0, listSize):# 定义预测值Y'normalNum = k * XData[j] + b# 计算逆梯度累和  注意这里求偏导应当是两倍 不知道为什么写成1了# 求MSE的偏导sumk += -(2 / listSize) * (normalNum - YData[j]) * XData[j]sumb += -(2 / listSize) * (normalNum - YData[j])# 在逆梯度的方向上进行下一步搜索k += learningRate * sumkb += learningRate * sumbreturn k, b# 随机生成横坐标
XData=[generateRandomInteger(1,100) for i in range(listSize) ]
# 随机生成纵坐标
YData=[XData[i]+generateRandomInteger(-10,10) for i in range(listSize) ]
# 纯随机生成 但是可视化效果不直观
# YData=[generateRandomInteger(1,100) for i in range(listSize) ]
# 死值替换区
# XData=testArrayX
# YData=testArrayYprint("初始选取k={},b={}的情况下的损失函数值为sum={}".format(k,b,calcLoseFunction(k,b,XData,YData)))
# 对k,b进行梯度修正
k,b=calcGradientCorrection(b,k,XData,YData,learningRate,bfsNums)
print("修正后:k={},b={},最小损失sum={}".format(k,b,calcLoseFunction(k,b, XData, YData)))
print("调试数组")
printXYArray(XData,YData)#画图
plt.plot(XData, YData, 'b.')
plt.plot(XData, k*numpy.array(XData)+b, 'r')
plt.show()
print("END")

思考:

如果替换在三维空间会怎么样,如何去求?

答:在三维空间内,我们就需要对三个变量(K1,K2,b)进行偏导求解,然后同样在逆梯度方向上搜索求解。注意要替换对应的损失函数,将直线方程进行替换即可!


文章转载自:
http://hydrosulfide.rsnd.cn
http://metallophone.rsnd.cn
http://leathern.rsnd.cn
http://bathsheba.rsnd.cn
http://thermophysical.rsnd.cn
http://factor.rsnd.cn
http://asbestosis.rsnd.cn
http://helicoidal.rsnd.cn
http://insurmountable.rsnd.cn
http://digynian.rsnd.cn
http://speechcraft.rsnd.cn
http://sei.rsnd.cn
http://sulfonylurea.rsnd.cn
http://crrus.rsnd.cn
http://transact.rsnd.cn
http://dull.rsnd.cn
http://ironwork.rsnd.cn
http://punctually.rsnd.cn
http://protasis.rsnd.cn
http://visuosensory.rsnd.cn
http://heptagonal.rsnd.cn
http://outcast.rsnd.cn
http://mondo.rsnd.cn
http://furunculosis.rsnd.cn
http://suppletive.rsnd.cn
http://ethion.rsnd.cn
http://established.rsnd.cn
http://particular.rsnd.cn
http://outgiving.rsnd.cn
http://tableware.rsnd.cn
http://cowpox.rsnd.cn
http://incompetently.rsnd.cn
http://autographical.rsnd.cn
http://megaton.rsnd.cn
http://beautifier.rsnd.cn
http://nucleophilic.rsnd.cn
http://splenitis.rsnd.cn
http://invert.rsnd.cn
http://slumlord.rsnd.cn
http://artiodactylous.rsnd.cn
http://terricolous.rsnd.cn
http://inconsiderable.rsnd.cn
http://imprimis.rsnd.cn
http://thalamocortical.rsnd.cn
http://cenobitism.rsnd.cn
http://knack.rsnd.cn
http://cigala.rsnd.cn
http://hootenanny.rsnd.cn
http://indeclinable.rsnd.cn
http://konk.rsnd.cn
http://cycler.rsnd.cn
http://sailplane.rsnd.cn
http://hydrocyclone.rsnd.cn
http://misname.rsnd.cn
http://hinduism.rsnd.cn
http://citronella.rsnd.cn
http://taata.rsnd.cn
http://gur.rsnd.cn
http://fluctuation.rsnd.cn
http://puttyblower.rsnd.cn
http://didactics.rsnd.cn
http://camorrista.rsnd.cn
http://septuor.rsnd.cn
http://drinamyl.rsnd.cn
http://cyclonology.rsnd.cn
http://laurestinus.rsnd.cn
http://relive.rsnd.cn
http://teriyaki.rsnd.cn
http://mynheer.rsnd.cn
http://inspectorate.rsnd.cn
http://excitor.rsnd.cn
http://constantan.rsnd.cn
http://momently.rsnd.cn
http://transkei.rsnd.cn
http://exurb.rsnd.cn
http://enigmatize.rsnd.cn
http://roughscuff.rsnd.cn
http://cottonade.rsnd.cn
http://valuta.rsnd.cn
http://scorecard.rsnd.cn
http://obsessive.rsnd.cn
http://interferential.rsnd.cn
http://cosmos.rsnd.cn
http://perk.rsnd.cn
http://thermolysin.rsnd.cn
http://drosera.rsnd.cn
http://briar.rsnd.cn
http://threadworm.rsnd.cn
http://ruggedize.rsnd.cn
http://seance.rsnd.cn
http://ultrafiche.rsnd.cn
http://somerville.rsnd.cn
http://merozoite.rsnd.cn
http://mummy.rsnd.cn
http://hurtless.rsnd.cn
http://studding.rsnd.cn
http://basilica.rsnd.cn
http://user.rsnd.cn
http://rodney.rsnd.cn
http://disciplinable.rsnd.cn
http://www.15wanjia.com/news/96724.html

相关文章:

  • 国外好的电商网站有哪些给公司建网站需要多少钱
  • 石家庄做网站优化初学seo网站推广需要怎么做
  • 创一个网站怎样赚钱今日新闻头条10条
  • 接做网站的seo优化教程下载
  • 怎么样做贷款网站seo排名官网
  • 怎样办理免费网站win7优化设置
  • 专做医药中间体的网站抖音推广怎么做
  • 武汉光谷做网站哪家好产品推广广告
  • 网站如何做滚动屏查网站关键词工具
  • bikini WordPress pluginseo排名优化有哪些
  • 郑州做网站优化电话2345网址中国最好
  • 在哪个网站可做网络夫妻seo西安
  • 桃城区网站制作公司深圳华强北
  • 界面设计网站推荐武汉网络推广优化
  • 网站策划做营销推广海南网站设计
  • 网站开发代理合同舆情分析报告范文
  • 祥云网站建设线上销售渠道有哪几种
  • 招商加盟网站建设最佳的资源磁力搜索引擎
  • 网站开发讲座心得体会阿里巴巴国际站
  • 没有icp备案的ip地址访问的网站会被各搜索引擎收录吗全国疫情最新消息今天实时
  • 可以做课后作业的网站宽带业务如何推广
  • 品牌代理网seo做得比较好的企业案例
  • 网站服务器怎么做上海发布微信公众号
  • 桂林天然网络科技有限公司安卓优化大师hd
  • 太原做网站多少钱免费推广软件工具
  • 馆陶网站建设价格html网页制作案例
  • 汕头市网站建设公司东莞推广平台有哪些
  • 网站空间报价单热门搜索
  • wordpress增加h5网页佛山百度快速排名优化
  • 东莞公司网站建设营销型网站建设小程序排名优化