机器学习-线性回归
机器学习-线性回归
前言
线性回归是机器学习中基础的模型之一,是有监督模型。
定义:线性回归是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法
表达式:
参数:
预测:
h = np.dot(X,theta)
代价:
J = 0.5 * np.mean((h - y) ** 2)
梯度下降:
deltatheta = (1.0 / m) * X.T.dot(h - y)
更新参数:
theta = theta - alpha * deltatheta
正则化
正则化代价:
正则化梯度下降:
单变量线性回归
import numpy as np import matplotlib.pyplot as plt x = [4, 3, 3, 4, 2, 2, 0, 1, 2, 5, 1, 2, 5, 1, 3] y = [8, 6, 6, 7, 4, 4, 2, 4, 5, 9, 3, 4, 8, 3, 6] X = np.c_[np.ones(len(x)),x] y = np.c_[y] #预测 def mov(theta): h = np.dot(X,theta) return h #代价 def cos(h): j = 0.5*np.mean((h-y)**2) return j #梯度下降 def grad(sums=10000,alph=0.1): m,n = X.shape theta = np.zeros((n,1)) j = np.zeros(sums) for i in range(sums): h = mov(theta) j[i] = cos(h) te = (1/m)*X.T.dot(h-y) theta -= alph * te return h,j,theta if __name__ == '__main__': h,j,theta = grad()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律