2025.9.23

Summary

  1. Python学习(封装、继承、多态、单例模式、魔法方法&属性)
  2. **之后的学习计划:算法与数据结构 –> 计算机基础知识(数据库、计算机组成原理、操作系统、计算机网络)
  3. 沟通完节目灯光安排
  4. 每日英语

2025.9.22

Overview

  1. 9.17–9.21 总结与反思
  2. 学习了本周以及假期的课件

9.17–9.21 总结与反思

过去几天有点放纵了,还是有点没克服因为一些身体上的原因而不影响状态,而且接下来必须做到睡前不看手机,并且需要注意在进行了比较剧烈的运动的当晚就要早点休息以防影响第二天的状态。
过去几天摩羯身上也接连出现状况导致心情有点受影响,不过现在我感觉我找到了担心的分界线,其实主要就是保持毛发和环境的干净,除此之外只要不是持续几天的异常都没必要太过担心。
不过还是有一些好事情发生的,比如:上周末通知了我的节目被通过了,这次一定要不留遗憾的表演成功;此外各个社团的招新也结束了,这周总算可以开始社团活动了,期待遇见优秀的人吧;最后唯一在过去几天里完成不错的就是依旧保持每天背单词了,总算一天不落的完成了开学打卡,期待下一次累签。

课件知识点

数据科学(统计)

核心目标:想要找到一个适合工业数据的模型,以实现两大功能
—— 解释数据背后的现象、对新场景下的行为进行预测

  1. 数据拟合核心内容
    1. 拟合目标:建立自变量(如质量)与因变量(如距离)的关系,找到最优拟合曲线
    2. 拟合评估指标:
      1. 最小二乘法目标函数:计算观测值与预测值差值平方和,最小化该值即最小化方差
      2. 平均均方误差:衡量模型拟合误差,公式为(误差总和/数据长度)
      3. 决定系数R²:反映模型对数据变异性的解释能力,越接近1代表模型越能解释数据的底层逻辑
    3. 多项式拟合时用到的拟合工具:Python pylab库函数,polyfit(求n次多项式系数,如n=1求直线系数)、polyval(根据模型计算预测值)
  2. 模型选择的关键矛盾:拟合优度与泛化能力
    1. 高阶模型的 “虚假优势” – 虽然在案例中的16 次多项式在训练数据上的R^2最高,但其并不能代表模型对新数据的适配能力(即泛化能力)
      1. 矛盾现象的根本原因:源于训练误差的局限性 – 训练误差仅反映模型在训练数据上的表现
      2. 过度拟合的本质:当模型复杂度(如多项式次数)过高时,会 “拟合噪声而非数据底层规律”
  3. 泛化能力的评估方法:交叉验证
    1. 核心逻辑:将数据分为训练集与测试集,用训练集构建模型后,在测试集上验证性能,测试误差更能反映泛化能力,且通常大于训练误差。
    2. 常用交叉验证策略:
      1. 留一法(Leave-one-out):适用于小数据集,每次从原始数据中剔除 1 个样本作为测试集,剩余作为训练集,重复所有样本后取测试结果平均值。
      2. k 折交叉验证(k-fold):适用于大数据集,将数据划分为 k 个等规模子集,每次用 k-1 个子集训练,1 个子集测试,循环 k 次后评估。
      3. 重复随机抽样验证:每次从数据中随机抽取 20%-50% 作为测试集,剩余为训练集,重复 k 次后取平均结果,降低随机划分带来的偏差。
  4. 模型复杂度的平衡策略
    1. 理论指导优先若存在明确理论(如胡克定律表明弹簧受力与位移呈线性关系),即使高阶模型(如二次多项式)在训练数据上R^2更高,仍应优先选择符合理论的模型
    2. 无理论时的搜索流程:
      1. 从低复杂度模型(如 1 次多项式)开始,在训练集上拟合
      2. 在测试集上验证并记录R^2
      3. 逐步提升模型复杂度,重复拟合与验证
      4. 当测试集R^2开始下降时,停止提升复杂度,选择此前最优模型
  5. 课程核心结论
    1. 线性回归的价值:可用于构建从自变量到因变量的映射模型,实现对未知数据的预测,但需结合模型复杂度控制
    2. R^2的合理使用:R^2是评估模型拟合优度的重要指标,但 “更高的R^2” 不代表 “更优模型”,需警惕过度拟合导致的泛化能力下降
    3. 模型选择三原则:
      1. 优先参考数据底层理论(如物理定律、业务逻辑)
      2. 用交叉验证验证模型泛化能力
      3. 在性能相近时,选择更简单的模型

