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

做个小型购物网站要多少钱杭州网站建设公司

做个小型购物网站要多少钱,杭州网站建设公司,招商网站大全五金电器,邯郸单位网站建设Author:AXYZdong 硕士在读 工科男 有一点思考,有一点想法,有一点理性! 定个小小目标,努力成为习惯!在最美的年华遇见更好的自己! CSDNAXYZdong,CSDN首发,AXYZdong原创 唯…

Author:AXYZdong 硕士在读 工科男
有一点思考,有一点想法,有一点理性!
定个小小目标,努力成为习惯!在最美的年华遇见更好的自己!
CSDN@AXYZdong,CSDN首发,AXYZdong原创
唯一博客更新的地址为: 👉 AXYZdong的博客 👈
B站主页为:AXYZdong的个人主页

AI专栏

  • ⭐⭐⭐【AI常用框架和工具】(点击跳转)
    包括常用工具Numpy、Pandas、Matplotlib,常用框架Keras、TensorFlow、PyTorch。理论知识结合代码实例,常用工具库结合深度学习框架,适合AI的初学者入门。

文章目录

      • AI专栏
  • 1 线性回归算法原理
    • 1.1 一元线性回归的算法过程
    • 1.2 多元线性回归
  • 2 线性回归算法优化
    • 2.1 求解多元回归的系数
    • 2.2 过拟合问题解决方法
    • 2.3 线性回归的模型评估方法
  • 3 线性回归代码实现
    • 3.1 一元线性回归Python底层实现
    • 3.2 多元线性回归的实现
    • 3.3 线性回归第三方库实现

1 线性回归算法原理

1.1 一元线性回归的算法过程

  • 首先确定目标:尽可能地拟合样本数据集,即使误差最小化。带着这个思想去寻找我们的损失函数。

  • 由于误差服从高斯分布:
    p ( ε i ) = 1 2 π σ exp ⁡ ( − ε i 2 2 σ 2 ) p\left(\varepsilon_i\right)=\frac{1}{\sqrt{2 \pi }\sigma} \exp \left(-\frac{\varepsilon_i^2}{2 \sigma^2}\right) p(εi)=2π σ1exp(2σ2εi2)

  • 将误差函数带入上式:
    P ( y i ∣ x i ; w ) = 1 2 π σ exp ⁡ ( − ( y i − ( ω X i + b ) ) 2 2 σ 2 ) P\left(y_i \mid x_i ; w\right)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{\left(y_i-\left(\omega X_i+b\right)\right)^2}{2 \sigma^2}\right) P(yixi;w)=2π σ1exp(2σ2(yi(ωXi+b))2)

  • 似然函数:
    L ( w ) = Π i = 1 m 1 2 π σ exp ⁡ ( − ( y i − ( ω X i + b ) ) 2 2 σ 2 ) L(w)=\Pi_{i=1}^m \frac{1}{\sqrt{2 \pi }\sigma} \exp \left(-\frac{\left(y_i-\left(\omega X_i+b\right)\right)^2}{2 \sigma^2}\right) L(w)=Πi=1m2π σ1exp(2σ2(yi(ωXi+b))2)

  • 为了方便计算,转化为对数似然:

