李宏毅ML笔记1:课程介绍

被考试拖着好久没能看专业课东西了,终于可以开始了.而且还有了宝藏老师指导,要加油啊,变成大佬!

P1的主要思想--机器学习的三个步骤, 与这三步分别用不同的路径实现, 以此对主流模型分类

目录

课程介绍

想找什么样的函式(给定function set)

告诉机器要找什么函式(估计function好坏)

机器怎么找函式(找到最好的function)

前沿研究

一般规则

Google Drive 檔案存取


课程介绍

15个作业,角越多作业越难,有外框需要上传到kaggle

李宏毅ML笔记1:课程介绍_第1张图片

老师主页:

ML 2020 Spring

https://www.youtube.com/watch?v=CXgbekl66jc&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49

https://www.youtube.com/playlist?list=PLJV_el3uVTsOK_ZK5L0Iv_EQoL1JefRL4

助教黃健祐 Chien-yu Huang信箱:[email protected]

官网课程列表:

https://www.youtube.com/watch?v=CXgbekl66jc&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49

New Optimizers for Deep Learning助教补充课, 在深度学习/训练神经网络时候常用到的优化方法

机器学习=自动找函式(映射)

早上听了贾静平老师讲课, 在互动过程中, 确实发现自己之前学的时候有一些概念混淆与漏洞. 对于机器学习的3步骤:

1.写出假设函数(带有未知参数的函式)(一元线性、多元线性、对数几率)

2.定义误差函数(最小二乘法、极大似然估计或MAP最大后验概率估计或拉格朗日乘子法)

3.最优化(找到最好的一组参数使得误差最小)(梯度下降算法)

我将误差函数(极大似然估计)与最优化方法(梯度下降)混淆了.

监督(9个经典算法)+非监督(1个经典算法)+强化学习

监督学习根据响应划分为: 分类(类属响应)/回归(实数响应)

如对率回归是分类算法, 用连续函数模拟分段类属.

非监督: 无响应, 划分为簇

监督学习按类别数划分: 2分类(响应值只有2类), 多分类-multiclass(类别间互斥)/multi-label(类别间不互斥)

想找什么样的函式(给定function set)

Regression(回归) ->输出数值scalar(标量)

Classification和RNN->输出结果binary(T/F,pos/neg)

CNN->multiple class多分类(N个选项中选)

Seq2seq(产生文句)和GAN(二次元图像)->Generation(生成)复杂的东西

告诉机器要找什么函式(估计function好坏)

Supervised Learning监督学习:给出答案,有Labeled Data(标注),机器评估函式的Loss(损失函数-好坏),自动找出Loss最低的函式。(Regression、Classification、RNN、CNN、Seq2seq)

Reinforcement Learning强化学习:根据输赢给出Reward引导学习方向

Unsupervised Learning:数据没有标注(Auto-encoder、GAN)

机器怎么找函式(找到最好的function)

给定寻找范围

Regression、Classification考虑Linear

RNN、CNN考虑Neural Network: RNN循环神经网络-在Seq2seq用,CNN卷积神经网络(用处超多)

范围中寻找的的方法

主要Gradient Descent梯度下降

Regression和Classification要自己实现梯度下降算法,其他的用pytorch的深度学习框架实现

前沿研究

Explainable AI(可解释的)

Adversarial Attack对抗攻击(奇奇怪怪的杂讯、噪声)

Network Compression(模型学习网络太大了,压缩一下)

Anomaly Detection异常检测(知道‘我不知道’)

Transfer Learning迁移学习(Domain Adversarial Learning)一般训练资料和测试资料分布同,但实际情况往往差异很大

Meta Learning元学习(Learn to learn老套娃了)用一个程式自己写另一个程式

Life-long Learning持续学习

一般规则

这个视频有装环境示范哦

1. Environment

Linux或macOS

Python3.6.8

用pyenv管理python版本

想偷懒用anaconda,结果navigator突然打不开了= =,报错