概率

  1. Number systems(数字系统):
    1. natural numbers ℕ,integers ℤ,rational numbers ℚ,real numbers ℝ
  2. Closure(闭包):
    1. Definition:Let 𝑋 be a set of numbers. We say that 𝑋 is:
      1. closed under addition(加法封闭) if 𝑥 + 𝑦 ∈ 𝑋 whenever 𝑥,𝑦 ∈ 𝑋
      2. closed under multiplication(乘法封闭) if 𝑥𝑦 ∈ 𝑋 whenever 𝑥,𝑦 ∈ 𝑋
      3. closed under subtraction(减法封闭) if 𝑥 − 𝑦 ∈ 𝑋 whenever 𝑥,𝑦 ∈ 𝑋
      4. closed under division(除法封闭) if 𝑥/𝑦 ∈ 𝑋 whenever 𝑥,𝑦 ∈ 𝑋 and 𝑦 ≠ 0
    2. 注意:要证明一个集合在某个运算下不是闭的,只要给出一个精心挑选的例子(反例)就足够了。但要证明它是闭包的,则需要一个一般的论证
    3. 一个严格的证明必须从定义开始
  3. Permutations(排列)
    1. Definition:A permutation of objects is an arrangement of these objects in a row in some order
    2. Theorem 1:The number of permutations, or ordered arrangements, of 𝑛 distinct objects is 𝑛(𝑛 − 1)(𝑛 − 2) ⋯ 2 ⋅ 1 = 𝑛!
    3. Theorem 2:If 𝑛 objects consisting of 𝑐 classes of identical objects with size 𝑛1 , 𝑛2 , ⋯ , 𝑛C such that 𝑛1 + 𝑛2 + ⋯ + 𝑛C = 𝑛 , then the number of permutations of these 𝑛 objects is:𝑛! / 𝑛1!𝑛2!···𝑛C!
      1. 多重集合的排列数公式的理解:如果n个元素完全不同,那么它们的排列数是 n!。现在的情况是:n个元素分为c类,同类元素完全相同,第i类有ni个元素,此时,“同类元素的重复” 会导致 “原本不同的排列被算成了相同的”,所以要除以每一类重复元素内部的排列数
    4. Theorem 3:The number of permutations, or ordered arrangements, of 𝑛 distinct objects taken 𝑟 at a time , where 𝑟 ≤ 𝑛, is given by:𝑃(n,r) = n(n-1)(n-2)···(n-r+1) = n! / (n-r)!
  4. Combinations(组合)
    1. Theorem:Suppose we are now interested in the number of subsets of size 𝑟, where 𝑟 ≤ 𝑛, that can be chosen from 𝑛 distinct objects. The order of elements in each subset makes no difference.We denote as C(n,r) = n! / r!(n-r)!
    2. 注意:C(n,r) = C(n,n-r)
  5. Probability of Counting:Permutations and combinations can be used in finding probabilities.

2025.9.16

Summary

  1. 今天把之前做的python的基础语法的笔记复习完了
  2. 今天通过用AI解决了在PyCharm中打开学校Jupyter实验文件运行不了的问题
  3. 找到了一个适合一个人学习的地方

2025.9.15

Overview

  1. 周末总结
  2. 今日收获

周末总结

  1. 录好了需要上交的吉他视频
  2. 带摩羯检查,确认没有问题
  3. 本学期第一次志愿者活动,抓了一只毛发打结非常严重的小狗给剃毛。(就是以后天气热的情况下再也不穿防水服了,差点给我干脱水了,实在太闷热了)
  4. 周日晚上完成了第一周的10km,虽然配速有点慢,不过能跑下来就好

