タグ付けされた質問 「loss-function」

5
コスト関数が二乗誤差を使用するのはなぜですか?
機械学習を始めたばかりで、これまでは1つの変数に対する線形回帰を扱ってきました。 私は仮説があることを学びました。それは: hθ(x)=θ0+θ1xhθ(x)=θ0+θ1xh_\theta(x)=\theta_0+\theta_1x パラメータのための良好な値を調べるにはθ0θ0\theta_0とθ1θ1\theta_1、私たちは、計算結果と我々のテストデータの実際の結果との間の差を最小限にしたいです。だから我々は引きます hθ(x(i))−y(i)hθ(x(i))−y(i)h_\theta(x^{(i)})-y^{(i)} 1からmまでのすべてのに対して。したがって、この差の合計を計算し、合計に1を掛けて平均を計算しますiii111mmm1m1m\frac{1}{m}。ここまでは順調ですね。これは次の結果になります。 1m∑mi=1hθ(x(i))−y(i)1m∑i=1mhθ(x(i))−y(i)\frac{1}{m}\sum_{i=1}^mh_\theta(x^{(i)})-y^{(i)} しかし、これは提案されたものではありません。代わりに、コースは差の二乗値を取得し、1を掛けることを提案します。したがって、式は次のとおりです。12m12m\frac{1}{2m} 12m∑mi=1(hθ(x(i))−y(i))212m∑i=1m(hθ(x(i))−y(i))2\frac{1}{2m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 何故ですか?なぜここで二乗関数を使用し、なぜ1を乗算するのかの代わりに112m12m\frac{1}{2m}?1m1m\frac{1}{m}

4
ノイズ対照推定(NCE)損失の直感的な説明?
これら2つのソースからNCE(候補サンプリングの形式)について読みました。 テンソルフローの評価 オリジナルペーパー 誰かが次のことで私を助けることができます: NCEの仕組みの簡単な説明(上記を解析して理解するのは難しいことがわかったので、そこに提示された数学につながる直感的なものは素晴らしいでしょう) 上記のポイント1の後、これがネガティブサンプリングとどのように異なるかについての自然に直感的な説明。数式にわずかな変更があることがわかりますが、数学を理解できませんでした。ネガティブサンプリングのコンテキストでの直感的な理解はありword2vecます。ボキャブラリーからランダムにいくつかのサンプルを選択し、Vそれらのみを更新するため|V|、サイズが大きくなり、高速化が実現します。間違っている場合は修正してください。 どちらをいつ使用するか、どのように決定されますか?例を含めることができれば素晴らしいと思います(アプリケーションを理解しやすいかもしれません) NCEはネガティブサンプリングより優れていますか?どのような方法で良いですか? ありがとうございました。

1
xgboostがsklearn GradientBoostingClassifierよりもずっと速いのはなぜですか?
私は、100個の数値特徴を備えた50kの例で勾配ブースティングモデルをトレーニングしようとしています。XGBClassifier一方、私のマシンで43秒以内に、ハンドル500本の木、GradientBoostingClassifierハンドルのみ10樹木(!)1分2秒:(私は気にしませんでしたでは、それは時間がかかるだろうと500本の木を育てるしようとしている。私は、同じ使用していますlearning_rateし、max_depth設定を、 下記参照。 XGBoostがこれほど速くなったのはなぜですか?sklearnの人が知らない勾配ブースティングのためのいくつかの新しい実装を使用していますか?それとも、「角を切り」、より浅い木を育てるのですか? PS私はこの議論を知っています:https : //www.kaggle.com/c/higgs-boson/forums/t/10335/xgboost-post-competition-surveyが、そこに答えを得ることができませんでした... XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0, learning_rate=0.05, max_delta_step=0, max_depth=10, min_child_weight=1, missing=None, n_estimators=500, nthread=-1, objective='binary:logistic', reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=0, silent=True, subsample=1) GradientBoostingClassifier(init=None, learning_rate=0.05, loss='deviance', max_depth=10, max_features=None, max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=10, presort='auto', random_state=None, subsample=1.0, verbose=0, warm_start=False)
29 scikit-learn  xgboost  gbm  data-mining  classification  data-cleaning  machine-learning  reinforcement-learning  data-mining  bigdata  dataset  nlp  language-model  stanford-nlp  machine-learning  neural-network  deep-learning  randomized-algorithms  machine-learning  beginner  career  xgboost  loss-function  neural-network  software-recommendation  naive-bayes-classifier  classification  scikit-learn  feature-selection  r  random-forest  cross-validation  data-mining  python  scikit-learn  random-forest  churn  python  clustering  k-means  machine-learning  nlp  sentiment-analysis  machine-learning  programming  python  scikit-learn  nltk  gensim  visualization  data  csv  neural-network  deep-learning  descriptive-statistics  machine-learning  supervised-learning  text-mining  orange  data  parameter-estimation  python  pandas  scraping  r  clustering  k-means  unsupervised-learning 

2
Sparse_categorical_crossentropy vs categorical_crossentropy(keras、精度)
どちらが正確性のために優れていますか、それとも同じですか?もちろん、categorical_crossentropyを使用する場合は1つのホットエンコーディングを使用し、sparse_categorical_crossentropyを使用する場合は通常の整数としてエンコードします。また、一方が他方より優れているのはいつですか?

2
回転角のパラメーター化回帰
矢印のトップダウン画像があり、この矢印が作る角度を予測したいとします。これは間であろう及び度、又は間にと。問題は、このターゲットが円形であり、度と度がまったく同じであるということです。これは、ターゲットに組み込む不変性であり、一般化に大きく役立つはずです(これは私の仮定です)。問題は、これを解決する明確な方法が見当たらないということです。この問題(または同様のもの)に取り組む試みの論文はありますか?私はそれらの潜在的な欠点についていくつかのアイデアを持っています。0003603603600002π2π2\pi000360360360 、シグモイド又はTANH活性化を使用する(それをスケーリング0,2π)0,2π)0, 2\pi)の範囲と損失関数に円形のプロパティを組み込みます。境界線上にある場合(最悪の予測)、わずかなノイズのみが重みを何らかの方法で押し上げるため、これはかなり難しいと思います。また、近い方の境界に値000と2π2π2\pi絶対事前活性値が無限大に近いことが必要となるため、到達するのがより困難になります。 と 2つの値に回帰し、これらの2つの値がなす角度に基づいて損失を計算します。これにはもっと可能性があると思いますが、このベクトルの標準には制限がなく、数値の不安定性につながり、トレーニング中に爆発するか0になる可能性があります。これは、この規範が1から離れすぎないようにするために、奇妙なレギュラーを使用することで解決できる可能性があります。xxxyyy 他のオプションはサイン関数とコサイン関数で何かをすることですが、複数の事前アクティベーションが同じ出力にマッピングされると、最適化と一般化も非常に難しくなると思います。