log ⁡ L ( w ) = log ⁡ Π i = 1 m 1 2 π σ exp ⁡ ( − ( y i − ( ω X i + b ) ) 2 2 σ 2 ) \log L(w)=\log \Pi_{i=1}^m \frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{\left(y_i-\left(\omega X_i+b\right)\right)^2}{2 \sigma^2}\right) logL(w)=logΠi=1m2π σ1exp(2σ2(yi(ωXi+b))2)

  • 展开化简:
    l ( ω ) = log ⁡ Π i = 1 m 1 2 π σ exp ⁡ ( − ( y i − ( ω X i + b ) ) 2 2 σ 2 ) = ∑ i = 1 m log ⁡ 1 2 π σ exp ⁡ ( − ( y i − ( ω X i + b ) ) 2 2 σ 2 ) = ∑ i = 1 m log ⁡ 1 2 π σ + ∑ i = 1 m log ⁡ ( exp ⁡ ( − ( y i − ( ω X i + b ) ) 2 2 σ 2 ) ) = m log ⁡ 1 2 π σ − ∑ i = 1 m ( y i − ( ω X i + b ) ) 2 2 σ 2 = m log ⁡ 1 2 π σ − 1 σ 2 1 2 ∑ i = 1 m ( y i − ( ω X i + b ) ) 2 \begin{align*} l(\omega) & = \log \Pi_{i=1}^m \frac{1}{\sqrt{2 \pi }\sigma} \exp \left(-\frac{\left(y_i-\left(\omega X_i+b\right)\right)^2}{2 \sigma^2}\right)\\[2ex] &=\sum_{i=1}^{m}\log \frac{1}{\sqrt{2 \pi }\sigma}\exp \left(-\frac{\left(y_i-\left(\omega X_i+b\right)\right)^2}{2 \sigma^2}\right)\\[2ex] &=\sum_{i=1}^{m}\log \frac{1}{\sqrt{2 \pi }\sigma}+\sum_{i=1}^{m}\log\left(\exp \left(-\frac{\left(y_i-\left(\omega X_i+b\right)\right)^2}{2 \sigma^2}\right)\right)\\[2ex] &=m\log \frac{1}{\sqrt{2\pi \sigma}}-\sum_{i=1}^{m}\frac{(y_i-(\omega X_i+b))^2}{2 \sigma^2}\\[2ex] &=m\log \frac{1}{\sqrt{2\pi \sigma}}-\frac{1}{\sigma ^2}\frac{1}{2}\sum_{i=1}^{m}(y_i-(\omega X_i+b))^2 \end{align*} l(ω)=logΠi=1m2π σ1exp(2σ2(yi(ωXi+b))2)=i=1mlog2π σ1exp(2σ2(yi(ωXi+b))2)=i=1mlog2π σ1+i=1mlog(exp(2σ2(yi(ωXi+b))2))=mlog2πσ 1i=1m2σ2(yi(ωXi+b))2=mlog2πσ 1σ2121i=1m(yi(ωXi+b))2

  • 根据极大似然估计的思想,目标函数为:

J ( ω ) = ∑ i = 1 m ( y i − ( ω X i + b ) ) 2 J(\omega)=\sum_{i=1}^{m}(y_i-(\omega X_i+b))^2 J(ω)=i=1m(yi(ωXi+b))2

此损失函数,又称为最小二乘损失函数。因此现在目标变化为求得 ω \omega ω b b b 使我们的目标函数最小化。

1.2 多元线性回归

  • 多元线性回归,因为需要考虑两个或两个以上的自变量,我们的假设(Hypothesis)方程可以表示为:

h θ ( X ) = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . . . . h_\theta (X)=\theta_0+\theta_1x_1+\theta_2x_2+...... hθ(X)=θ0+θ1x1+θ2x2+......

  • 为了表示方便我们定义一个额外的变量 X 0 = 1 X_0=1 X0=1 X 0 X_0 X0 是一个 n + 1 n+1 n+1 维的向量:

h θ ( X ) = 1 2 ∑ i = 0 n θ i x i = θ T X h_\theta (X)=\frac{1}{2}\sum_{i=0}^{n}\theta_i x_i=\theta^T X hθ(X)=21i=0nθixi=θTX

  • 因此我们的目标函数可以表示为:

J ( θ ) = 1 2 ∑ i = 0 m ( θ T x i − y i ) 2 = 1 2 ( X θ − y ) T ( X θ − y ) J(\theta)=\frac{1}{2}\sum_{i=0}^{m}(\theta ^T x_i-y_i)^2=\frac{1}{2}(X\theta-y)^T(X\theta-y) J(θ)=21i=0m(θTxiyi)2=21(y)T(y)

2 线性回归算法优化

2.1 求解多元回归的系数

  • 正规方程
    最小二乘法
  • 梯度下降
    • 批量梯度下降 Batch Gradient Descent,BGD
      每更新一次权重需要对所有的数据样本点进行遍历。在最小化损失函数的过程中,需要不断的反复地更新权重使得误差函数减小;
      特点是每一次参数的更新都用到了所有的训练数据,因此BGD优化方法会非常耗时,且样本数据量越大,训练速度也会变得越慢。
    • 随机梯度下降 Stochastic Gradient Descent, SGD
      解决BGD训练速度过慢的问题随机选取每个样本的损失函数对目标函数变量求偏导,得到对应的梯度来更新目标函数变量。
      因为随机梯度下降是随机选择一个样本进行选代更新一次,所以SGD伴随噪音较BGD要多使得SGD并不是每次迭代都向着整体优化方向。
    • 小批量梯度下降 Mini-Batch Gradient Descent,MBGD
      避免BGD和SGD的缺点,算法训练过程较快,也保证最终参数训练的准确率。通过增加每次迭代个数来实现的,相当于一个Batch通过矩阵运算,每一个batch上优化参数不会比单个数据慢太多。但每次使用一个batch可大大减小收敛所需要的迭代次数,同时可以使收敛到的结果更接近梯度下降的效果。

