监督学习算法

监督学习算法

通过讲解学习了监督学习算法,并将其应用到一个实例中。

算法内容

该算法实现了对数据的拟合于后续的发展可能的预测。
对于该问题:
此处给出了三组一一对应变量,从左到右分别为:房屋面积、户型、总价

我们使用函数:
在这里插入图片描述进行学习拟合。
这里theta为需要学习拟合出的系数。
在这里插入图片描述
L为误差分析函数,我们以L小于1*e-4为满足条件。

下降梯度:
在这里插入图片描述

import random
import numpy as np
import matplotlib.pyplot as plt

x1 = np.array([2104,1600,2400,1416,3000])
x2 = np.array([3,3,3,2,4])
p = np.array([400,330,369,232,540])

#对th(0~2)赋随机初值
th0 = random.random()
th1 = random.random()
th2 = random.random()
th = np.array([th1,th2])

#学习度
al = 0.01
ep = 1e-4

#初值
e0 = 5
e1 = 5
e2 = 5



while e0>ep or e1>ep or e2>ep:
    i =0
    j = 0
    e0 = np.sum((th0+th1*x1[i]+th2*x2[i]-p[i]))
    
    e1 =e0 * x1[i]
    e2 = e0 * x2[i]
    
    th0 = th0 - al * e0
    th1 = th1 - al * e1
    th2 = th2 - al * e2 
    
    i+= 1
    
print(th0 ,th1, th2)
plt.plot([th0,th1,th2],[th0,th1,th2],'ro')  
   








  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值