Machine Learning Course1 Week2
Updated: Feb 22, 2025
Multiple features
多个变量X1 X2 X3 X4 对应的数据集为J1 J2 J3 J4

可以简单理解为 上角标i表示行数 j表示列数
i为行 j为列 箭头是向量 是一个数据集

这里的w x fw,b(x) 都是行向量 都是一个数据集

对于代码而言,也可以使用Vectorization矢量 来简化代码
f=np.dot(w,x)+b
运行速度会快很多。
矢量结构的数据做运算的时候前提是要有相同的shape,.dot是两个序列对应位置的数据相乘并对所有数据乘积求和。
numpy.dot 结果会是一个常数
一个常数的shape是空的 ()
Matrix 矩阵,有两个dimention,(2-D)index[m,n], 依然从0开始排序
shape(行,列)
numpy.zeros((1,5)) 意思是建立一1行5列的全是0的矩阵
注意:
np.array([[1],[2],[3],[4]]) 生成的是4*1的矩阵, 是4行1列的数据
X 的每个元素是一个包含单个数值的子列表,导致 numpy 识别它为 4×1 的矩阵。


![2D row vector 逗号在[]内部](https://static.wixstatic.com/media/48e751_8a054af492a045588d58ab5bd69e7ada~mv2.png/v1/fill/w_980,h_499,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/48e751_8a054af492a045588d58ab5bd69e7ada~mv2.png)

a[2,0] 意思是找到a这个数据里面第2行第0列的数据,也就是[4 5]里面的 4 是一个常数
a[2] 意思是找到a这个数据里面第2行的数据,也就是[4 5], 这是一个序列
a = np.arange(20).reshape(-1, 10)
print(a)
a =
[[ 0 1 2 3 4 5 6 7 8 9]
[10 11 12 13 14 15 16 17 18 19]]
Jupyter note 原链接
又复习了很多python的知识,这个lab更多是巩固数据类型和结构,最关键的其实还是f=np.dot(w,x)+b
代入到梯度下降的公式里


还有一种求多个feature的方法,normal equation,只有linear regression 适合,不需要学习率,适合需要精确解且数据量小时 feature小于10000,有一些machine learning的library会把这个当做back支持。
本节Jupyternote中说明了代码如何实现计算多个变量的最优wn b
这里主要说明了实现方法,以及验证最后的通过10000次的计算后,找到的结果是否是最优解,收敛是否停止了,接下来讲解scaling
feature scaling是说,我们得到的很多个w可能量级差的比较大,这样导致的误差就会比较大,所以我们适当的缩放我们的X,来得到一个比较均衡的搭配。
比如说X1range(-1,1) X2range(300,200) 这样就差很大
有几种缩放的方法:



这里学习了“鲁棒robust”是什么,就是让模型能够对异常只有更好的抗衡能力,不受脏数据的干扰。
如何确定学习率:
观察学习曲线:

看左边这个图比较直观能观察到iteration300的时候,J几乎不怎么变了,趋向直线了,400的时候基本就converged,聚合收敛了。
选择学习率的时候可以用0.001 0.003 0.01 0.03 0.1 0.3 1这样子多去尝试,三倍叠加,观察每一个参数对应的J和iteration的图像,找到那个最合适的学习率。 J来回跳或者增加了一般是学习率太大了
这个lab讲述在实际操作过程中如何调整学习率,以及缩放数据
Feature engineering:
Using intuition to design new features, by transforming or combining original features
for the area of a restate, we know that area=frontage*depth, so that we can create a new feature X3=X1*X2, (X1 is depth, X2 is frontage)
Implement Polynomial regression
在这个lab里展示了选对了特征(对x的公式 然后对这个公式进行线性拟合看是否呈直线)
you may use different molel of X to fit the features, x squared, x cubed,
Scikit-learn _open source ML library
介绍了SGDRegressor的用法



Comments