2.2 过拟合问题解决方法

建立的线性回归模型虽然在训练集上表现得很好,但是在测试集中表现得恰好相反,同样在测试集上的损失函数会表现得很大。为了解决过拟合,我们引入了正则项。

  • L1正则化是指权值向量中各个元素的绝对值之和,通常表示为:

J ( q ) = ∑ i = 0 m ( h q ( x ( i ) ) − y ( i ) ) 2 + l ∑ j = 1 n ∣ q j ∣ ( l > 0 ) J(q)=\sum_{i=0}^{m}(h_q(x^{(i)})-y^{(i)})^2+l\sum_{j=1}^{n}|q_j| \quad (l>0) J(q)=i=0m(hq(x(i))y(i))2+lj=1nqj(l>0)

  • L2正则化是指权值向量中各个元素的平方和,通常表示为:

J ( θ ) = ∑ i = 0 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 n θ j 2 ( λ > 0 ) J(\theta)=\sum_{i=0}^{m}(h_\theta(x^{(i)})-y^{(i)})^2+\lambda\sum_{j=1}^{n}\theta_j^2 \quad (\lambda>0) J(θ)=i=0m(hθ(x(i))y(i))2+λj=1nθj2(λ>0)

2.3 线性回归的模型评估方法

  • 均方误差MSE(Mean Squared Error):均方误差是指所有观测值和预测值之间的平方和的平均数,它反映了模型预测误差的大小。MSE越小,说明模型拟合效果越好。

M S E = 1 m ∑ i = 1 m ( y i − y ^ i ) 2 MSE=\frac{1}{m}\sum_{i=1}^{m}(y_i-\hat{y}_i)^2 MSE=m1i=1m(yiy^i)2

  • 均方根误差RMSE(Root Mean Squarde Error)

R M S E = 1 m ∑ i = 1 m ( y i − y ^ i ) 2 RMSE=\sqrt{\frac{1}{m}\sum_{i=1}^{m}(y_i-\hat{y}_i)^2} RMSE=m1i=1m(yiy^i)2

  • 平均绝对误差MAE(Mean Absolute Error)

M A E = 1 m ∑ i = 1 m ∣ y i − y ^ i ∣ MAE=\frac{1}{m}\sum_{i=1}^{m}|y_i-\hat{y}_i| MAE=m1i=1myiy^i

  • R 2 R^2 R2

R 2 = S S R S S T = ∑ ( y ^ i − y ‾ ) 2 ∑ ( y i − y ‾ ) 2 R^2=\frac{SSR}{SST}=\frac{\sum(\hat{y}_i-\overline{y})^2}{\sum(y_i-\overline{y})^2} R2=SSTSSR=(yiy)2(y^iy)2

3 线性回归代码实现

3.1 一元线性回归Python底层实现

# 一元线性回归的实现#导入matplotlib库,主要用于可视化
import matplotlib.pyplot as plt
%matplotlib inline#引入本地字体文件,否则中文会有乱码 
#font_set = FontProperties(fname=r"./work/ simsun.ttc", size=12)
from matplotlib.font_manager import FontProperties
import numpy as np# 构造用于训练的数据集
x_train = [4,8,5,10,12]
y_train = [20,50,30,70,60]# 画图函数
def draw(x_train,y_train):plt.scatter(x_train, y_train)# 定义函数求得斜率w和截距b
# 使用最小二乘法对斜率和截距求导并使得导数值等于0求解出斜率和截距
def fit(x_train,y_train): size = len(x_train)numerator = 0 #初始化分子denominator = 0#初始化分母for i in range(size):numerator += (x_train[i]-np.mean(x_train))*(y_train[i]-np.mean(y_train))  denominator += (x_train[i]-np.mean(x_train))**2w = numerator/denominatorb = np.mean(y_train)-w*np.mean(x_train)return w,b#根据斜率w和截距b,输入x计算输出值
def predict(x,w,b):  #预测模型y = w*x+breturn y# 根据W,B画图
def fit_line(w,b):
#测试集进行测试,并作图x = np.linspace(4,15,9)  #linspace 创建等差数列的函数    #numpy.limspace(start,stop,num,endpoint=True,retstep=False,dtype=None,axis=0#) y = w*x+bplt.plot(x,y)plt.show()if __name__ =="__main__":draw(x_train,y_train)w,b = fit(x_train,y_train)print(w,b) #输出斜率和截距
fit_line(w,b) #绘制预测函数图像

