type
Post
status
Published
date
Apr 21, 2026
slug
mechine-learning
summary
机器学习笔记
tags
机器学习
Python
算法
category
学习笔记
icon
password
By BarryZed
概论
监督学习:有标签
损失函数
课上推导(两个偏导)

两个圈中=0,左侧w与有下w相等
范数:距离原点的距离
二范数:向量的直线距离
线性回归
目的
预测,找到最优的
W 和b(ais) 
右上第二行应为1234减 导致-7.5为错误答案
- 骨架
- ML(Machine Learning)↔ 统计
- 标准框架:特征→模型→损失函数→优化(梯度下降)→评估(越大越好)
- 可解释性强
- 基准
- 有最完善的理论支持
代码
- 读数据,规范数据格式
- 特征归一化(Normalize)
- 均值:
np.mean(X, axis=0) - 标准差:
np.std(X, axis=0)
特征标准化 = (X - 均值)/标准差
(
axis=0 指按列求)- 线性预测函数
:
np.matmul(X, W) + bias matmul :matrix multiplication(@)- 损失函数
np.sum()可以直接算和(当用就行)
- 梯度下降
grad_wgrad_baisalpha:学习率W=W-alpha*grad_wbias=bias-alpha*grad_b
- 训练函数
ite指学习轮数(iteration,迭代次数)- 先给初始值
- 声明
costs来记录每次的损失,来确定学习率是否合适 - 开始循环
- 先保存当前
cost - 进行(5)的梯度下降更新
W, bais
W = np.random.randn(n, 1) * 0.01 给W 一个随机值,*0.01 防止过大b = 0.1 alpha = 0.01 手算
- 向量(一步一步算)

- 正规方程解(一步到位最优解)

逻辑回归
“你有多像那一边?”(probability matters)——ChatGPT
二分类
目的
把输入数据分为0和1两类((分割超平面)的两侧),找到最优的(矩阵) 和
b 则在1组,反之在0组(就是把放进Sigmoid里和0.5比)
Sigmoid函数
把数据压缩到0~1之间
原函数
//交叉熵损失(Cross Entropy Loss)
梯度下降
grad_w
grad_b
- 更新
alpha:学习率W=W-alpha*grad_wb=b-alpha*grad_b
- 更新时不把变为0或1,保留原始值,只有最后与测试再变
手算

感知机
“你在哪边?”(only side matters)——ChatGPT
二分类
if yi * (np.dot(w, xi) + b) <= 0 :误分类,重头重新算W, b更新
W, b :w = w + alpha * yi * xi b = b + alpha * yi手算

- 某一轮指完全走一遍
- 第一个数错误:更新w1, b1
- 用w1, b1分第二个数,正确
- 用w1, b1分第三个数,错误,更新w2, b2
- 用w2, b2分第四个数,错误,更新w3, b3
例子(4个数)
→此时w3, b3则是第一轮的结果
Fisher线性判别分析(Linear Discriminant Analysis, LDA)
找一条直线(投影方向 w),让两类数据在这条线上“分得最开”。
代码
- 分类
class1, class2 = np.unique(x) :把数组 x 里“所有不重复的值”提取出来,并排序返回按照返回值将原数据
X 分到X1, X2 中- 计算类均值
找到
class1, class2 的中心m1, m2 (m1 = np.mean(X1, axis=0))- 计算散度矩阵和类内散度
- 散度矩阵:衡量“两个类别中心有多远”,越远越好
- 类内散度:类别内部“散不散”,越近越好
- 先按类算出每类的散度
- 全部相加得出
这里是外积(
m_diff = m2 - m1; S_b = np.outer(m_diff, m_diff.T)),公式为:S1 = np.dot((X1 - m1), (X1 - m1).T)- 找最优方向
- 再归一化:
w=w/np.linalg.norm(w)
原因:只关心方向,不关心长度
(w可以理解为是一个多维坐标,与原点连线就能确定一个方向;长短没啥用)
- 投影后均值
- 预测函数
- 算点的投影:
proj=np.dot(w.T, x) - 比较绝对值,分类
- 作者:BarryZed
- 链接:
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。






.jpg?table=block&id=2cb05109-5451-8092-a42a-ffaf40797495&t=2cb05109-5451-8092-a42a-ffaf40797495)