9.15学习收获

  1. 今天开始跟一个系列视频(不看字幕听懂英语剧)
  2. 今天把这周的课件都预习完了

数据科学(统计)

  1. 中心极限定理(CLT)核心结论(在大样本条件下)
    1. 样本均值近似正态分布
    2. 样本均值接近总体均值
    3. 样本均值方差 = 总体方差 / 样本量
  2. 均值标准误差(SEM)
    1. 计算公式:SEM = 总体标准差 / 样本量 ** 1/2
    2. 近似方法:样本量足够大时,用样本标准差代替总体标准差
  3. *基于单个样本估计总体均值的步骤:
    1. 按总体偏度确定样本量
    2. 随机抽取独立样本
    3. 计算样本均值与标准差
    4. 用样本标准差估算SEM
    5. 用SEM构建样本均值的置信区间

概率

  1. 条件概率
    1. P(A|B) = P(A∩B) / P(B) [P(B) != 0]
  2. 乘法原理
    1. P(A∩B) = P(A)P(B|A) = P(B)P(A|B) [P(A) != 0,P(B) != 0]
    2. 链式法则:P(A1 ∩ A2 ∩ ··· ∩ An) = P(A1)P(A2 | A1)P(A3 | A1 ∩ A2) ··· P(An)P(An | A1 ∩ A2 ∩ ··· ∩ An-1)
  3. 全概率公式
    1. 常用应用:将样本空间划分成两个区域,从而有:P(A) = P(A|B)P(B) + P(A|B^)P(B^)
  4. **贝叶斯公式
    1. 常用于:某一情况发生后,两个前提之一发生的概率,P(C|A) = P(A|C)P(C) / [P(A|C)P(C) + P(A|C^)P(C^)]
    2. * 核心思想:在知道某个结果发生后,计算对某一前提发生的概率
  5. 独立事件
    1. 定义:P(A∩B) = P(A)P(B),P(A|B) = P(A),P(B|A) = P(B)
    2. *注意:独立不等于对立,不是一个发生了另一个就不会发生

2025.9.11

Overview

今天学习了Markdown的一些基本语法
Markdown的核心理念是:利用简单的符号在打字的同时完成排版
Markdown的优势:
通用性(是很多知识管理软件的基础,博客、论坛、公众号都原生支持Markdown,.md的文件在任何电脑和系统上都能打开和阅读);
是AI时代的标准沟通语言(AI所输出的内容格式,以及AI提示词的最佳格式);
可以转换成Word、PPT、PDF等主流文件格式

Markdown写法

标题

  1. “#” + 空格 + 一级标题
  2. “##” + 空格 + 二级标题
  3. · · · 以此类推,几个 # 就是几级标题

文字

  1. ** 加粗字 **
  2. * 斜体字 *
  3. *** 加粗斜体字 ***
  4. ` 高亮文字 `
  5. ~~ 删除线文字 ~~

列表

  1. 无序列表: 减号 + 空格 + 列表项
  2. 有序列表: 数字 + 空格 + 列表项号
  3. 任务列表(非原生):
    -[ ] 未完成任务
    -[x] 已完成任务

引用

  1. > 引用内容
  2. >> 嵌套引用
  3. >>> 以此类推

强制换行

第一行 + 两个空格
第二行

分割线

---
(注意:使用分割线要与上下空一行,避免与上下文本产生格式冲突)

链接

  1. 普通链接
    [链接名称](网址)
  2. 直接链接
    <网址>
  3. 锚点链接(当多次用到同一链接时)
    [文字标题][锚点名称]
    文章结尾:
    [锚点名称]:网址

注脚

要添加注脚的文字1[^01]
要添加注脚的文字2[^02]
文章结尾:
[^01]: 注脚内容1
[^02]: 注脚内容2

图片

  1. 只插入图片
    ![图片描述](图片的网络链接、本地的绝对路径或相对路径)
    (*注意:方括号里的文字是当图片显示不出来时会打的文字)
  2. 带链接的图片
    [插入图片的代码格式](链接网址)

表格