3.2 多元线性回归的实现

# 多元线性回归的实现
# 导入模块
import numpy as np
import pandas as pd# 构造数据,前三列表示自变量X,最后一列表示因变量Y
data = np.array([[3,2,9,20],[4,10,2,72],[3,4,9,21],[12,3,4,20]])
print("data:",data,"\n")X=data[:,:-1]
Y=data[:,-1]X=np.mat(np.c_[np.ones(X.shape[0]),X])# 为系数矩阵增加常数项系数
Y=np.mat(Y)# 数组转化为矩阵print("X:",X,"\n")
print("Y:",Y,"\n")# 根据最小二乘法的目标函数求导为0得到最优参数向量B的解析解公式如下,可以直接求取最优参数向量
B=np.linalg.inv(X.T*X)*(X.T)*(Y.T) 
print("B:",B,"\n")# 输出系数,第一项为常数项,其他为回归系数
print("1,60,60,60预测结果:",np.mat([1,60,60,60])*B,"\n")#预测结果# 相关系数
Q_e=0
Q_E=0
Y_mean=np.mean(Y)
for i in range(Y.size):Q_e+=pow(np.array((Y.T)[i]-X[i]*B),2)Q_E+=pow(np.array(X[i]*B)-Y_mean,2)
R2=Q_E/(Q_e+Q_E)
print("R2",R2)

3.3 线性回归第三方库实现

# 导入sklearn下的LinearRegression 方法
from sklearn.linear_model import LinearRegression
import numpy as np
model = LinearRegression()# 构造用于训练的数据集
x_train = np.array([[2,4],[5,8],[5,9],[7,10],[9,12]])
y_train = np.array([20,50,30,70,60])# 训练模型并输出模型系数和训练结果
model.fit(x_train,y_train)
#fit(x,y,sample_weight=None)x:训练集 y:目标值 sample_weight:每个样本的个数
#coef_ 系数w,intercept_截距
print(model.coef_) #输出系数w
print(model.intercept_) #输出截距b
print(model.score(x_train,y_train)) #输出模型的评估分数R2

Reference

  • [1] https://connect.huaweicloud.com/courses/learn/Learning/sp:cloudEdu_?courseNo=course-v1:HuaweiX+CBUCNXE086+Self-paced&courseType=1
  • [2] https://authoring-modelarts-cnnorth4.huaweicloud.com/console/lab?share-url-b64=aHR0cHM6Ly9tb2RlbGFydHMtbGFicy1iajQtdjIub2JzLmNuLW5vcnRoLTQubXlodWF3ZWljbG91ZC5jb20vY291cnNlL2h3Y19lZHUvbWFjaGluZV9sZWFybmluZy9mb3JfaHdjX2VkdS9MaW5lYXJfUmVncmVzc2lvbl9od2NfZWR1LmlweW5i

—— END ——


如果以上内容有任何错误或者不准确的地方,欢迎在下面 👇 留言。或者你有更好的想法,欢迎一起交流学习~~~

更多精彩内容请前往 AXYZdong的博客