3
不均衡データのTensorflow Adjusting Cost Function
非常に不均衡なデータの分類問題があります。過剰サンプリングと過少サンプリング、および過小評価されているカテゴリカル出力のコストを変更すると、より適切なフィッティングにつながることを読んだことがあります。これが行われる前は、テンソルフローは各入力を大多数のグループとして分類します(そして、90%を超える精度、つまり、意味がありません)。 各グループの逆パーセンテージの対数が、私が試した中で最高の乗数になったことに気づきました。コスト関数のより標準的な操作はありますか?これは正しく実装されていますか? from collections import Counter counts = Counter(category_train) weightsArray =[] for i in range(n_classes): weightsArray.append(math.log(category_train.shape[0]/max(counts[i],1))+1) class_weight = tf.constant(weightsArray) weighted_logits = tf.mul(pred, class_weight) cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(weighted_logits, y)) optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)

3
数学の畳み込みとCNNの関係
畳み込みの説明を読んである程度理解しました。誰かがこの操作がたたみ込みニューラルネットのたたみ込みにどのように関連しているかを理解するのを手伝ってくれませんか?gウェイトをかけるフィルターのような機能ですか?
10 machine-learning  neural-network  deep-learning  cnn  convolution  machine-learning  ensemble-modeling  machine-learning  classification  data-mining  clustering  machine-learning  feature-selection  convnet  pandas  graphs  ipython  machine-learning  apache-spark  multiclass-classification  naive-bayes-classifier  multilabel-classification  machine-learning  data-mining  dataset  data-cleaning  data  machine-learning  data-mining  statistics  correlation  machine-learning  data-mining  dataset  data-cleaning  data  beginner  career  python  r  visualization  machine-learning  data-mining  nlp  stanford-nlp  dataset  linear-regression  time-series  correlation  anomaly-detection  ensemble-modeling  data-mining  machine-learning  python  data-mining  recommender-system  machine-learning  cross-validation  model-selection  scoring  prediction  sequential-pattern-mining  categorical-data  python  tensorflow  image-recognition  statistics  machine-learning  data-mining  predictive-modeling  data-cleaning  preprocessing  classification  deep-learning  tensorflow  machine-learning  algorithms  data  keras  categorical-data  reference-request  loss-function  classification  logistic-regression  apache-spark  prediction  naive-bayes-classifier  beginner  nlp  word2vec  vector-space-models  scikit-learn  decision-trees  data  programming 

2
大きな変動を示す検証。原因は何でしょうか?
3クラスの画像分類問題のためにCNNをトレーニングしています。トレーニングの損失はスムーズに減少しました。これは予想される動作です。しかし、私の検証損失は多くの変動を示しています。 これは私が心配する必要があることですか、それともパフォーマンス測定(精度)で最高のスコアを得るモデルを選択するだけですか? 追加情報: PyTorchのImageNetデータで事前トレーニングされたResnet-18の最後のレイヤーを微調整しています。データが非常に不均衡であるため、トレーニングフェーズに加重損失関数を使用していることに注意する必要があります。ただし、損失をプロットするために、検証とトレーニング損失を比較できるように、重み付けされていない損失を使用します。私は、重み付けされていない損失を使用します。トレーニングデータセットと検証データセットの分布が多少異なるというわけではありません(ただし、どちらも非常に不均衡です)。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.