| 名字 | 姓氏 | 电子邮箱 |(表头)
| — | — | — |(分割行)
| 名字1 | 姓氏1 | 邮箱1 |(数据内容)
| 名字2 | 姓氏2 | 邮箱2 |

| :— | :—: | —: |(分割行的对齐写法)
| 左对齐 | 居中对齐 | 右对齐 |

代码

  1. 行内代码
    文字 `代码1` 文字 `代码2`
  2. 代码块
    ```代码类型
    代码内容
    ```

2025.9.10

Overview

今天跟随视频一步步搭建了属于自己的博客,我把整个过程以及所学记录下来

流程

安装hexo

  1. 安装nodejs
  2. 打开终端并切换到root用户(输入了 sudo su)
    • 该过程中打开 设置 -> 系统 -> 开发者选项 -> 开启“启用Sudo” -> 选择运行模式“内联”
    • 之后重启终端 -> 输入sudo whoami -> 显示 laptop-lv27uskg\admin【表示当前以管理员权限执行了命令(laptop-lv27uskg 是我的计算机名,admin 是我的用户名),这说明 sudo 配置生效了。】
  3. 终端输入 node -v 和 npm -v(查看版本)
    • 输入npm -v后显示:
1
2
3
4
5
6
 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ npm -v
+ ~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
- 终端输入:Get-ExecutionPolicy,显示:Restricted
- 终端输入:Set-ExecutionPolicy RemoteSigned
- 再次执行 Get-ExecutionPolicy,确认显示为 RemoteSigned
- 上面的步骤设置允许运行本地创建的脚本,同时对从网络下载的脚本进行安全检查,是比较平衡的安全策略。
  1. 终端输入:npm install -g cnpm –registry=https://registry.npmmirror.com
    • 安装成功,接下来就可以使用 cnpm 命令来替代 npm 进行包管理了
  2. 终端输入:cnpm install -g hexo-cli
    • 安装好hexo了
  3. 在E盘创建blog文件夹,并通过终端cd操作将路径改到创建好的blog文件夹
  4. 终端输入:sudo hexo init, 报错:
1
2
3
4
5
6
7
INFO  Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
'git' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
WARN git clone failed. Copying data instead
FATAL Something's wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html
Error: EPERM: operation not permitted, mkdir 'E:\'
at async Object.mkdir (node:internal/fs/promises:860:10)
- 报错原因是缺少 Git 环境
- 通过Git 官网 下载 Windows 版本
  1. 再次输入:sudo hexo init
    • 此时Hexo 已经成功初始化完成,现在博客项目基础框架已经搭建好了
    • 输入:ls (查看当前目录下的文件)

将博客部署到远端的GitHub上公开使用

  1. 创建并登录GitHub账号
  2. 创建一个仓库(repository)
    • 注意:创建仓库时起的名字必须符合格式:名字.github.io
  3. 终端在blog文件路径下输入:cnmp install –save hexo-deployer-git
  4. 终端输入:notepad _config.yml, 打开文件后修改最下面的Deployment部分:
1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: 'git'
repo: https://github.com/Maverick-Yza/Maverick-Yza-github.io.git
branch: master
  1. 终端输入:hexo d (部署到远端)

过程所学

  1. 打开终端输入的左边显示的是你当前操作所在的路径
    1. cd 后跟你想更改的路径
    2. pwd —— 查看当前路径
  2. 每次更新完博客后需要在终端输入:hexo clean、hexo g、hexo d。使其保存并部署到远端

Game_On

这既是结束亦是开始

今天通过跟随一个视频一步步搭建了属于我的博客,虽然过程中只是盲目的跟随人家的脚步,都不知道自己做的这些每一步都有什么用,但是过程中我也收获了很多,在此之前没有怎么用过电脑的终端,每次打开电脑终端总觉得自己不可能看得懂这一行行的代码,但是今天通过搭建博客我渐渐能看懂一些了,就像:pwd-查看当前路径;cd-进入某个盘和文件中···。我开始对这些代码感兴趣了。

我计划将此博客作为我蜕变的见证,我将会在学习、生活、社交等每一个方面提升自己,只为不辜负那些支持与信任。所以我会在此博客中发布一系列有关我提升种子,相信总有一天会收获相应的花朵。