2021-04-05 21:48:39,141 - ERROR download_api._get_url:417

Expecting value: line 1 column 1 (char 0)

Traceback (most recent call last):

  File "D:\ProgramData\Anaconda3\lib\site-packages\anaconda_navigator\widgets\main_window.py", line 499, in setup

    self.post_setup(conda_data=conda_data)

  File "D:\ProgramData\Anaconda3\lib\site-packages\anaconda_navigator\widgets\main_window.py", line 536, in post_setup

    self.tab_home.setup(conda_data)

  File "D:\ProgramData\Anaconda3\lib\site-packages\anaconda_navigator\widgets\tabs\home.py", line 169, in setup

    self.set_applications(applications, packages)

  File "D:\ProgramData\Anaconda3\lib\site-packages\anaconda_navigator\widgets\tabs\home.py", line 204, in set_applications

    apps = self.api.process_apps(applications, prefix=self.current_prefix)

  File "D:\ProgramData\Anaconda3\lib\site-packages\anaconda_navigator\api\anaconda_api.py", line 903, in process_apps

    versions=[vsdata.get('productVersion')],

AttributeError: 'str' object has no attribute 'get'

解决办法

anaconda3\Lib\site-packages\anaconda_navigator\api\conda_api.py 1364 data = yaml.load(f) 改为 data = yaml.safeload(f)

创建环境

conda create --name LeeML python=3.6.8

环境切换

activate env_name

安装指定包

conda install tensorflow-gpu==1.4.0

创建环境失败,可能需要换镜像

https://blog.csdn.net/hdq1745/article/details/105105728

conda config --add channels Index of /anaconda/pkgs/free/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

conda config --set show_channel_urls yes

还是有毛病诶,可能anaconda坏了,更新一下试试

Anaconda如何升级到新版? - 知乎

好像conda也坏了…

偷懒不了了,但是VMware太占空间了,不想用. VirtualBox试试?

Ubuntu20.4镜像有2.7个G, 到底是一个操作系统啊, 太大了, 想念anaconda了, 安装包才457M, 还是重装anaconda了

https://blog.csdn.net/lagoon_lala/article/details/88638121

成功了,搭了个3.6.8的环境

2. Kaggle

可以注册,用到谷歌的人机识别,国内不太好弄呢,喊大佬帮我搞了一下

该课程用到其中的in-class competition,找到了NTU ML2017 Spring HW4不过桑心的是,显示: This is a limited-participation competition. Only invited users may participate.

3. GitHub

所有作業的繳交都是透過 GitHub Classroom 來完成。但貌似是需要邀请码才能加入教室,登入https://classroom.github.com/a/-R9ZkKDU页面已经404了

5. Contact TAs

若對作業或課程規定有任何問題,你可以

•將疑問張貼於FB社團,你的問題也可能是別人的問題。

•寫信至 [email protected],並請記得於標題以[ hwX] 註明作業編號。-舉例來說,作業三的問題就必須用[ hw3]作為信件標題開頭。

Facebook groups李宏毅ML笔记1:课程介绍_第2张图片

我没有扫哦,听完课会感觉自己说话有点湾湾腔

Google Drive 檔案存取

https://colab.research.google.com/drive/1i41Whco5KIb7EuntKYwTVORAkAwCmlkF

透過 Google 提供的套件,我們可以讓 Colab 上的程式直接讀取自己的雲端硬碟。 這個方法的好處是只要檔案存在於自己的雲端硬碟,就隨時都可以直接存取;相對地,缺點就是使用者得手動將檔案加入,並且在程式運行時要輸入連結 Google Drive 所需要的授權碼

# OpenCV 套件,和 Google Drive 無關

import cv2

# import Google Drive 套件

from google.colab import drive

將自己的雲端硬碟掛載上去

drive.mount('/content/gdrive')

透過 gdrive/My Drive/... 來存取檔案

img = cv2.imread('gdrive/My Drive/Minori.jpg')

你可能感兴趣的:(人工智能,机器学习)