文章转载自:
http://execution.pwrb.cn
http://cursorial.pwrb.cn
http://volumenometer.pwrb.cn
http://sexualize.pwrb.cn
http://subcolumnar.pwrb.cn
http://whisker.pwrb.cn
http://lanchow.pwrb.cn
http://seiko.pwrb.cn
http://unscrew.pwrb.cn
http://sebe.pwrb.cn
http://clothing.pwrb.cn
http://heroicomic.pwrb.cn
http://kittenish.pwrb.cn
http://herbicide.pwrb.cn
http://nikolayevsk.pwrb.cn
http://lordship.pwrb.cn
http://hogly.pwrb.cn
http://protoxylem.pwrb.cn
http://sort.pwrb.cn
http://ab.pwrb.cn
http://oaten.pwrb.cn
http://fujiyama.pwrb.cn
http://knottily.pwrb.cn
http://euphemism.pwrb.cn
http://pursual.pwrb.cn
http://apnea.pwrb.cn
http://zincotype.pwrb.cn
http://flextime.pwrb.cn
http://tramp.pwrb.cn
http://aquatone.pwrb.cn
http://largen.pwrb.cn
http://avaunt.pwrb.cn
http://lunacy.pwrb.cn
http://sequence.pwrb.cn
http://torpid.pwrb.cn
http://procrustes.pwrb.cn
http://myosotis.pwrb.cn
http://rubstone.pwrb.cn
http://carburetant.pwrb.cn
http://grana.pwrb.cn
http://adrienne.pwrb.cn
http://underdid.pwrb.cn
http://outrigged.pwrb.cn
http://demy.pwrb.cn
http://objective.pwrb.cn
http://hernioplasty.pwrb.cn
http://palter.pwrb.cn
http://thermoelectron.pwrb.cn
http://zho.pwrb.cn
http://awake.pwrb.cn
http://hieracosphinx.pwrb.cn
http://biplane.pwrb.cn
http://prothrombin.pwrb.cn
http://clothespole.pwrb.cn
http://smaragdite.pwrb.cn
http://precollege.pwrb.cn
http://vulpinite.pwrb.cn
http://paperless.pwrb.cn
http://deerskin.pwrb.cn
http://merganser.pwrb.cn
http://longish.pwrb.cn
http://unready.pwrb.cn
http://bandoeng.pwrb.cn
http://ophthalmitis.pwrb.cn
http://leukemoid.pwrb.cn
http://bond.pwrb.cn
http://reichsbank.pwrb.cn
http://telegnosis.pwrb.cn
http://exergonic.pwrb.cn
http://knuckle.pwrb.cn
http://northwardly.pwrb.cn
http://add.pwrb.cn
http://contravallation.pwrb.cn
http://liftman.pwrb.cn
http://pteridoid.pwrb.cn
http://demander.pwrb.cn
http://osier.pwrb.cn
http://dahomean.pwrb.cn
http://siceliot.pwrb.cn
http://chippewa.pwrb.cn
http://coenogenetic.pwrb.cn
http://beseem.pwrb.cn
http://camiknickers.pwrb.cn
http://gastroderm.pwrb.cn
http://terribly.pwrb.cn
http://sectary.pwrb.cn
http://habenula.pwrb.cn
http://charqui.pwrb.cn
http://vegetate.pwrb.cn
http://spermophyte.pwrb.cn
http://psephomancy.pwrb.cn
http://lyophilization.pwrb.cn
http://bathrobe.pwrb.cn
http://flowstone.pwrb.cn
http://hydro.pwrb.cn
http://interlocking.pwrb.cn
http://megass.pwrb.cn
http://phronesis.pwrb.cn
http://maternity.pwrb.cn
http://dishonesty.pwrb.cn
http://www.dt0577.cn/news/93799.html

相关文章:

  • 国家电网交流建设分公司网站发布软文平台
  • 传奇网站如何建设sem是什么
  • 做视频网站审核编辑有假么有没有免费的广告平台
  • 临汾网站建设 吕梁网站建设seo独立站
  • 做网站有什么好处吗域名停靠浏览器
  • 沈阳建站模板新产品如何快速推广市场
  • 平顶山营销型网站建设腾讯企点客服
  • 阳江网络问政平台下载优化设计方案
  • 开一家网站建设公司深圳网站seo外包公司哪家好
  • 关于小学网站建设的论文石家庄新闻
  • 临沂怎么做网站网站推广该怎么做
  • 上海一 网站建设公司没有限制的国外搜索引擎
  • 网站公司怎么做运营宁波seo服务
  • 色情网站建设策划书专业做网站
  • 建设网站如何给页面命名nba最新交易汇总实时更新
  • 汕头网站关键词优化教程磁力狗在线
  • 微网站开发系统泉州网站seo外包公司
  • 武汉网站建设开发 棋牌关键词竞价广告
  • 做啥网站比较好赚钱国际外贸网络交易平台
  • 怎么做扒代码网站原版百度
  • 中国建设银行安徽省分行招聘网站腾讯疫情实时数据
  • 网站模板的功能故事型软文广告
  • 网站建设门户宁波网络推广seo软件
  • 做企业评价的有哪些网站下载百度搜索
  • tp5做企业网站google官网
  • 企业建设网站的好处有哪些外链
  • 有哪些制作网站的公司sku电商是什么意思
  • 做网站看网页效果长沙网站优化对策
  • 网络购物消费者行为论文百度seo排名优化公司
  • 武汉网站建设乐云seo模板中心门户网站推广方案