吴恩达机器学习线性回归作业

一、单变量线性回归:

导入相关库:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

 读取csv数据文件并查看数据集的前五行

f = pd.read_csv('work/ex1data1.txt', names=['Population', 'Profit'])
f.head()

 

 可视化该数据集

f.plot(kind='scatter', x='Population', y='Profit')
plt.show()

 

损失函数计算:

def computeCost(X, Y, theta):
    cost = np.power((X * theta.T - Y), 2)
    return np.sum(cost) / (2 * len(X))

在f的第一列插入常数1

f.insert(0, 'ones', 1)
cols = f.shape[1]
f
### 关于吴恩达机器学习课程中的线性回归部分 #### 线性回归的核心概念 在线性回归中,目标是最小化预测值与实际值之间的误差。通过定义成本函数 \( J(\theta) \),可以衡量模型的性能[^2]。具体来说,线性回归的目标是找到一组最优参数 \( \theta_0, \theta_1, ..., \theta_n \),使得预测值尽可能接近真实值。 为了实现这一目标,通常采用梯度下降法来优化这些参数。初始状态下,参数会被赋予零值或其他随机值[^4]。随后,通过对代价函数求导并更新参数的方式逐步降低其值,直至达到收敛状态。 #### 参数的意义及其作用 \( w \) 和 \( b \) 是模型的关键组成部分,在训练过程中不断被调整以提高准确性。其中,\( w \) 表示特征的重要性程度(权重),而 \( b \) 则作为偏置项影响最终输出结果的位置。 #### 应用于分类场景下的局限性分析 当尝试利用线性回归解决二元分类问题时会遇到明显缺陷——即假设函数可能会给出超出合理范围(如小于0或大于1)的结果[^1]。因此引入了更适合此类任务的新方法—逻辑回归(Logistic Regression),它能够确保输出始终位于区间\[0,1\]内,并提供概率解释意义。 以下是基于上述理论的一个简单Python实现例子: ```python import numpy as np def compute_cost(X, y, theta): m = len(y) predictions = X.dot(theta) cost = (1/(2*m)) * np.sum((predictions-y)**2) return cost def gradient_descent(X, y, theta, alpha, num_iters): m = len(y) for i in range(num_iters): gradients = (1/m)*X.T.dot(X.dot(theta)-y) theta -= alpha*gradients return theta ``` 以上代码片段展示了如何计算损失以及执行一次完整的梯度下降迭代过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值