逐語https://www.dazhuanlan.com/2019/08/26/5d62fe3eea881/
定義:
Microsoft Windows用のオクターブ
- ソフトウェアは、主に良い、使用中の数値解析、機械学習初心者のために使用されています
- ダウンロード:オクターブ公式サイト
- ダウンロード
- インストーラをダウンロードした後を続けて
next
インストールを完了することができ
PSは、どのバージョンをダウンロードすることができますが、ダウンロードしないでOctave 4.0.0
、このバージョンでは、主要なバグがあります
監視つきlearing(教師あり学習)
- 定義:発生する可能性のある入力の出力の機能を予測するため、予め標識した後、トレーニング例(入力と期待出力)を学ぶための機械
-
出力機能は、2つのカテゴリに分けることができます。
- 回帰分析(回帰):例えば出力連続値、:レート
- 分類(分類):例えば、分類ラベルを出力:またはなし
教師なしlearing(教師なし学習)
- 定義:以前のラベル付き訓練例与えられていない、データを自動的に分類し入力するか、またはグループ化されました
-
一般的に、クラスタリングで使用される、アプリケーションの2つの種類があります。
- クラスタリング(クラスタリング):データ・セットは、いくつかのサンプルに分割され、通常、例えば、互いに素な部分集合である:ニュースの異なるクラスに分類さ
- 非クラスタリング(非クラスタ):例えば:カクテルアルゴリズム、雑音からの有効なデータを含むデータを検索し、音声認識を使用することができます
線形回帰アルゴリズム(線形回帰)
-
hθ(x) = θ₀ + θ₁x₁
:線形回帰式 -
m
:データの量 -
x⁽ⁱ⁾
:私は私-ペンデータを表し、
コスト関数(コスト関数)
- コスト関数を計算
1 |
function J = costFunctionJ(X, y, theta) |
- 在 Octave 上的代价函数函数
- 找出代价函数的最小值,来找出 θ₀、θ₁
使用梯度下降 ( Gradient descent ) 将函数 J 最小化
- 初始化 θ₀、θ₁ ( θ₀=0, θ₁=0 也可以是其他值)
- 不断改变 θ₀、θ₁ 直到找到最小值,或许是局部最小值
- 梯度下降公式,不断运算直到收敛,θ₀、θ₁ 必须同时更新
- α 后的公式其实就是导数 ( 一点上的切线斜率 )
- α 是 learning rate
- 正确的算法
- 错误的算法,没有同步更新
1 |
function [theta, J_history] = gradientDescent(X, y, theta, alpha, num_iters) |
- 在 Octave 上的梯度下降函数
Learning Rate α
- α 是 learning rate,控制以多大幅度更新 θ₀、θ₁
- 决定 α 最好的方式是随着绝对值的导数更新,绝对值的导数越大,α 越大
- α 可以从 0.001 开始 ( 每次 3 倍 )
- α 太小 : 收敛会很缓慢
- α 太大 : 可能造成代价函数无法下降,甚至无法收敛
结合梯度下降与代价函数
- 将代价函数带入梯度下降公式
- 以所有样本带入梯度下降公式不断寻找 θ₀、θ₁,在机器学习里称作批量梯度下降 ( batch gradient descent )
多特征线性回归 ( Linear Regression with multiple variables)
-
hθ(x) = θ₀x₀ + θ₁x₁ + θ₂x₂ + ... + θₙxₙ
: 多特征线性回归算式,x₀ = 1 -
n
: 特征量
使用梯度下降解多特征线性回归
- 相较于一元线性回归,只是多出最后的 xⱼ
- 拆开后
特征缩放 ( Feature Scaling ) 与均值归一化 ( Mean Normalization )
- 目的 : 加快梯度下降,因为特征值范围相差过大会导致梯度下降缓慢
-
sᵢ
: 特征缩放,通常使用数值范围 -
μᵢ
: 均值归一化,通常使用数值的平均
1 |
function [X_norm, mu, sigma] = featureNormalize(X) |
- 在 Octave 上的特征缩放与均值归一化函数
多项式回归 ( Polynomial Regression )
- 我们可以结合多种有关的特征,产生一个新的特征,例如 : 房子长、宽结合成房子面积
- 假如线性的 ( 直线 ) 函数无法很好的符合数据,我们也可以使用二次、三次或平方根函数 ( 或其他任何的形式 )
正规方程 ( Normal Equation )
X = 各特征值
y = 各结果
- 算式 :
(XᵀX)⁻¹Xᵀy
- Octave :
pinv(X'*X)*X'*y
1 |
関数θ= normalEqn(X、Y) |
- オクターブ上の正規方程式機能
オクターブでは、通常、どこpinv
の代わりにinv
、使用するのでpinv
さえXᵀX
不可逆的、あるいはθの値が得られます
-
XᵀX
不可逆的な理由:- 独立した冗長特徴値
- 過度の固有値(M <= N)、またはいくつかの正則化を削除します
通常の方程式対勾配降下
-
勾配降下
-
利点:
- 大きな特徴とすると、正常に動作することができます
- O(kn²)
-
短所:
- あなたは、αを選択する必要があります
- これは、一定の反復を必要とし
-
-
正規方程式
-
利点:
- αを選択する必要はありませ
- 反復なし
-
短所:
- 特徴量が大きい場合の動作(XᵀX)⁻¹ため、それは(nは> 10000)の計算に多くの時間を取ることができます
- O(n³)
-